86100D and N1010A FlexDCA Help

86100D / N1010A FlexDCA Help v5.40

User's Guide

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New

This help system applies to the 86100D, N1010A FlexDCA software, and M-series products.

The 86100D DCA-X Wide-Bandwidth Oscilloscope is a modular platform that provides accurate and precise measurements on high-speed digital designs from 50 Mb/s to more than 80 Gb/s. Configure the 86100D DCA-X mainframe by selecting from a variety of plug-in modules that perform precision optical, electrical, and TDR/TDT measurements. Select specific modules to obtain the desired bandwidth, filtering, and sensitivity that match your measurement needs.

  • Top 13 features
  • Time-Saving Features and Controls
  • FlexDCA Ecosystem

Instrument modes

  • Oscilloscope Mode
  • Eye/Mask Mode
  • Jitter/Noise Mode
  • TDR/TDT Mode

Programming

  • Introduction
  • Quick Start Guide
  • FlexEye Parallel Eye Analysis
  • Python 3.4 and 2.7 Examples

Instrument configuration

  • Instrument settings
  • Channels and Module Slots
  • Multi-Purpose Button
  • Documentation Wizard
  • PAM-4 measurements

Locating help topics

  • By display feature
  • By front and rear panels
  • By menus
  • By subject matter

Other

  • Waveform Content Windows
  • User-Defined Measurements
  • User-Defined Operators
  • Applications
  • Signal Processing
  • Navigating Help
  • Glossary
  • Messages
  • Trademarks
  • Technical Support

© Keysight Technologies, 2000-2016
Version 5.40, May 2016


86100D Configurations

Hardware

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • 86100D
  • N1010A
  • M-Series
  • Architecture

86100D Configurations

Modules Supported

Click here to learn the configuration modes supported for each module.

This help system documents using the 86100D front panel, GUI, and remote programming in both Standard and Compatibility configurations. The 86100D can be operated in any of three configurations: Standard, Compatibility, or Legacy. Standard is the default configuration and you'll probably never need to use the other configurations. To program the 86100D in Legacy configuration, use the commands that are documented in the 86100D A/B/C/D Programmer's Guide.

Standard is the 86100D's default configuration at start up. It is also the recommended and default configuration when FlexDCA is running on a PC. Standard configuration allows you to use the new one-slot mini modules and TDR/TDT mode. Many of the 86100D's two-slot modules are also supported.

Be aware that when the 86100D is turned on it automatically starts in the configuration mode that was active when the instrument was last turned off. If this happens, you can return the FlexDCA GUI on the 86100D by clicking Apps > FlexDCA.

Compatibility configuration provides a FlexDCA GUI that support all of the two-slot modules. However, Compatibility configuration:

  • Does not support new one-slot mini modules
  • Does not support TDR mode
  • Is available on N1010A FlexDCA that is installed on a PC.

To start Compatibility configuration on the 86100D, click File > Exit and on the Windows Start menu click All Programs > Keysight FlexDCA > FlexDCA (Compatibility Mode). To return to Standard configuration, return to the Windows Start menu and click FlexDCA.

Legacy configuration supports some features that are unavailable in Standard configuration. For example, Legacy configuration supports RZ eye measurements and all 86100D standard two-slot modules (but not the new one-slot mini modules). However, extended modules, simulated modules, waveform signal processing, and Jitter Spectrum Analysis and Clock Recovery Emulation are unavailable. To place the 86100D in Legacy configuration, click Apps > Legacy UI. To return to Standard configuration, click Apps > FlexDCA.

Feature Comparison Between Configurations
Feature | Configuration
 | Standard | Compatibility | Legacy
86100D Graphical User Interface
FlexDCA | ♦ | ♦ |
Classic |  |  | ♦
86100D Programming
Via FlexDCA SCPI Commands | ♦ | ♦ |
Via Legacy 86100D SCPI Commands |  |  | ♦
Remote Connection
Telnet | ♦ | ♦ |
Sockets | ♦ | ♦ |
HiSLIP | ♦ | ♦ |
VXI-11 | ♦ |  |
GPIB | ♦ |  | ♦
Module Types
Mini Modules | ♦ |  |
Two-Slot Modules | ♦ (reduced set) | ♦ (full set) | ♦ (full set)
Internal 86100D Modules
Slots 1, 2, 3, 4 Reserved | ♦ |  | ♦
Slots 1, 2, 3, 4 Available |  | ♦ |
Extended Modules
Slots 1, 2, 3, 4 Available |  | ♦ |
Slots 5, 6, 7, 8 Available | ♦ | ♦ |
Simulated Modules | ♦ | ♦ |
N1090A DCA-M Single Optical Channel Sampling Oscilloscope | ♦ | ♦ |
N4877A CDR External Instrument | ♦ | ♦ |
Calibration
Module (Vertical, Clock Recovery, Precision Timebase) | ♦ | ♦ | ♦
Dark (Extinction Ratio) | ♦ | ♦ | ♦
Optical (O/E) |  |  | ♦
Horizontal Skew | ♦ | ♦ | ♦
Probe | ♦ | ♦ | ♦
Other
Waveform Signal Processing | ♦ | ♦ |
Jitter Spectrum Analysis and Clock Recovery Emulation (JSA) | ♦ | ♦ |
DCA-X Applications | ♦ | ♦ |
Differential Deskew Adjust | ♦ | ♦ | ♦
Fixture Deskew Adjust | ♦ | ♦ |
Probe Setup | ♦ |  | ♦
SIRC (System Impulse Response Correction) | ♦ | ♦ |
Undo, Redo, and History | ♦ | ♦ |
TDR Measurements | ♦ |  | ♦
RZ Eye Measurements |  |  | ♦
Graphical NRZ Mask editor |  |  | ♦
Jitter Mode Frequency Results |  |  | ♦
Jitter Mode SRJ Spectrum |  |  | ♦
Jitter Mode PJ Waveforms |  |  | ♦
MATLAB filters and measurements |  |  | ♦
External trigger scaling |  |  | ♦
Gated Trigger |  |  | ♦
Printing |  |  | ♦
Waveform labels | ♦ |  | ♦


Modules Supported in Each Configuration

Configurations Support for Modules
Module Support | Configuration
 | Standard | Compatibility | Legacy
 | Minimum FlexDCA Firmware Version | Minimum FlexDCA Firmware Version | Minimum Legacy Firmware Version
N4877A Clock/Data Recovery and Demultiplexer | A.02.00 | not supported | not supported
N1092A/B/D DCA-M Optical Sampling Oscilloscope | A.05.40 | not supported | not supported
N1090A DCA-M Single Optical Sampling Oscilloscope | A.05.00 | not supported | not supported
N1055A 30/50 GHz TDR/TDT Remote Sampling Head Module | A.04.00 | not supported | not supported
N1045A Electrical Mini Module | A.02.00 | not supported | not supported
86118A and 86118A-H01 Remote Sampling Head | A.02.00 | A.01.02 | A.01.02
86117B Electrical | A.02.00 | A.01.02 | A.03.03
86117A Electrical | A.02.00 | A.01.02 | A.03.03
86116C Optical/Electrical 86116C-025 86116C-040) | A.02.00 A.02.00 A.02.00 | A.01.02 A.01.02 A.01.02 | A.07.07 A.08.00 A.08.00
86116B Optical/Electrical | not supported | A.01.02 | A.03.04
86116A Optical/Electrical | not supported | A.01.02 | A.03.01
86115D Optical | A.02.00 | A.01.02 | A.09.00
86115B Optical | not supported | A.01.02 | A.03.01
86113A Optical | not supported | A.01.02 | A.03.01
86112A 86112A-HBW | A.02.00 A.02.00 | A.01.02 A.01.02 | A.01.00 A.10.03
86111U Dual Optical | not supported | A.01.02 | A.03.01
86111A Dual Optical | not supported | A.01.02 | A.03.01
86109B Optical/Electrical | not supported | A.01.02 | A.02.20
86109A Optical/Electrical | not supported | A.01.02 | A.01.00
86108B Precision Waveform Analyzer | A.02.00 | A.01.02 | A.10.70
86108A Precision Waveform Analyzer | A.02.00 | A.01.02 | A.08.00
86107A Precision Timebase | A.02.00 | A.01.02 | A.03.01
86106B Optical/Electrical | not supported | A.01.02 | A.02.20
86106A Optical/Electrical | not supported | A.01.02 | A.01.00
86105D Optical/Electrical | A.02.00 | A.01.02 | A.08.10
86105C Optical/Electrical | A.02.00 | A.01.02 | A.04.10
86105B Optical/Electrical | not supported | A.01.02 | A.03.03
86105A Optical/Electrical | not supported | A.01.02 | A.01.00
86103B Optical/Electrical | not supported | A.01.02 | A.03.01
86103A Optical/Electrical | not supported | A.01.02 | A.01.00
86102U Optical/Electrical | not supported | A.01.02 | A.02.20
86102A Optical/Electrical | not supported | A.01.02 | A.03.01
86101A Optical/Electrical | not supported | A.01.02 | A.01.00
83496B Clock Recovery | A.02.00 | A.01.02 | A.07.00
83496A Clock Recovery | A.02.00 | A.01.02 | A.04.20
83495A Clock Recovery | not supported | A.01.02 | A.04.00
83491/2/3/4A Clock Recovery | not supported | A.01.02 | A.03.01
83487A Optical/Electrical | not supported | A.01.02 | A.01.00
83486A Optical/Electrical | not supported | A.01.02 | A.01.00
83485B Optical/Electrical | not supported | A.01.02 | A.01.00
83485A Optical/Electrical | not supported | A.01.02 | A.01.00
83484A Electrical | A.02.00 | A.01.00 | A.01.02
83483A Electrical | not supported | A.01.02 | A.01.00
83482A Optical/Electrical | not supported | A.01.02 | A.01.00
83481A Optical/Electrical | not supported | A.01.02 | A.01.00
54754A Differential TDR/TDT | A.04.00 TDR and electrical | A.04.00 TDR and electrical | A.02.00
54753A Single-Ended TDR/TDT | not supported | A.01.02 electrical only | A.02.00
54752A Electrical | A.02.00 | A.01.02 | A.01.00


N1010A FlexDCA Remote Software

Hardware

  • Home
  • Quick Start
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • 86100D
  • N1010A
  • M-Series
  • Architecture

N1010A FlexDCA Remote Software

This help system documents using the N1010A FlexDCA remote software. The N1010A FlexDCA software runs on a PC and is the same software that runs on an 86100D. You can connect the N1010A FlexDCA software to control:

  • A remote 86100D as described in this topic.
  • DCA-M products (click on DCA-M in the above menu bar).
  • N4877A Clock/Data Recovery and Demultiplexer.

Connecting N1010A to an 86100D

Starting with FlexDCA version A.05.30, N1010A can directly connect to an FlexDCA on an 86100D which allows TDR/TDT mode as well as all mini (one-slot) modules. N1010A FlexDCA is compatible with Windows XP and Windows 7. N1010A FlexDCA does not support Window 8.

AN APPLICATION YOU CAN TRUST

FlexDCA on the 86100D and N1010A FlexDCA for the PC have the same code. As a result, the measurement algorithms are identical. This Help system documents all of these versions.

  1. Click Setup > Configure Extended Modules. Or, click the [image] icon that is displayed to the right of the channel buttons along the bottom of the display.
  2. In the Extended Module Configuration dialog box, click the Hardware tab.
  3. Drag the picture of an 86100D to Slots 1-4 as shown in the following picture.
  4. Click the Setup button to open the FlexDCA Connection Setup dialog box. You can also open this dialog box by clicking Setup > DCA Connection Setup.
  5. In the dialog box, make the following selections:
    6. Connect Using field
    Use to select a LAN or GPIB connection to the 86100D. Most users prefer a LAN connection so this is the default setting. For GPIB, you can use a USB-to-GPIB adapter or install a GPIB card in the PC.
    Hostname field
    This is the computer name of the 86100D or its IP address. On the 86100D, click Help > About and scoll down to the end of the list to locate the computer name.
    DCA Connection Mode field
    Select Standard for most connections. This ensures that you will be able to use the mini (one-slot) modules, such as the N1055A TDR/TDT module as well as TDR/TDT mode. This requires that the version of both 86100D's FlexDCA and the N1010A FlexDCA be greater than A.05.30. It is recommended that they also be the same version. Selecting Compatibility mode allows you to use some older two-slot modules.
    On Connect / Disconnect field (when Standard is selected)
    Pull State from Instrument on Connect
    When Connect is clicked, the instrument state of FlexDCA on the 86100D is copied to N1010A FlexDCA on the PC.
    Push State to Instrument on Disconnect
    When Connect is clicked, the current state of N1010A FlexDCA on the PC is copied to the FlexDCA on the 86100D.
    On Connect / Disconnect field (when Compatibility is selected)
    Restore
    Starts the application with the settings that the application used when it was last closed. The 86100D is set to the same settings.
    Transfer Basic
    Sets the application to the current setting of the 86100D, if connected.
    No Changes
    Preserves the current state of N1010A FlexDCA, including simulated and extended module configuration.
    Default
    Starts the application in its default settings and sets the 86100D to the same settings.
    File
    Starts the application with settings that have been saved to a setup file (.setx). The 86100D is set to the same settings. By default, setup files are saved to the "My Documents/Keysight/FlexDCA/Setups" folder located on the PC. To save a setup file, click File > Instrument Setups.
  6. Click Connect to make the connection. When the connection is made, the 86100D's display and front-panel keys are locked and do not respond to user input. The connection status icon displayed in the menu bar shows the connection status.
N1010A Connection Status Icons
Icon | Description
 | FlexDCA is not connected to 86100D
 | FlexDCA is connected to 86100D


M-Series Products

Hardware

  • Home
  • Quick Start
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • 86100D
  • N1010A
  • M-Series
  • Architecture

M-Series Products

DCA-M products are controlled via a USB connection to a PC that is running the N1010A FlexDCA remote software. When using a DCA-M product,

  • FlexDCA serves as the DCA-M's Graphical User Interface (GUI).
  • The same FlexDCA remote commands that are used to control an 86100D that is connected to FlexDCA are used to remotely control the DCA-M. Remotely Controlling a DCA-M.

DCA-M Products

  • N1092A/B/D DCA-M multiple-channel optical sampling oscilloscope
  • N1090A DCA-M single optical channel sampling oscilloscope

Other Products

  • N4877A Clock/Data Recovery and Demultiplexer

Connecting a DCA-M to N1010A

  1. Click Setup > Configure Extended Modules. Or, click the [image] icon that is displayed to the right of the channel buttons along the bottom of the display.
  2. In the Extended Module Configuration dialog box, click the Hardware tab.
  3. Drag a picture of a DCA-M product to an available Slot as shown in the following picture. The destination slot need not be empty.
  4. Click on the DCA-M picture to open the configuration dialog box.

The above figure shows FlexDCA on an 86100D. Slots 1 through 4 are permanently assigned to the physical 86100D slots. Slots 5 through 8 can be assigned to simulated modules or supported external instruments.

Note

If N1010A FlexDCA is currently connected to FlexDCA on an 86100D, the DCA-M must be connected to the PC. In this configuration, the extended module cannot be connected to the 86100D.

Remotely Controlling a DCA-M

Example Python Scripts

Click here for example scripts that control a DCA-M.

Using FlexDCA's SCPI commands, you can create an application that controls:

  • 86100D
  • N1010A with an 86100D connected via LAN
  • DCA-M connected via USB

In both of these situations, the same FlexDCA commands are used to view and scale the input signal, configure measurement settings, and perform measurements. If you know how to programmatically control an 86100D via FlexDCA, you know how to control a DCA-M product. Only a few commands are unique to controlling DCA-M products. These commands are shown in the following table. Remote programs previously developed to control the 86100D FlexDCA interface can be leveraged directly to control an automated DCA-M system. Use FlexDCA SCPI programming tools to simplify conversion of legacy 86100-based automation to FlexDCA compatible code. Measurement results are generally 50% faster with the new DCA-M due to a significantly faster sampling rate.

Commands Unique to Hardware Extended Modules
Command | Description
:EMODules Subsystem
:EMODules:DCAM:DEVice? | Queries the identificaiton string of an N1090A DCA-M extended module.
:EMODules:SLOT:CMEThod? | Queries to determine if an N1090A DCA-M extended module is connected to FlexDCA.
:SLOT Subsystem
:SLOT:TRIGger:MODe? | Queries the trigger mode of an N1090A DCA-M extended module.
:SLOT:TRIGger:MRATe? | Queries the measured clock rate at the Clock In input of the N1090A DCA-M extended module.
:SLOT:TRIGger:SOURce? | Queries the selected trigger input for an N1090A DCA-M extended module: front panel or free run.


N1090A DCA-M Single Optical Channel Sampling Oscilloscope

FlexDCA for PC is Free

The FlexDCA interface is free and can be downloaded at "www.keysight.com/find
/flexdca_download".

The N1090A DCA-M is a single optical channel sampling oscilloscope module that is controlled via USB from a PC. Option EEC adds a single electrical channel. The N1090A is controlled using the same FlexDCA user interface that is used to control the 86100D. As a result, 86100D users will be very familiar with operating the N1090A as well as using remote control. The N1090A DCA-M uses the high-performance elements of both the 86100D oscilloscope mainframe acquisition system and the optical channel of the 86105C module. The N1090A can be configured to perform optical transmitter compliance tests.

For installation, safety, and regulatory information, refer to the N1090A user's guide which can be downloaded from keysight.com.

Specifications

  • N1090A Specifications

Key Concepts

  • Input signal's wavelength must be from 750 nm to 1630 nm (multimode or single-mode).
  • Input signal's data rate must be the same as a supported Filter Rate listed on the N1090A's front panel. Otherwise, the input signal will be severly filtered.
  • Multiple N1090A's can be connected to FlexDCA. Delta time values between two channels cannot be compared because each N1090A (and 86100D if connected) uses an independent trigger.
  • An 86100D can simultaineously be connected to FlexDCA.
  • Simulated waveforms can be displayed on FlexDCA.
  • Trigger can be set to Front Panel or Free Run only.
  • Clock In should be at the input signal's data rate for proper display of the input signal. However, the N1090A will trigger with any clock signal between 500 MHz and 12 GHz.
  • Pattern lock is unavailable if the N1090A's channel is turned on. The N1090A is not compatible with pattern lock.
  • Use these remote programming commands to configure the N1090A.

N1090A Features

  • Increased sampling rate.
  • Perform optical transmitter compliance tests at a variety of standard data rates from 1.25 to 11.3 Gb/s.
  • Ability to perform eye-mask tests and measure eye diagram parameters including extinction ratio.
  • Low-noise, high sensitivity calibrated reference receivers that are compliant to industry standard tolerances. The reference receivers are selected at the time of order and are noted as Filter Rates on the N1090A's front panel.
  • Ability to perform basic oscilloscope mode measurements of pulses rather than eye diagrams (limited to patterns less than 2 ns in duration).

Inability to Pattern Lock

The N1090A does not have the ability to lock on a waveform pattern as is possible with the 86100D. Therefore, measurement features that require pattern lock will not operate when used with the N1090A system. These include:

  • Option 200 (Advanced Jitter Analysis)
  • Option 201 (Advanced Waveform Analysis)
  • Option 300 (Advanced Amplitude Analysis/RIN)
  • Option SIM (InfiniiSim-DCA Waveform Transformation Toolset).

Using the N1090A

Example Script

Click here to learn about a Python script for controlling an N1090A.

The following picture shows a PC (not provided by Keysight) running the N1010A FlexDCA software. FlexDCA controls the N1090A over a USB 2.0 connection. The USB cable provided with the N1090A is a USB-A plug to right-angle USB-B plug.

  1. Using the USB cable, connect the N1090A to the PC and turn on the N1090A. Device drivers automatically recognize the N1090A and establish a connection. The device driver is automatically installed when FlexDCA is installed on the PC.
  2. Connect an optical signal to be measured to the N1090A's front-panel fiber-optic connector.
  3. Connect a clock signal to the N1090A's front-panel Clock In SMA connector. As with the 86100D, a reference clock that is synchronous with the input signal is required to trigger the N1090A. The clock input range is 500 MHz to 12 GHz. For proper display of the waveform use a clock that has the same rate as the signal.
  4. In FlexDCA's Trigger Setup dialog box, select the General Trigger Setup tab. In the Source field, select Front Panel. If an 86100D is also connected to FlexDCA or FlexDCA is running on an 86100D and a clock recovery or precision timebase module is installed, you can also select CDR or PTB as a trigger source. With this setup, the N1090A's trigger source is configured to be Front Panel.

N1090A Front-Panel Indicator Lights

Front Panel Indicator Lights
Indicator | Description
 | Displays the FlexDCA extended module slot where the N1090A is installed. The number indicates the channel, which in this picture would be channel 6A.
 | Trigger light. This light is green when the N1090A is being triggered. As with the 86100D, this does not indicate that the trigger signal is synchronous with the channel input signal. This light is red if the clock input signal is missing. This light is off if the N1090A channel is turned off or if FlexDCA is in single/stop acquisition mode.
 | Trigger armed light. This light is red if FlexDCA is in single/stop acquisition mode.
 | Channel indicator light. This light is next to the fiber-optic input connector. When on, the light indicates that the associated FlexDCA channel is turned on and that the waveform is displayed. The light is the same color as the displayed waveform. The Trig'd and Armed indicators do not light unless the channel is turned on.

Minimum Firmware Version

The minimum required FlexDCA firmware version for this extended module is A.05.00.

Remote programs previously developed using the 86100D FlexDCA interface can be leveraged directly to control an automated N1090A system. Use FlexDCA SCPI programming tools to simplify conversion of legacy 86100-based automation to FlexDCA compatible code. Measurement results are generally 50% faster with the new N1090A due to a significantly faster sampling rate.

Note

To avoid damaging the N1090A's front-panel fiber-optic connector, use proper connection techniques.

Front-Panel Fiber-Optic Input

Click here to learn about fiber-optic connector care. Use caution as fiber-optic end surfaces are easily damaged due to improper cleaning techniques and repairs can be expensive.

The N1090A's front-panel fiber-optic input adapter can be removed and cleaned as shown in the following picture. To remove the fiber-optic adapter:

  1. Lift the receptacle latch as shown in the following picture.
  2. Carefully pull off the receptacle without touching the ferrule or fiber end.

Calibrations

The following calibrations are available for the N1090A within FlexDCA. Each is run from within FlexDCA's Calibration dialog box.

Vertical Calibration
Allows you to calibrate the N1090A input channel's vertical response. This calibration is performed without an input signal.
  • This calibration is located in the N1090A tab on the Calibrations dialog box.
Dark Level Calibration
Improves the accuracy of extinction ratio measurements by identifying internally generated offset (dark level) signals generated by external optical-to-electrical converters and removing them from the measurement. This calibration is performed without an input signal.
  • This calibration is located in the Dark Level tab on the Calibrations dialog box.
User Optical Calibration
A user calibration of the optical channel at any wavelength between 750 nm to 1650 nm. An external CW optical source is required.
  • This calibration is located in the Optical tab on the Calibrations dialog box.
Factory Optical Calibration
A factory calibration of the optical channel is performed at 850 nm, 1310 nm and 1550 nm. An external CW optical source is required.
  • This calibration is located in the Optical tab on the Calibrations dialog box.
Timebase Calibration
The N1090A has its own timebase. If multiple N1090As are used or additional timebases are present, calibrations for each timebase will be listed in the Calibrations dialog box. The calibration for each N1090A is clearly labeled by input channel. Other timebases include any 86100D-PTB, 86107A module, or 86108B-PTD modules.
  • This calibration is located in the Timebase tab on the Calibrations dialog box

Required Reference Receiver Options

One and only one of the following five reference receiver options must be selected at the time that the N1090A is ordered. Options cannot be combined. However, if your test needs change, the N10190A can be returned to a Keysight service center to convert from any of the existing installed reference receiver option to another option. An unfiltered mode is not available in any option.

Item | Description
N1090A-140 | GPON, 1.244 Gb/s Gigabit Ethernet, 1.250 Gb/s
N1090A-160 | OC-48/STM-16, 2.488 Gb/s 2 Gb Ethernet, 2.500 Gb/s
N1090A-180 | 10Gb Ethernet LX-4, 3.125 Gb/s
N1090A-200 | 8x Fibre Channel, 8.500 Gb/s OC-192/STM-64, 9.953 Gb/s 10Gb Ethernet, 10.3125 Gb/s 10x Fibre Channel, 10.51875 Gb/s OC-192/STM-64 FEC, 10.664 Gb/s OC-192/STM-64 FEC, 10.709 Gb/s 10Gb Ethernet FEC, 11.0957 Gb/s 10x Fibre Channel FEC, 11.317 Gb/s
N1090A-204 | 8x Fibre Channel, 8.500 Gb/s OC-192/STM-64, 9.953 Gb/s 10Gb Ethernet FEC, 10.3125 Gb/s 10x Fibre Channel, 10.51875 Gb/s

Available Options

Item | Description
N1090A-EEC | Electrical input channel
N1090A-1CM | Rack-mount kit for a single N1090A
N1090A-1CN | Rack-mount kit for two N1090As (mounted side-by-side)

Supplied Accessories

Item | Qty
USB-A to USB-B cable | 1
RF SMA 50-ohm cap (male) | 2
FC fiber-optic dust cap | 1


N1092A/B/D DCA-M Optical Sampling Oscilloscope

FlexDCA for PC is Free

The FlexDCA interface is free and can be downloaded at "www.keysight.com/find
/flexdca_download".

The N1092A/B/D DCA-M multiple-channel optical sampling oscilloscope module that is controlled via USB from a PC. The three available models vary in the number of front-panel optical channel inputs as shown in the following table. Unlike the N1090A DCA-M, the N1092A/B/D DCA-M oscilloscopes can be used with pattern lock. For installation, safety, and regulatory information, refer to the N1092A/B/D user's guide which can be downloaded from keysight.com.

When four N1092Ds are connected to an 86100D you have a total of 16 optical channels. And, if four N1045A-04X mini-modules are then installed into the 86100D, you get a total of 16 optical channels and 16 electrical channels! All of the 32 channels can be displayed at the same time.

Model Numbers
Model | Number of Optical Input Channels
N1092D | 4
N1092B | 2
N1092A | 1

Option EEC adds a single electrical channel. The N1092A/B/D is controlled using the same FlexDCA user interface that is used to control the 86100D. As a result, 86100D users will be very familiar with operating the N1092A/B/D as well as using remote control. The N1092A/B/D DCA-M uses the high-performance elements of both the 86100D oscilloscope mainframe acquisition system and the optical channel of the 86105C module. The N1092A/B/D can be configured to perform optical transmitter compliance tests.

Specifications

  • N1092A/B/D Specifications

Key Concepts

  • Input signal's wavelength must be from 830 nm to 1600 nm (multimode or single-mode).
  • Input signal's data rate must be the same as a supported Filter Rate listed on the N1092A/B/D's front panel. Otherwise, the input signal will be severly filtered.
  • Multiple N1092A/B/D's can be connected to FlexDCA. Delta time values between two channels cannot be compared because each N1092A/B/D (and 86100D if connected) uses an independent trigger.
  • An 86100D can simultaineously be connected to FlexDCA.
  • Simulated waveforms can be displayed on FlexDCA.
  • Trigger can be set to Front Panel or Free Run only.
  • The Clock In input should be at the input signal's data rate for proper display of the input signal. However, the N1092A/B/D will trigger with any clock signal between 100 MHz and 32 GHz.
  • Use these remote programming commands to configure the N1092A/B/D.

N1092A/B/D Features

  • Increased sampling rate.
  • Perform optical transmitter compliance tests at standard data rates of 25.78 Gb/s (TDEC), 20.625 Gb/s, and 25 to 29 GBaud, depending on the installed filter options.
  • Ability to perform eye-mask tests and measure eye diagram parameters including extinction ratio.
  • Low-noise, high sensitivity calibrated reference receivers that are compliant to industry standard tolerances. The reference receivers are selected at the time of order and are noted as Filter Rates on the N1092A/B/D's front panel.
  • Ability to perform basic oscilloscope mode measurements of pulses rather than eye diagrams (limited to patterns less than 2 ns in duration).

Using the N1092A/B/D

Example Script

Click here to learn about a Python script for controlling an N1092A/B/D.

The following picture shows a PC (not provided by Keysight) running the N1010A FlexDCA software. FlexDCA controls the N1092A/B/D over a USB 2.0 connection. The USB cable provided with the N1092A/B/D is a USB-A plug to right-angle USB-B plug.

  1. Using the USB cable, connect the N1092A/B/D to the PC and turn on the N1092A/B/D. Device drivers automatically recognize the N1092A/B/D and establish a connection. The device driver is automatically installed when FlexDCA is installed on the PC.
  2. Connect an optical signal to be measured to the N1092A/B/D's front-panel fiber-optic connector.
  3. Connect a clock signal to the N1092A/B/D's front-panel Clock In SMA connector. As with the 86100D, a reference clock that is synchronous with the input signal is required to trigger the N1092A/B/D. The clock input range is 100 MHz to 32 GHz. For proper display of the waveform use a clock that has the same rate as the signal.
  4. In FlexDCA's Trigger Setup dialog box, select the General Trigger Setup tab. In the Source field, select Front Panel. If an 86100D is also connected to FlexDCA or FlexDCA is running on an 86100D and a clock recovery or precision timebase module is installed, you can also select CDR or PTB as a trigger source. With this setup, the N1092A/B/D's trigger source is configured to be Front Panel.

N1092A/B/D Front-Panel Indicator Lights

Front Panel Indicator Lights
Indicator | Description
 | Displays the FlexDCA extended module slot where the N1092A/B/D is installed. The number indicates the channel, which in this picture would be channel 6A.
 | Trigger light. This light is green when the N1092A/B/D is being triggered. As with the 86100D, this does not indicate that the trigger signal is synchronous with the channel input signal. This light is red if the clock input signal is missing. This light is off if the N1092A/B/D channel is turned off or if FlexDCA is in single/stop acquisition mode.
 | Trigger armed light. This light is red if FlexDCA is in single/stop acquisition mode.
 | Channel indicator light. This light is next to the fiber-optic input connector. When on, the light indicates that the associated FlexDCA channel is turned on and that the waveform is displayed. The light is the same color as the displayed waveform. The Trig'd and Armed indicators do not light unless the channel is turned on.

Minimum Firmware Version

The minimum required FlexDCA firmware version for this extended module is A.05.40.

Remote programs previously developed using the 86100D FlexDCA interface can be leveraged directly to control an automated N1092A/B/D system. Use FlexDCA SCPI programming tools to simplify conversion of legacy 86100-based automation to FlexDCA compatible code. Measurement results are generally 50% faster with the new N1092A/B/D due to a significantly faster sampling rate.

Front-Panel Fiber-Optic Input

Note

To avoid damaging the N1092A/B/D's front-panel fiber-optic connector, use proper connection techniques.

Click here to learn about fiber-optic connector care. Use caution as fiber-optic end surfaces are easily damaged due to improper cleaning techniques and repairs can be expensive.

The N1092A/B/D's front-panel fiber-optic input adapter can be removed and cleaned as shown in the following picture. To remove the fiber-optic adapter:

  1. Lift the receptacle latch as shown in the following picture.
  2. Carefully pull off the receptacle without touching the ferrule or fiber end.

Calibrations

The following calibrations are available for the N1092A/B/D within FlexDCA. Each is run from within FlexDCA's Calibration dialog box.

Vertical Calibration
Allows you to calibrate the N1092A/B/D input channel's vertical response. This calibration is performed without an input signal.
  • This calibration is located in the N1092A/B/D tab on the Calibrations dialog box.
Dark Level Calibration
Improves the accuracy of extinction ratio measurements by identifying internally generated offset (dark level) signals generated by external optical-to-electrical converters and removing them from the measurement. This calibration is performed without an input signal.
  • This calibration is located in the Dark Level tab on the Calibrations dialog box.
User Optical Calibration
A user calibration of the optical channel at any wavelength between 750 nm to 1650 nm. An external CW optical source is required.
  • This calibration is located in the Optical tab on the Calibrations dialog box.
Factory Optical Calibration
A factory calibration of the optical channel is performed at 850 nm, 1310 nm and 1550 nm. An external CW optical source is required.
  • This calibration is located in the Optical tab on the Calibrations dialog box.
Timebase Calibration
The N1092A/B/D has its own timebase. If multiple N1092A/B/Ds are used or additional timebases are present, calibrations for each timebase will be listed in the Calibrations dialog box. The calibration for each N1092A/B/D is clearly labeled by input channel. Other timebases include any 86100D-PTB, 86107A module, or 86108B-PTD modules.
  • This calibration is located in the Timebase tab on the Calibrations dialog box

Required Reference Receivers

Item | Description
The standard N1092 includes filters to test these data rates. | 25 Gb/s Ethernet (25.78125 Gb/s) 400GBASE-SR16 (26.5625 Gb/s) Ethernet OTU4 FEC/ITU-T G.959.1 (27.952493 Gb/s) 32G Fibre Channel (28.05 Gb/s)
Option N1092A/B/D-168 | Additional 25.78 Gb/s TDEC
Option N1092A/B/D-206 | Additional 20.625 Gb/s

Available Options

Item | Description
N1092A/B/D-LOJ | Low jitter timebase
N1092A/B/D-STB | Standard timebase
N1092A/B/D-FS1 | Fast sampling rate
N1092A/B/D-IRC | Impulse response correction to provide ideal channel response
N1092A/B/D-PLK | Pattern lock trigger hardware. Requires option N1092A/B/D-LOJ.
N1092A/B/D-30A | 30 GHz amplified
N1092A/B/D-200 | Enhanced jitter analysis software, fixed perpetual license
N1092A/B/D-201 | Advanced waveform analysis software, fixed perpetual license
N1092A/B/D-300 | Advanced amplitude analysis/RIN/Q-factor, fixed perpetual license
N1092A/B/D-401 | Advanced eye analysis software, fixed perpetual license
N1092A/B/D-500 | Productivity package, fixed perpetual license
N1092A/B/D-9FP | PAM-N analysis software, fixed perpetual license
N1092A/B/D-ALL | Internal software options
N1092A/B/D-SIM | InfiniiSim-DCA waveform transformation software, fixed perpetual license
N1092A/B/D-1CM | Rack-mount kit for a single N1092A/B/D
N1092A/B/D-1CN | Rack-mount kit for two N1092A/B/Ds (mounted side-by-side)

Supplied Accessories

Item | Qty
USB-A to USB-B cable | 1
RF SMA 50-ohm cap (male) | 2
FC fiber-optic dust cap | 1


N4877A Clock/Data Recovery and Demultiplexer

The N4877A Clock/Data Recovery and Demultiplexer extended module operates from 50 Mb/s to 32 Gb/s. The wide data-rate range allows testing of emerging standards like 100GbE and 32GFC while covering existing lower speed standards. The 16G option operating up to 16.5 Gb/s is ideal for 16GFC as well as computer standards like USB 3.0, SATA, SAS and PCIe including PCIe gen4. The N4877A connects to the 86100D via LAN or USB.

After establishing the connection to the N4877A, use the Clock Recovery Setup dialog box to configure its settings. You can also configure the N4877A with these remote commands.

When you click on the N4877A icon in the Extended Module Configuration dialog box, the N4877A Connection Setup dialog box appears. Enter either the SICL or VISA address for the N4877A and click Connect (shown as Disconnect after the connection is established). To determine the SICL or VISA address, use the Keysight I/O Library Suite which is installed on the 86100D and can be downloaded and installed on a PC. In the I/O Library Suite, start the Keysight Connection Expert and copy-and-paste the N4877A's address into the N4877A Connection Setup dialog box.

Connecting an N4877A to N1010A

  1. Connect the N4877A to the 86100D via LAN or USB.
  2. Click Setup > Configure Extended Modules. Or, click the [image] icon that is displayed to the right of the channel buttons along the bottom of the display.
  3. In the Extended Module Configuration dialog box, click the Hardware tab.
  4. Drag a picture of the N4877A to an available Slot as shown in the following picture. The destination slot need not be empty.
  5. Click on the N4877A picture to open the configuration dialog box shown in the following picture.
  6. Select SICL or VISA and enter the address of the N4877A.
  7. Click Connect.

Note

If N1010A FlexDCA is currently connected to FlexDCA on an 86100D, the DCA-M must be connected to the PC. In this configuration, the extended module cannot be connected to the 86100D.

Minimum Firmware Version

The minimum required FlexDCA firmware version for this extended module is A.02.00.

Note

Keysight's I/O Library Suite is free software that automatically detects instruments connected to your PC or 86100D and configures the interfaces. It reduces system setup and configuration time. Go to www.keysight.com/find/iosuite.


Simulated Modules

Simulated (Installing)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Installing
  • Configure
  • Data
  • Filter
  • Jitter & Noise

Installing

Using simulated modules allows you to work offline in Eye, Scope, and Jitter modes. There is no simulated TDR/TDT module. Simulated modules include configurable simulated waveforms where you can set the waveform's type (clock, data, function, or file), data rate, amplitude, and offset. You can even apply random jitter and noise. You can even load a saved internal-format waveform file (.wfmx) or pattern waveform (.csv) file into the simulated source. The following simulated modules are available:

  • Dual electrical
  • Dual optical
  • Optical/Electrical
  • Quad electrical

To install a simulated module

  1. Click Setup > Configure Extended Modules. Or, click the [image] icon that is displayed to the right of the channel buttons along the bottom of the display.
  2. In the Extended Module Configuration dialog box shown in the following picture, click the Simulation tab.
  3. Click Simulation to view the available simulated modules, which allow you create simulated waveforms that can be displayed and measured just as you would a real waveform.
  4. Drag the simulated pictures between the Extended Modules palette and the extended slots. The destination slot need not be empty.
  5. Click on an extended module picture to open the Configure Simulation Source dialog box.


Configure Simulation Source

Simulated (Configure)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Installing
  • Configure
  • Data
  • Filter
  • Jitter & Noise

Configure Simulation Source

Use the Configure Simulation Source dialog box to configure a simulated waveform.

To open this dialog box, click an assigned simulated module in the Extended Module Configuration dialog box.

In this dialog box:

  • Click the Data Source block to select the waveform type and data rate.
  • Click the Filter block to add filtering.
  • Click the Jitter & Noise block to add jitter and noise.

Note

The average power measurement can not be made on simulated optical channels.

To Display a Simulated Waveform

  1. Click the channel button so that it shows the color assigned to the waveform.
  2. Click the Enable button to turn on the waveform.
  3. If the Filter block is not displayed in this dialog box, select Add Filter. After configuring your simulated waveform, you can quickly turn the channels on and off using the Signals palette, channel buttons, or by clicking Setup > Modules > Channel X.

Differential Electrical Signals

When configuring Channel B on a simulated dual-electrical module, the additional Define Differential Signal checkbox will be displayed, as shown in this picture. Select this checkbox if you want channel A and B to be differential. All changes that you enter for waveform A will be automatically entered for waveform B.

Waveform Simulation Rate

Click Waveform Simulation Rate in the lower-left corner of the dialog box to open the Waveform Simulation Rate dialog box which selects the amount of CPU usage devoted to data simulation: Low, Standard, or High. The default setting is Standard. Adjusting this setting can affect the performance of FlexDCA and any concurrently running applications.

Waveform Color

Click the Color button to display the waveform in one of 16 colors.


Configure Source Type

Simulated (Data)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Installing
  • Configure
  • Data
  • Filter
  • Jitter & Noise

Data Source

Use the Configure Source Type dialog box to configure the fundamental settings of your simulated source waveform. Once your waveform is defined, click Output Enable button to turn on the waveform. The button is green when the waveform is enabled. To view the waveform on the oscilloscope, click the channel button in the Configure Simulation Source dialog box. Select Invert Signal to invert the waveform.

Open this dialog box from the Configure Simulation Source dialog box.

Note

Always perform an Auto Scale after configuring the source waveform.

Source Waveform Type

Use the Waveform Type field to select a Data, Clock, Function, or Load from File. For Data waveforms, you can select the PRBS Pattern Length:

  • One - Zero
  • PRBS-7 (127 symbols)
  • PRBS-7 (128 symbols)
  • PRBS-9 (511 symbols)
  • PRBS-9 (512 symbols)
  • PRBS-11 (2047 symbols)
  • PRBS-11 (2048 symbols)
  • PRBS-13 (8191 symbols)
  • PRBS-13 (8192 symbols)
  • PRBS-15 (32767 symbols)
  • PRBS-15 (32768 symbols)
  • JP01A (2 symbols)
  • JP01B (62 symbols)
  • JP01C (62 symbols)

For Function waveforms, you can select from the functions:

  • Sine
  • Cosine
  • Square
  • Triangle
  • Sawtooth

If you select Load from File, you can click Browse to select a pattern waveform file. Both .wfmx and .csv formats are supported. This feature allows you to work offline with your data. It is recommended that you also save a FlexDCA setup file when you save your original waveform. When you load the waveform file, also load the setup file to ensure that the FlexDCA settings match those of your waveform file.

Use the Format field to select the type of simulated data format: NRZ or PAM4.

Waveform Data Rate

Use the Waveform Data Rate field to enter the waveform's data rate or click Select From List to choose a standard data rate.

Waveform Amplitude and Offset

Use the Amplitude and Offset fields to enter the simulated waveform's amplitude and offset in volts for electrical waveforms and Watts for optical waveforms.


Configure Source Filter

Simulated (Filter)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Installing
  • Configure
  • Data
  • Filter
  • Jitter & Noise

Filter

Use the Configure Source Filter dialog box to configure and apply a filter for a simulated channel. The following Filter Types can be selected. Enter a Filter Bandwidth for the selected filter.

  • 4th order Bessel
  • 1st order Butterworth
  • 2nd order Butterworth
  • 3rd order Butterworth
  • 4th order Butterworth

Open this dialog box from the Configure Simulation Source dialog box.


Configure Jitter & Noise

Simulated (Jitter & Noise)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Installing
  • Configure
  • Data
  • Filter
  • Jitter & Noise

Jitter & Noise

Use the Configure Jitter & Noise dialog box to add random jitter, random noise, and F/2 (Pk-Pk) jitter to a simulated waveform. If the simulated waveform is defined to be electrical differential, the amount of applied Resultant Differential RJ and Resultant Differential RN is listed. When applying F/2 (Pk-Pk) jitter, select an even pattern length for the simulated signal. For example, select PRBS-7 (128 bits). Otherwise, the F/2 jitter measurement will not work.

Open this dialog box from the Configure Simulation Source dialog box.

Note

The ability to add periodic jitter and interference was deleted starting with firmware revision A.02.00.


Accessories

Supplied 86100D Accessories

The product's shipping list shows the accessories supplied with the 86100D. The following list shows some of the items that may be on the shipping list. The information on your actual shipping list is more accurate an should supersede the information in this list.

  • 86100D DCA-X documentation CD. This CD includes the Quick Start Guide and Programmer's Guide.
  • Mouse
  • Keyboard
  • DCA-X front colver (N1000-40008)
  • Power cord for country of destination

Note

In the following tables, the terms (m) and (f) indicate the type of center contact, male or female respectively.

Note

1.85 mm and 2.4 mm connectors are mechanically compatible.

Note

2.92 mm and 3.5 mm connectors are mechanically compatible.

Available Electrical Adapters
Type (from) | Type (to) | Model | Return Loss1 | Repeatability1,2 (Typically Better Than)
2.92 mm Adapters
2.92 mm (f) | 2.92 mm (f) | 1250-4105 | — | —
3.5 mm Adapters
APC 3.5 mm (f) | APC 3.5 mm (f) | 5061-5311 | — | —
SMA Adapters
SMA (f) | SMA (f) | 1250-1158 | — | —
SMA (m) | BNC (f) | 1250-1200 | — | —
1.85 mm Adapters
1.85 mm (m) | 1.85 mm (m) | 5065-9811 | — | —
1.85 mm (m) | 1.85 mm (f) | 5065-9839 | — | —
1.85 mm (f) | 1.85 mm (f) | 85058-60114 | — | —
2.4 mm Adapters
2.4 mm (m) | 2.4 mm (m) | 11900A | ≥32 (dc to 26.5 GHz) | −50 dB
2.4 mm (f) | 2.4 mm (f) | 11900B | ≥25 (26.5 to 40 GHz) | −45 dB
2.4 mm (m) | 2.4 mm (f) | 11900C | ≥20 (40 to 50 GHz) | −40 dB
2.4 mm (m) | APC 3.5 (m) | 11901A | ≥32 (dc to 26.5 GHz) | −45 dB
2.4 mm (f) | APC 3.5 (f) | 11901B | ≥28 (20 to 26.5 GHz) | −45 dB
2.4 mm (m) | APC 3.5 (f) | 11901C | ≥28 (20 to 26.5 GHz) | −45 dB
2.4 mm (f) | APC 3.5 (m) | 11901D | ≥28 (20 to 26.5 GHz) | −45 dB
2.4 mm (m) | APC 7 | 11902A | ≥30 (dc to 18 GHz) | −50 dB
2.4 mm (f) | APC 7 | 11902B | ≥30 (dc to 18 GHz) | −50 dB
2.4 mm (m) | Type-N (m) | 11903A | ≥28 (dc to 18 GHz) | −48 dB
2.4 mm (f) | Type-N (f) | 11903B | ≥28 (dc to 18 GHz) | −48 dB
2.4 mm (m) | Type-N (f) | 11903C | ≥28 (dc to 18 GHz) | −48 dB
2.4 mm (f) | Type-N (m) | 11903D | ≥28 (dc to 18 GHz) | −48 dB
2.4 mm (m) | K 2.92 (m) | 11904A | ≥24 (dc to 40 GHz) | −40 dB
2.4 mm (f) | K 2.92 (f) | 11904B | ≥24 (dc to 40 GHz) | −40 dB
2.4 mm (m) | K 2.92 (f) | 11904C | ≥24 (dc to 40 GHz) | −40 dB
2.4 mm (f) | K 2.92 (m) | 11904D | ≥24 (dc to 40 GHz) | −40 dB
1 At the 2.4 mm port only.
2 Repeatability equals 20 Log |ΔΓ| where |ΔΓ|= |Γm1 − Γm2|. This is the difference between two measurements Γm1 and Γm2 before and after one disconnect/connect cycle. Repeatability depends upon proper torque and pin-depth.
Calibration Accessories
Type | Sex | Model | Electrical Specifications | Repeatability1 (Typically Better Than)
TDR Calibration Kit | — | N1024A/B | — | —
2.4 mm
2.4 mm short | (m) | 85140A | At 50 GHz, 6° from nominal2,3 | −50 dB
2.4 mm short | (f) | 85140B | At 50 GHz, 6° from nominal2,3 | −50 dB
2.4 mm short | (m) | 85141A | At 50 GHz, 6° from nominal3,4 | −44 dB
2.4 mm short | (f) | 85141B | At 50 GHz, 6° from nominal3,4 | −44 dB
2.4 mm 50Ω Termination | (m) | 85138A | ≥30 dB (dc to 26.5 GHz) ≥25 dB (26.5 to 40 GHz) ≥20 dB (40 to 50 GHz) | −40 dB
2.4 mm 50Ω Termination | (f) | 85138B | ≥30 dB (dc to 26.5 GHz) ≥25 dB (26.5 to 40 GHz) ≥20 dB (40 to 50 GHz) | −40 dB
SMA
SMA short | (f) | 1250-2152 | — | —
SMA 50Ω Termination | (m) | 1810-0118 | — | —
SMA 50Ω Termination | (f) | 1250-2151 | — | —
1 Repeatability equals 20 Log |ΔΓ| where |ΔΓ|= |Γm1 − Γm2|. This is the difference between two measurements Γm1 and Γm2 before and after one disconnect/connect cycle. Repeatability depends upon proper torque and pin-depth.
2 This specification applies to the location of the effective shorting plane.
3 Nominal, in this case, is the center of the distribution of all parts manufactured over time.
4 The phase shift of any Keysight 85141A/B open relative to any Keysight 85140A/B short is 180° ± 12°.
Metrology Grade Adapter Torques and Pin Depth
Connector Type | Torque (±0.5 lb inch) | Torque Wrench Part Number | Pin Depth (male or female) | Connector Gage Kit Part Number | Protection End Cap Part Number
2.4 mm | 5 lb in (57 N-cm) | 8710-1582, 5/16" open end (1.85 mm and 2.4 mm connectors) | — | — | —
2.4 mm | 8 lb in (90 N-cm) | 8710-1765, 5/16" open end (1.85 mm and 2.4 mm connectors) | 0 to 0.0015 inch (0 to 0.038 mm) | 85056-60018 (m) 85056-60017 (f) | 1401-0202(f) 1401-0095 (m)
3.5 mm | 8 lb in (90 N-cm) | 8710-1765, 5/16" open end (3.5 mm connectors) | 0 to 0.002 inch (0 to 0.05 mm) | 85052-60042 (m) 85052-60043 (f) | 1401-0202(f) 1401-0208 (m)
Available Optical Connector Adapters
Item | Description
81000AI | Diamond HMS-10 Connector Adapter
08154-44101 | HMS-10 dust cap
81000FI | FC/PC/SPC/APC Connector Adapter
81000KI | SC Connector Adapter
81000SI | DIN Connector Adapter
81000VI | ST Connector Adapter
Miscellaneous Accessories
Item | Description
Cables
N4910-61601 | Matched cable pair, 2.4 mm (m) to 2.4 mm (m), 60 cm (24 in)
86108-60050 | Matched cable pair, 2.92 mm (m) to 2.92 mm (m), 50 cm (20 in)
86118-60006 | Semi-rigid cable, 1.85 mm (m) to 1.85 mm (m), 15 cm (6 in)
8120-4948 | Coaxial cable, SMA (m-m)
DC Blocks
N9398G | 1.85 mm DC block (m)-(f), 16V, 700 kHz to 67 GHz
N9398F | 2.4 mm DC block (m)-(f), 16V, 50 kHz to 50 GHz
N9398C | 3.5 mm DC block (m)-(f), 16V, 50 kHz to 26 GHz
Power Splitters
11667B | DC to 26.5 GHz, APC 3.5 mm
11667C | DC to 50 GHz, 2.4 mm
Attenuators
8493C–003 | Two 3.5 mm 3 dB attenuators
8493C–006 | Two 3.5 mm 6 dB attenuators
8493C–010 | Two 3.5 mm 10 dB attenuators
8493C–020 | Two 3.5 mm 20 dB attenuators
33340C/020 | 20 dB attenuator, APC 3.5 mm (f-m)
Other
86101-60017 | One-slot filler panel. Width of mini module, for example N1045A. When replacing a standard-width module, for example an 86112A, order two one-slot filler panels.
10086A | ECL Terminator
11898A | Plug-in Module Remote/Extender
11982A | High-Speed Lightwave Receiver
54008A | 24 ns Delay Line
83440B/C/D | Optical-to-Electrical Converters (6/20/34 GHz)
83446A | Lightwave Clock and Data Receiver
83480A-K16 | Switch Matrix
83480A-K17 | RIMM Fixture
N4688N | External CD-RW drive
N9355CK01 | DC coupled limiter
Probes
Item | Description
N5477A | Sampling Oscilloscope Adapter for InfiniiMax III probing system (N2800A-series)
N2800A | 16 GHz InfiniiMax III probe
N2801A | 20 GHz InfiniiMax III probe
N2802A | 25 GHz InfiniiMax III probe
N2803A | 30 GHz InfiniiMax III probe
N1022B | Active Probe Adapter
N1025A | 1 GHz Active Differential Probe
N1020A | 6 GHz TDR Probe Kit (passive)
1169A | 12 GHz InfiniiMax active probe
1168A | 10 GHz InfiniiMax active probe
1158A | 4 GHz active probe
1157A | 2.5 GHz active probe
1156A | 1.5 GHz active probe
1152A | 2.5 GHz active probe
1134A | 7 GHz InfiniiMax active probe
1132A | 5 GHz InfiniiMax active probe
1131A | 3.5 GHz InfiniiMax active probe
54006A | 6 GHz Resistive Divider Probe Kit
54701A | 2.5 GHz Active Probe
Static Safe Accessories
Item | Description
9300-0797 | Static control mat 0.6 m x 1.2 m (2 ft x 4 ft) and 4.6 cm (15 ft) ground wire
9300-0980 | Wrist strap cord - 1.5 m (5 ft)
9300-1367 | Wrist strap, adjustable, without cord.
9300-1126 | Heel strap


Acquisition Controls

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • Waveform
  • Smoothing

Introduction

Virtual Front Panel

When using FlexDCA Remote Access to control an 86100D from a PC, you may find it more convenient to use the Virtual Front Panel, as you may not have access to the 86100D's front-panel keys. Click Tools > Virtual Front Panel.

The acquisition buttons allow you to start and stop data acquisition and perform an Auto Scale. These controls affect all channels that are turned on. If all the channels are turned off or a trigger event does not occur, data will not be acquired. On FlexDCA, these buttons are located on the menu bar.

Acquisition Buttons
Button Description Keyboard
Shortcuts
Automatically adjusts the vertical and horizontal scale to properly display the waveform. | Ctrl + Alt + A
Press the front-panel Run key to start continuous data acquisition on all selected channels. While at least one input channel is turned on, the instrument, armed and ready to respond to a trigger, starts acquiring data on the next trigger event. Data is continuously acquired on successive trigger events (one sample point per trigger). The Run button remains lit. Run is the default acquisition mode. If waveform data does not appear on the display when in the Run mode, try the following:
  • Click Auto Scale.
  • Confirm that a signal is connected to the channel and that the channel is turned on.
  • Confirm that vertical offset is not applied and has not moved the trace off the display.
  • Confirm that the trigger conditions are valid for the signal.
 F5
Press the front-panel Stop/Single key to stop data acquisition or to perform a single waveform acquisition. Each subsequent press of the Stop/Single button restarts the acquisition until a complete data acquisition record is acquired. All measurements performed on the input waveforms are updated. | F6
Press the front-panel Clear key to erase all channel, function, and waveform data and measurement results from the display including color grade data, mask test data, limit test data, and histogram results. If waveform tracking markers are on, the Y-axis marker is cleared from the display. Pressing Clear in Run mode clears the data and then acquires and displays new data. Pressing Clear in Stop/Single mode clears the data. | F7

The 86100D's front-panel Acquisition buttons can also be used when FlexDCA is running embedded on the 86100D.

Note

If all the channels are turned off or a trigger event does not occur, the instrument will not acquire data.

Note

The FlexDCA application does not provide horizontal skew capability. To use horizontal skew, switch to the standard 86100D interface.

Waveform memories and color grade-gray scale memories are not erased from the display graticule when you execute a clear display. To clear these files from the display graticule, do one of the following:

  • Click File > Color Grade-Gray Scale Memory and turn off the currently displayed waveform.
  • Click File > Waveform Memory and turn off the currently displayed waveform.

More Information

  • Acquisition Dialog Box (setting averaging and points-per-waveform)
  • Timebase Controls
  • Horizontal Skew


Acquisition Setup Dialog Box

Acquisition Setup (Waveform)

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • Waveform
  • Smoothing

Waveform

Use the Acquisition Setup dialog box's Waveform tab to define the way you want the instrument to acquire data from the input waveform.

Click Setup > Acquisition to open this dialog box. Or, click the Acquisition button, located at the bottom of the screen.

MEASUREMENT DATABASE

A long record-length waveform takes more time to construct one sweep than one with a short record length; however, in the same amount of time, a shorter record length creates a "deeper" database. The total number of data points captured has not appreciably changed, just the data distribution in the database (length versus number of waveforms).

You can select the waveform's record length as Samples/Waveform or Points/Bit, unless you've selected to Acquire Entire Pattern (requires pattern lock) in which case only Samples/Bit is allowed. A Pattern Lock button is provided in the dialog box.

Samples/Waveform is the number of waveform samples acquired across a single sweep. Changing the Samples/Waveform (or Samples/Bit) affects the following items:

  • Sweep time (display update rate)
  • Histograms
  • Measurements

In addition, you can select Automatic or Manual for the record length. Automatic, the default setting, sets the record length to optimize the single record length versus total database update rate. Automatic is the recommended setting when using:

  • Color grade or gray scale waveforms
  • Histograms
  • Eye mask tests
Manual allows you to define a record length between 16 to 16,384 points. The default value is 2048 points. Increasing the number of Points/Waveform or Samples/Bit:
  • Reduces the time spacing between the measurement points. The time spacing between measurement points can affect interpolation between the points used to make measurements.
  • Increases the time required to capture a single sweep.

The optimum record length is based on the width of the display graticule (2048 points). Therefore, in Automatic, a multiple of the graticule width is selected as the record length. This results in an even distribution of data points sampled from the input waveform. For example, Automatic may select 4096 points (two times 2048) as the record length. Manually setting the record length to a value other than a multiple of 2048 results in an uneven histogram of the waveform.

Acquiring the Pattern

At the top of the display, the pattern acquisition bar is displayed whenever Acquire Entire Pattern is selected. Pattern Lock must be turned on before Acquire Entire Pattern becomes available. This selection specifies that on each waveform acquisition, data from the entire pattern is acquired. (Normally, only data from the displayed portion of the pattern is acquired.) The Minimum Timebase Position control establishes the start of the pattern and the Data Rate and Pattern Length determine the time duration. When acquiring the entire pattern, the pattern acquisition bar is displayed above the waveform. Long patterns may require some noticeable time to be acquired. In this case, you will see the pattern acquisition bar's green pattern filling in and the percent label on the bar increasing towards 100%. A portion of the bar's green pattern has a black background as shown in the following picture. The black background shows the portion of the pattern that is currently displayed by the waveform.

To locate a specific bit sequence within the pattern, use the Find Bit Sequence dialog box.

As shown in the following picture, when Acquire Entire Pattern is selected, the Samples/Waveform or Points/Bit buttons are no longer displayed and the Points/Waveform field becomes Samples/Bit. In Eye/Mask mode, the Eye Generation selections are displayed in the dialog box.

Select Wrap Waveform to view an eye diagram. Since the displayed eye diagram is built from a pattern lock, you can apply waveform averaging via the Smoothing controls. When Wrap Waveform is not selected, a single-valued pattern waveform is displayed. In Eye/Mask mode you can save the pattern in an ASCII file (*.csv) or internal format file (*wfmx). Click File > Save > Waveform and select either Pattern Waveform or Waveform Files (internal).

Wrap Waveform OFF

Wrap Waveform ON

Note

In Jitter Mode, the waveform record length setting can not be changed.

In Eye/Mask mode with pattern lock on, Acquire Entire Pattern selected, and Wrap Waveform selected, you may notice that the Sample/Bit entry is a real number instead of an integer. FlexDCA uses a real number so that, if wrapped, the entire eye diagram is filled in without needing to interpolate between sample points. With an integer entry, the samples for each bit in the pattern would occur at the same time offset as measured from the start of each bit. With Wrap Waveform on, the samples for each bit would be aligned and would be drawn on the display at the same horizontal offset (although their amplitude may vary). As a result, the eye diagram would take much longer to be filled. An integer number can be manually entered, if needed.

Rapid Eye Diagram

On the right side of the dialog box, you'll find settings for the Rapid Eye Diagram feature, which significantly reduces the time required to acquire waveform samples on channels and differential waveforms. It employs several techniques that improve measurement efficiency. Select Enable Rapid Eye to turn on Rapid Eye and then enter the Bit Rate.

If multiple eye diagrams are displayed, select Align Channels During Auto Scale to enable an Auto Scale to align the eyes. The eye diagrams are aligned using software delay.

Rapid Eye requires Option 500, Productivity Package License or Option 86100DU-401, Advanced Eye Analysis Software.

Note

Use Rapid Eye with channels or differential waveforms only. Rapid Eye is not compatible with functions.

Note

In FlexDCA, Rapid Eye is not available when pattern locking is on. When pattern lock in on, the Acquire Entire Pattern the feature is available in this dialog box which provides as fast as measurement throughput times as Rapid Eye. As a result, if pattern lock is off, use Rapid Eye. If pattern lock is on, use Acquire Entire Pattern.


Acquisition Setup Dialog Box

Acquisition Setup (Smoothing)

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • Waveform
  • Smoothing

Smoothing

Use the Acquisition Setup dialog box's Smoothing tab to define the way you want to acquire data from the input waveform.

Click Setup > Acquisition to open this dialog box. Or, click the Trigger button, located at the bottom of the screen.

Smoothing significantly reduces noise and improves resolution of the displayed waveform. When smoothing, FlexDCA acquires waveforms from multiple data acquisitions and then averages the waveforms together, point by point. The noise sources can average to zero over time while the underlying waveform is preserved. The effective resolution of the displayed waveform increases as more acquisitions are averaged together, provided that the input waveform is repetitive and has a stable trigger point. This improves the stability of both the display and waveform measurements. By default, smoothing is disabled. To enable smoothing, click Average or Median. When smoothing is enabled, you can then enter the number of waveforms that you want to use in the calculation. You can enter a value between 2 and 32,768. The default value for the number of averages is 16.

Note

Smoothing is available in Oscilloscope mode, Eye/Mask Mode, and TDR/TDT mode. In Eye/Mask Mode, pattern triggering must be turned on.

Note

When making TDR/TDT measurements, setting the number of waveform averages to be greater than the averages used during the TDR/TDT Calibration does not increase measurement accuracy.

FlexDCA averages the acquired waveforms point by point using the following equation:

For 1 ≤ ν ≤ Μ. After terminal count is reached (ν ÷ Μ),

where:

  • Aven= the average sample value and n is the current average number.
  • Si = the ith sample (for the nth sample, Si = Sn)
  • M = the value set (terminal count) in the Number of Waveforms entry field.

Feedthrough Compensation

Feedthrough compensation is available in TDR/TDT mode. Selecting Best Flatness improves step flatness and is the default setting. Selecting Best Throughput improves acquisition throughput and can be used whenever best flatness is not required. In Eye/Mask, Oscilloscope, and Jitter modes, the feedthrough compensation is set to THRuput and cannot be changed.


86100D DCA-X Applications

TRIAL LICENSES

Free 30-day trial licenses are available for the 86100D and FlexDCA software options. Go to www.keysight.com/find/86100D and click on the Licensed Software tab.

86100D DCA-X applications add significate measurement capability to your oscilloscope. Applications install on either the 86100D or on a PC and use a common user interface. Applications directly control FlexDCA which, in turn, controls the 86100D.

Available Applications

  • Advanced Eye Analysis (401)
  • N108xA IEEE802.3 Test Application
  • N1012A OIF CEI Compliance 3.0
  • N1014A SFF-8431 Compliance Application
  • N1019A User Defined Tool

Note

86100D DCA-X applications have the same look-and-feel as the compliance applications for Keysight's real-time oscilloscopes. Once you become familiar with one application, you can quickly learn any of the other real-time or sampling (86100D) oscilloscope applications.

Note

Do not confuse 86100D DCA-X applications with 86100D options and licenses. Options also add measurement capability, but are not stand-alone PC applications.

Note

The N1010A FlexDCA Remote Access application, controlling the 86100D from a PC, can not control or run TDR/TDT mode measurements or use instrument option 86100D-202 Enhanced Impedance and S-Parameter Software.

Starting Applications from Within FlexDCA

You can start 86100D DCA-X applications, such as the N1012A, from within FlexDCA. Links for each installed application are automatically placed on FlexDCA's Apps menu. For example, the following picture shows a link to start the N1012A OIF CEI 3.0 compliance application. In addition, you can add your own file and PC application shortcuts to the Apps menu and Applications panel. The files targeted by a shortcuts must have their file-name extension assigned in Windows to an application. For FlexDCA to automatically locate them, place your shortcuts or files in the user data folder's \User App Menu Items subfolder.

Links are also placed on the Applications panel, as shown in the following picture. To display the Applications panel press the 86100D's front-panel Apps button.


N1012A OIF CEI Compliance 3.0 Application

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

The N1012A application allows you to test network elements against the Implementation Agreement for Optical Internetworking Forum Common Electrical Interface (OIF CEI) 3.0. Because these elements are designed to carry up to 100 Gb/s using four lanes of 25 to 28 Gb/s, transferring these signals on printed circuit boards, even for short distances, presents major challenges. The easy-to-use N1012A enables you to:

  • Quickly set up equipment and make transmitter measurements
  • Test your device to compliance or chosen limits
  • Debug your device using custom configurations
  • Automatically determine optimal value of CTLE Peaking
  • Generate reports to share with others

Because satisfying the broad requirements of the CEI 3.0 Implementation Agreement can be very complex, the N1012A can save valuable test time thus allowing you to focus on improving your design. The N1012A automatically configures testing parameters that take into account the following items:

  • Data rates for each interface have a range, rather than a fixed rate as is common to many standards.
  • Required tests varies between each CEI 3.0 interface.
  • Test limits varies between each CEI 3.0 interface.
  • Some limits depend upon previous measurements to perform the final calculations.


N1014A SFF-8431 Compliance and Debug Application

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

The N1014A application allows you to test Enhanced Small Form Factor Pluggable Modules (SFP+) hosts and modules against the SFF-8431 high-speed electrical specifications. The N1014A includes over 70 tests which cover all host and module transmitter tests as well as verification of the test signals for receiver compliance. Because satisfying the broad requirements of the SFF-8431 specification can be very complex, the N1014A saves valuable test time allowing you to focus on improving your design. The following SFF-8431 specifications are tested:

  • 3.5 SFP+ Host System Specifications
    • 3.5.1 Host Transmitter Output Specifications
    • 3.5.2 Host Receiver Input Specifications
  • 3.6 SFP+ Module Specifications
    • 3.6.1 Module Transmitter Input Specifications
    • 3.6.2 Module Receiver Output Specifications
  • E SFP+ Direct Attach Cable Specifications
    • E.2 SFP+ Host Output Specifications for Passive Direct Attach Cables
    • E.3.1 Copper Host Receiver Specifications

The easy-to-use N1014A enables you to:

  • Quickly set up equipment and make measurements
  • Test your device to compliance or chosen limits
  • Debug your device using custom configurations
  • Generate reports to document the test results and to share the results with others


N1019A User Defined Application Tool

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

The N1019A User Defined Application Tool is an application that lets you author your own 86100D DCA-X applications. This easy-to-use tool, lets you generate custom graphical user interfaces with minimum programming. Use your generated interface to:

  1. Automate testing
  2. Generate reports
  3. Consistently test across your organization
  4. Add analysis to your compliance and debug software

The N1019A is the only fully customizable automated environment made for the 86100D DCA-X. It provides full automation, including the ability to control other Keysight instruments, external applications such as MATLAB, and your DUT software. The N1019A also provides the ability to add custom tests to your 86100D DCA-X compliance applications, such as the N1012A OIF CEI Compliance 3.0 application.

The N1019A development environment is easier to use than other test and measurement automation packages, which allows you to spend less time programming and more time testing your application. The environment includes all the tabs that you would see in a typical compliance application, however, you control the tests and automation that you need. To make developing simple and easy, the development environment has two modes (basic and advanced). Basic mode allows you to quickly build an application. Tests written for basic mode will load a single setup file and execute a single script or command. You get variable set up, and can load your own company logo. Advanced mode includes all the features included in basic mode plus connection diagrams, external instrument control, external application value source (file based), test grouping, sequential test steps, and independent scripts running during testing.

Once you have completed your user-defined application, there are four different options for generating the application that you have developed:

  • Build the application.
  • Launch the application. Use this selection when you are developing the user-defined application on your oscilloscope. This will launch the application on the oscilloscope.
  • Generate an installer. This selection generates the application and a zipfile to be downloaded and installed on your oscilloscopes desktop.
  • Install the application. Use this selection when you are developing the user-defined application on your oscilloscope. This will install everything you need to run the user-defined application. When you use this option, the application is permanently installed on your oscilloscope.

At any time during the development of your application you can do a debug run, which allows you to check for any errors, such as a file not existing or a path being incorrect. Debug runs also can check to see if any external instruments you are controlling can be found.


N108xA IEEE802.3 Test Application

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

Use the N1081A, N1082A, N1083A and N1084A IEEE 802.3 Compliance and Debug Applications to simplify measuring these transmitter parameters and to obtain full results-to-test limits in a few minutes. This will keep you focused on getting your products to market knowing that your results are built on the heritage and consistency of Keysight measurement technology. These applications measure your high speed serial host board, module, or IC to all required transmit parameters in two IEEE 802.3 standards. You can also take advantage of the industry’s lowest intrinsic jitter of the 86108B Precision Waveform Analyzer.

N1081A-Series Licenses Versus IEEE 802.3 Clauses Tested The numbers in the columns for each clause indicate the table number from IEEE 802.3-2012.
Parameter | Model
 | N1081A | N1082A |  | N1083A | N1084A
 | 10G-KR 40G-KR4 | XLAUI CAUI | nPPI | 40G-CR4 100G-CR10 | 100G-KR4 | 100G-CR4
Measured on DCA
Signaling Rate | 72-6 | 83A-1 | 86-2 | 85-5 | 93-4 | 92-6
Transition Times | 72-6 | 83A-1, 83B-3/5 | 86A-1, 3 |  | 93-4 | 92-6
Differential Output Voltage | 72-6 | 83A-1, 83B-3 |  | 85-5 | 93-4 | 92-6
Common Mode DC Voltage | 72-6 |  |  | 85-5 | 93-4 | 92-6
Common Mode AC Voltage |  | 83A-1, 83B-3, 5 | 86A-1, 3 | 85-5 | 93-4 | 92-6
Single-Ended Voltage |  | 83A-1 | 86A-1,3 |  |  |
Transmitted Output Waveform |  |  |  | 85-5 | 93-4 | 92-6
Far End Output Noise |  |  |  | 85-5 | 93-4 | 92-6
Transmitter DC Amplitude |  |  |  | 85-5 |  | 92-6
Linear Fit Pulse |  |  |  | 85-5 |  | 92-6
De-Emphasis |  | 83A-1, 83B-3 |  |  |  |
Minimum VMA |  | 83A-1, 83B-3 |  |  |  |
Eye Mask |  | 83A-1, 83B-3/5 | 86A-1,3 |  |  |
Crosstalk Source VMA |  |  | 86A-1, 3 |  |  |
Crosstalk Source Transition Times |  |  | 86A-1, 3 |  |  |
Random Jitter | 72-6 |  |  | 85-5 | 93-4 | 92-6
Deterministic Jitter | 72-6 | 83A-1, 83B-3/5 |  |  |  |
Duty Cycle Distortion | 72-6 |  |  | 85-5 |  |
Even Odd Jitter |  |  |  |  | 93-4 | 92-6
Total Jitter | 72-6 | 83A-1, 83B-3/5 |  | 85-5 |  |
Bounded Uncorrelated Jitter |  |  |  |  | 93-4 | 92-6
J2 Jitter |  |  | 86A-1, 3 |  |  |
J9 Jitter |  |  | 86A-1, 3 |  |  |
Data Dependent Pulse Width Shrinkage |  |  | 86A-1 |  |  |
Signal to Noise Ratio |  |  | 86A-1 |  | 93-4 | 92-6
Measured on ENA, PNA, DMM
Differential Output Return Loss | 72-6 | 83A-1 83B-2/4 | 86!-1, 3 | 85-5 | 93-4 | 92-6
Common Mode Output Return Loss | 72-6 | 83A-1, 83B-2 | 86A-1, 3 | 85-5 | 93-4 |
CM to Differential Return Loss |  |  |  |  |  | 92-6
CM to CM Return Loss |  |  |  |  |  | 92-6
Termination Mismatch |  | 83A-1, 83B-2 | 86A-1, 3 |  |  |


Calibration (Module)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Module
  • Dark Level
  • Optical
  • Probe
  • Skew
  • Timebase
  • Cal Out

Module Cal

Use the Calibrations dialog box to perform the required calibrations for optimum measurement performance.

Click Tools > Calibrations to open this dialog box.

The dialog box shows the status of all available non-optical related calibrations for a module installed in a particular slot.

Do not remove a module from the 86100D during a calibration.

Calibration Status Icons
Icon | Description
 | Calibration is selected
 | Calibration is unselected
 | Calibrations are partially selected
 | Calibration is current
 | Calibration is recommended
 | Calibration has never been performed

Vertical Calibration

A vertical calibration enhances measurement precision by establishing calibration factors which compensate for imperfections in the measurement system, such as variations due to the ambient temperature. Although it is recommended that you routinely perform this calibration for best measurement accuracy, it is not required. The plug-in module amplitude accuracy specifications apply when the module calibration is valid. Module calibration factors are valid only for the mainframe and slot in which the module was calibrated. Vertical calibrations do not require any external equipment setup. Always remove or disable all inputs to the module. The module calibration is recommended when

  • 86100D power has been cycled
  • Module has been removed and then reinserted since the last calibration
  • 86100D temperature change exceeds 5°C compared to the temperature of the last module calibration ( ΔT > 5°C)
  • Time since the last calibration has exceeded 10 hours

Note

The vertical calibration uses known signal levels in the 86100D. Introducing an outside signal source will interfere with the calibration factors and decrease the accuracy of the calibration.

Note

Reseating the module into the 86100D may affect the electrical connections, which in turn affects the data sampling process.

Click Calibrate to start all selected calibrations. To select the desired calibrations, select or clear the selection icons. (These icons are defined in this topic's sidebar.)

Example Vertical Channel Calibrations

Click Details to view information such as the time and temperature at which the the last calibration was performed.

To Verify Electrical-Channel Calibration Accuracy

  1. Configure the DC voltage level for the 86100D's front-panel Cal Out.
  2. Connect the Cal Out to the channel input and measure the signal level.

Timebase Calibration

A timebase calibration is available for 86107A and 86108A/B modules. The timebase calibration measures a reference clock signal and saves calibration factors to compensate for errors in the measurement system such as variations due to ambient temperature. The calibration results in the best measurement precision. No signal or connections are required for the calibration. To perform a timebase calibration on N1090A modules or an 86100D-PTB mainframe, click on the Timebase tab.

Clock Recovery Calibration

A clock recovery calibration is available for 83496A/B clock recovery modules and for 86108A/B precision waveform analyzer modules. A module calibration ensures that the proper module calibration factors are generated to compensate for errors in the measurement system. The calibration results in the best instrument precision.

Example Clock Recovery Calibration


Calibration (Dark Level)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Module
  • Dark Level
  • Optical
  • Probe
  • Skew
  • Timebase
  • Cal Out

Dark Cal

Use the Calibrations dialog box to perform the required calibrations for optimum measurement performance.

Click Tools > Calibrations to open this dialog box.

The Dark Level tab lists dark calibrations for both optical and electrical channels. The calibration identifies internally generated offset (dark level) signals generated by external optical-to-electrical converters and removes them during the extinction ratio measurement calculations. The dark calibration applies to the currently selected filter rate for a channel. If a new filter rate is selected, you must perform another dark calibration. Prior to performing a dark calibration, adjust the vertical scale and offset so that the eye diagram uses the full display. Also, the dark level (the signal level when there is no input to the measurement) must be on the screen to be correctly measured.

To perform a calibration, select the calibration in the list and then click Calibrate. The Details.... button shows the calibration status including the time of the last calibration, the elapsed time, and the temperature change from the last calibration.

Calibration Status Icons
Icon | Description
 | Calibration is current
 | Calibration is recommended
 | Calibration has never been performed

The dialog box shows the status of all available calibrations for each module that is installed in the 86100D.

Click Calibrate to start all listed calibrations.

Do not remove a module from the 86100D during a calibration.

Note

The dark level is a function of the vertical scale parameter. Perform the dark calibration at the vertical scale level to be used when making the extinction ratio measurement. If you change the vertical scale after you perform the dark calibration, the calibration accuracy can be degraded. To test several devices with a broad range of output powers, set the vertical scale so that the devices with the largest output levels are completely on the screen. Perform the dark calibration at this vertical scale. The extinction ratios for the smaller signals can still be accurately measured if the eye diagram is at least 2 graticule divisions in height. Performing the dark calibration in this manner can prevent the need for multiple extinction ratio calibrations.

Note

A dark calibration is recommended if either the vertical scale or vertical offset (or both) are changed after the last calibration. However, if either of these values is changed back to the calibrated value, the calibration is then considered valid. For example, a channel calibrated at a scale of 500 µW/div will be invalid if the scale is changed to 50 µW/div, but it is valid if it is changed back to 500 µW/div.

The instrument identifies the offsets by measuring displayed signal levels when no light is present at the instrument input. Any offset that is detected is measured and included in the extinction ratio measurement algorithm. The instrument removes the offsets by subtracting the dark levels from the histogram means of both the one level and zero level.

A new extinction ratio calibration is recommended when the following occurs:

  • vertical scale is modified
  • vertical offset is modified
  • channel filter rate is changed
  • module is installed/removed
  • ±5°C temperature change from the latest module calibration temperature
  • approximately 8 of hours of continuous operation is exceeded
  • power is cycled

To make an extinction ratio calibration

  1. Click Tools > Calibrations….
  2. Click the Dark Level tab. The dialog box shows the value of the vertical scale and vertical offset at the time of the last calibration. Changing these setting will invalidate a calibration; if no other conditions have changed, returning these settings will validate the current calibration.

    3. Note

    If the message Module calibration is recommended is displayed in the dialog box. the instrument will automatically initiate the module calibration before it performs the extinction ratio calibration.

  3. Select the channel you want to calibrate and, if applicable, a filter rate. You can select one of four channels.

    4. Note

    The vertical scale setting affects the magnitude of the dark level offset. For best accuracy, perform the extinction ratio calibration at the vertical scale at which you will make your measurement. Increasing the vertical scale sensitivity for a large eye diagram display typically yields a more accurate measurement.

  4. Click the Calibrate button associated with the channel that will undergo calibration. This will initiate the extinction ratio calibration.
  5. Disable all input signals to the channel that will undergo calibration.

    6. Note

    If you want to perform an extinction ratio calibration on an electrical channel with an external optical to-electrical (O/E) converter, you must disable any input signal to the O/E converter. The converter should remain attached to the electrical channel and in an active state.

  6. Click Continue. When the calibration is complete, the status bar on the instrument displays the message Calibration completed.

    7. Note

    If the calibration fails, a message box opens and informs you that the module did not complete calibration. Click Help to open the help topic associated with the failure. This help topic provides information about the failure and includes a solution to resolve the error that occurred.

  7. Click Tools > Calibrations…. On the Dark Level tab, confirm that the current calibration is listed as valid.


Calibration (Optical)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Module
  • Dark Level
  • Optical
  • Probe
  • Skew
  • Timebase
  • Cal Out

Optical Cal

Use the Calibrations dialog box to perform the required calibrations for optimum measurement performance.

Click Tools > Calibrations to open this dialog box.

The Optical calibration tab is shown whenever an optical module is installed. For an N1090A DCA-M extended hardware module, you can use this tab to perform optical calibrations at both factory and user wavelengths. For any other optical module, this tab displays the current status of the module's optical calibration, but an actual calibration must be run in the 86100D Legacy configuration. The following picture shows the dialog box tab with an N1090A module connected.

Factory and user optical channel calibrations (also known as O/E calibration) compensate for the photodetector responsivity. This provides both an accurate display of the received optical waveform in optical power units and an accurate measurement of the signal's average power. If you perform an optical channel calibration at a factory-calibrated wavelength, the factory calibration will not be overwritten. If you will be operating at wavelengths different from the factory-calibrated wavelengths, perform a user optical channel calibration at the desired wavelength. An external CW optical source must be used, and the wavelength and power of the optical source must be entered for the calibration. The user-defined wavelength must be within the wavelength ranges specific to each module. For example, if you are operating the N1090A DCA-M module, you can select a user-defined wavelength between 750 nm and 1650 nm. The power output from the optical source must also be within the ranges specific to each module.

Do not remove a module from the 86100D during a calibration.

Calibration Status Icons
Icon | Description
 | Calibration is current
 | Calibration is recommended
 | Calibration has never been performed

Note

To perform an optical channel calibration, an optical source with a known optical output power level is required.

The minimum power level is recommended to assure specified performance over the instrument's full dynamic range. The calibration accuracy is heavily dependent on the accuracy to which you know the optical source power. For best results measure the optical source power with a high precision optical power meter.

Note

If the result for an average power measurement (either eye/mask mode or oscilloscope mode) is an extremely large value, the instrument may have lost the factory optical channel calibration. For example, a value of 260W may be displayed for a 100 µW signal. You can also perform an optical responsivity calibration for a user-defined wavelength.

Optical Calibration Requirements
Module | Calibrate From |  | Factory Calibrated Wavelength(s) | Source Optical Power Level
 | FlexDCA | 86100D Legacy Mode |  | Allowable | To Meet Specifications
N1090A | ♦ |  | 850 nm 1310 nm 1550 nm | 375 µW to 425 µW 175 µW to 225 µW 175 µW to 225 µW | 375 µW to 425 µW 175 µW to 225 µW 175 µW to 225 µW
86116B |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86116A |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86115D |  | ♦ | 850 nm 1310 nm 1550 nm | 800 µW to 2000 µW 500 µW to 1500 µW 500 µW to 1500 µW | 800 µW to 1500 µW 500 µW to 1000 µW 500 µW to 1000 µW
86115B |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86115A |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86113A |  | ♦ | 1310 nm 1550 nm | 100 µW to 500 µW 100 µW to 500 µW | 150 µW to 250 µW 150 µW to 250 µW
86111U |  | ♦ | 850 nm | 500 µW to 1.5 mW | 500 µW to 1 mW
86111A |  | ♦ | 850 nm | 100 µW to 500 µW | 150 mW to 250 µW
86109B |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86109A |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86106A |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86106B |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86105D |  | ♦ | 850 nm 1310 nm 1550 nm | 800 µW to 2000 µW 500 µW to 1500 µW 500 µW to 1500 µW | 800 µW to 1500 µW 500 µW to 1000 µW 500 µW to 1000 µW
86105C |  | ♦ | 850 nm 1310 nm 1550 nm | 375 µW to 425 µW 175 µW to 225 µW 175 µW to 225 µW | 375 µW to 425 µW 175 µW to 225 µW 175 µW to 225 µW
86105B |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86105A |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
86103B |  | ♦ | 1310 nm 1550 nm | 100 µW to 500 µW 100 µW to 500 µW | 150 µW to 250 µW 150 µW to 250 µW
86103A |  | ♦ | 1310 nm 1550 nm | 100 µW to 500 µW 100 µW to 500 µW | 150 µW to 250 µW 150 µW to 250 µW
86102U |  | ♦ | 850 nm | 500 µW to 1.5 mW | 500 µW to 1 mW
86102A |  | ♦ | 850 nm | 100 µW to 500 µW | 150 µW to 250 µW
86101A |  | ♦ | 850 nm | 100 µW to 500 µW | 150 µW to 250 µW
83487A |  | ♦ | 850 nm | 100 µW to 500 µW | 150 µW to 250 µW
83486A |  | ♦ | 1310 nm 1550 nm | 100 µW to 500 µW 100 µW to 500 µW | 150 µW to 250 µW 150 µW to 250 µW
83485B |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
83485A |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW
83482A |  | ♦ | 1310 nm 1550 nm | 500 µW to 1.5 mW 500 µW to 1.5 mW | 500 µW to 1 mW 500 µW to 1 mW


Calibration (Probe)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Module
  • Dark Level
  • Optical
  • Probe
  • Skew
  • Timebase
  • Cal Out

Probe Cal

Use the Calibrations dialog box to perform the required calibrations for optimum measurement performance.

Click Tools > Calibrations to open this dialog box.

Do not remove a module from the 86100D during a calibration.

Probe Calibration

The Probe tab is shown if the 86100D has been notified that a probe has been connected to an input channel.

Probe calibration allows the 86100D to determine the gain and offset of a specific probe that is connected to an electrical input channel and then apply those factors to the calibration of that channel. The calibration is performed using a DC level from the 86100D's front-panel DC Cal output. The 86100D calibrates the voltage at the tip of the probe or the cable input. The probe calibration is performed on electrical channels only and is only performed on one channel at a time. A probe calibration does not have to be performed but is recommended.

Note

Supported probes are identified at the time when they are connected to a channel input via the Channel Probe Setup dialog box. This occurs when the 86100D detects that a probe-power connection is made. The 86100D cannot detect any information about the attached probe. If your probe does not use the probe power connection, you must use the Channel External Hardware Setup dialog box to enter the probes parameters.

Note

You should calibrate a probe before making any critical measurements.

Typically, probes have standard attenuation factors, such as divide by 10, divide by 20, or divide by 100. If the probe being calibrated has an unusual attenuation, like 3.75, the instrument will adjust the vertical scale factors to an unusual number, such as 3.75 V/div.

The input circuits can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to the front-panel input connectors. Prior to connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure that the instrument is properly earth-grounded to prevent buildup of static charge. An anti-static mat and wristband are strongly recommended.

Click Calibrate to start all listed calibrations.

Calibration Status Icons
Icon | Description
 | Calibration is current
 | Calibration is recommended
 | Calibration has never been performed

To calibrate a probe

  1. If you are calibrating an N2800A-series probe, skip this procedure and use these steps instead.
  2. Connect the probe to the electrical channel you want to use. Select the probe in the Channel Probe Setup dialog box.
  3. Connect the probe tip to the front-panel DC Cal output.
  4. Click Tools > Calibrations and click the Probe tab.
  5. Click Calibrate to initiate the probe calibration.

Do not remove the module or probe tip during the probe calibration.

Note

For accurate calibration results, ensure there is a ground between the probe ground tip and the instrument mainframe.


Calibration (Skew)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Module
  • Dark Level
  • Optical
  • Probe
  • Skew
  • Timebase
  • Cal Out

Skew Cal

Use the Calibrations dialog box to perform the required calibrations for optimum measurement performance.

Click Tools > Calibrations to open this dialog box.

The Skew tab is displayed whenever an N1045A Electrical Remote Sampling Head Module or 86118A-H01 Remote Sampling Head Module is installed in the 86100D. This calibration removes any difference in the electrical lengths between the module's two remote sampling head cables. Click Calibrate to start the calibration and to display instructions for the first step. You must connect a 1.0 GHz sine wave to one of the input channels and a synchronous trigger to the 86100D's front-panel Trigger input. The amplitude of the signal must be between 200 mV (−10.0 dBm) and 710 mV (1.0 dBm).

Calibration Status Icons
Icon | Description
 | Calibration is current
 | Calibration is recommended
 | Calibration has never been performed

Note

During the calibration, always use same cables and connectors to connect the source to each of the module's channels.

Do not remove a module from the 86100D during a calibration.

The input circuits can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to the front-panel input connectors. Prior to connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure that the instrument is properly earth-grounded to prevent buildup of static charge. An anti-static mat and wristband are strongly recommended.

In the dialog box, click Details to view information about the time and temperature change from the last skew calibration.

Other Types of Deskew

Other Types of Deskew are available, including:

  • Auto Deskew. For N1045A and 86118A-H01 modules, removes all skew between a differential pair of channels, regardless of the source of the skew. The skew could be introduced by fixtures, the device-under-test, or the transmitter. Use this feature if you want to remove the skew and you are not interested in measuring the skew. To manually apply hardware skew to the individual channels, open an individual channel's Channel Setup dialog box and click Advanced. You can also use Auto Deskew to apply simulated hardware skew to simulated channels.
  • Fixture/Cables Deskew. For N1045A and 86118A-H01 modules, deskews any number of channels using a guided procedure that applies the same signal to each input in multiple steps. Skew contributed by the fixture is removed from the measurement with any remaining skew due to the DUT and transmitter.

Location of the Different Types of Skew


Calibration (Timebase)

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Module
  • Dark Level
  • Optical
  • Probe
  • Skew
  • Timebase
  • Cal Out

Timebase Cal

Use the Calibrations dialog box to perform the required calibrations for optimum measurement performance. The timebase calibration measures a reference clock signal and saves calibration factors to compensate for errors in the measurement system such as variations due to ambient temperature. The calibration results in the best instrument precision.

Click Tools > Calibrations to open this dialog box.

Do not remove a module from the 86100D during a calibration.

Available Timebase Calibrations
Timebase | Description
86100D-PTB Internal Precision Timebase | No connection required.
N1090A DCA-M Single Optical Channel Sampling Oscilloscope | Refer to N1090A Calibration Procedure in this topic.
86108A/B precision waveform analyzer modules | No connection required. This calibration is run from the 86108A/B dialog-box tab and not from the Timebase tab.
86107A precision timebase module | No connection required. This calibration is run from the 86107A dialog-box tab and not from the Timebase tab.

Note

No connections are required for performing a calibration on an 86100D-PTD or 86107A precision timebase. Information in the dialog box shows if a calibration is needed. Click a Calibrate button to run the calibration. A module calibration (Module tab) should be run before a starting a Timebase calibration.

Calibration Status Icons
Icon | Description
 | Calibration is current
 | Calibration is recommended
 | Calibration has never been performed

N1090A Calibration Procedure

To run the N1090A timebase calibration:

  1. Remove all inputs to the N1090A and click Calibrate in the dialog box.
  2. Wait until the first part of the test completes.
  3. When prompted, connect a sinewave through a power splitter to the Clock In and Timebase Calibration input connectors as shown in the following picture. The sinewave must be 20.000000 GHz (accurate to at least the nearest 1 kHz) and between 200 mVp-p and 700 mVp-p.
  4. Confirm that the signal is the correct amplitude by observing the Vp-p measurement on the displayed sinewave. If the signal is out of the required range, the calibration will abort and a message will be displayed. The color of the wavform matches the color of the N1090A's front-panel light (next to the Timebase Calibration input).
  5. Click Continue.

Service Mainframe Timebase Calibration

The Service mainframe timebase calibration (Qualified Keysight service personnel only) can only be performed when the 86100D is in Legacy Configuration.

A service mainframe timebase calibration must be performed by qualified Keysight service personnel. This dialog box tab shows the date when this calibration was last performed along with the change in temperature since the calibration. Mainframe timebase calibration is used to calibrate the input trigger hysteresis and timebase of the mainframe. The calibration data is stored on the instrument hard disk and is used to ensure accurate measurements. The mainframe timebase calibration is required when:

  • a change in the temperature of the mainframe exceeds 15°C compared to the temperature of the last mainframe timebase calibration (ΔT > 15°C)
  • there is a hardware problem
  • the factory calibration is damaged

The mainframe timebase calibration is recommended when

  • a change in the temperature of the mainframe exceeds 5°C compared to the temperature of the last mainframe timebase calibration (Δ T > 5°C)
  • the time since the last calibration has exceeded 1 year

Failure to follow the correct procedures outlined in the instrument service manual can cause erroneous calibration data to be stored in the instrument. Inaccurate calibration data will cause the instrument to produce inaccurate measurements.


86100D DC Cal Output

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Module
  • Dark Level
  • Optical
  • Probe
  • Skew
  • Timebase
  • Cal Out

Cal Output

The 86100D's front-panel calibration output (DC Cal) is used to

  • manually verify the DC accuracy of a module's electrical channel calibration and to
  • calibrate a probe.

In the Front Panel Cal Output dialog box, you can adjust the DC Cal output voltage to 0V ±2V. For best calibration accuracy, set the calibration output level to a voltage other than 0.0V. The default level is 5.0 mV. Setting the level above approximately ±800 mV will require that you offset the waveform display, add an external attenuator, or both.

Click Tools > Front Panel Cal Output to open this dialog box.

To Verify Electrical-Channel Calibration DC Accuracy

  1. Connect a cable between the DC Cal output and the module's channel input. Or, use the DC Cal output probe hook.
  2. Set the calibration output level using Front Panel Cal Output dialog box.
  3. Confirm that the measured calibration output level is the level entered in the dialog box.

Note

If you want to measure the calibration output level using an Keysight 86108A, 86116B, 86116C or 86118A module, you will need to make a custom cable. The custom cable is a normal cable with a series resistance added (50 ohm �0.1%). Connect your test cable between the front-panel Cal output and the module's electrical input. The measured value of the calibration output level is one half of the level shown in the front-panel Cal Output dialog box. This custom cable is not available from Keysight Technologies.


Channels and Slots

Channels:

  • i
  • Electrical Channel
  • Optical Channel
  • Fixture Deskew
  • External Hardware Setup
  • SIRC Data
  • Signal Types

Channels and Slots

The 86100D has four slots in which you can install the following modules:

  • Series N1040A single-slot modules
  • Series 83400, 86100, or 54700 two-slot modules
  • 86108A/B four-slot Precision Waveform Analyzer modules

Single-slot modules can be installed in any available slot. Two-slot modules can occupy slots 1 and 2 or 3 and 4. They can not span slots 2 and 3.

As shown in the following picture, the Channel Bar, located along the display's bottom edge, contains buttons and information about each input channel.

Channels are identified by the slot number followed by the channel letter. On N1040A-series modules, the channel letters by increase in alphbetical order starting from the top connector. On all other modules, the channel letters increase from left to right. Click a channel button to turn electrical channels and optical channels on or off and to enter precise values for channel scale and offset. When several channels are turned on, some may be hidden in the Channel Bar. Click the Scroll Left and Scroll Right buttons to bring the hidden channels into view. Or, click the Show/Hide Channels button to show all Channel buttons in the Channel bar. Click the Extended Module Setup button to view the Extended Module Setup dialog box from which you can assign external instruments and simulated channels to the 86100D..

A total of sixteen module input channels are possible, if you install four single-slot N1045A-04M or -04F modules. FlexDCA can simultaneously display and perform measurements on all 16 measurement channels. Additional four simulated slots (5 through 8) are available for:

  • External modules (connected via LAN or USB). An example of an external module is the N4877A clock data recovery and demultiplexer.
  • Simulated modules

Note

Turning the channel off also turns off the markers assigned to that channel.

When an autoscale is performed, FlexDCA automatically attempts to identiy the signal type on each input.

Module Front-Panel Connectors
Connector Description
Electrical input connectors are located on plug-in modules.
  • Electrical Input Accessories
  • Protecting Electrical Connectors
Optical input connectors are only available on plug-in modules with internal optical channels.
  • Optical Input Accessories
  • Protecting Fiber-Optic Connectors
Beneath the channel connectors on most modules is located a probe-power connector, which provides power to recommended active probes.

Protecting Electrical Channels

Electrical channels can be used to perform measurements on tributary electrical signals, evaluate receiver performance in transceiver testing, use available external optical receivers, and perform general purpose measurements.

  • ESD protection
  • Electric Overload Stress (EOS). The Keysight N9355CK01 is a DC coupled limiter (DC to 26.5 GHz) that is used to protect sensitive oscilloscope channels from damage due to electric overload stress (EOS) and electrostatic discharge (ESD). For example, voltages in excess of ±2V can damage high-performance samplers used in oscilloscopes. The limiter dramatically reduces the likelihood that such voltages will reach the sensitive part of the instrument, ensuring that the oscilloscope will perform reliably. Instruments with dual electrical channels, such as the 54754A, will require two N9355CK01 limiters. Step generators within the TDR modules use ≤0.2V, which is less than the diode threshold of the N9355CK01 limiter. The N9355CK01 can also be used to protect the electrical channel of the 86105x and similar modules, as long as the signal does not exceed –0.5V to +0.5V. The N9355CK01's voltage drop is ±0.6V to 0.7V at ±10 mADC.

The N9355CK01 will protect instruments from occasional and short voltage spikes. A major power source, such as a high voltage and current supply can still cause severe damage to the limiter itself, or the instruments. Operators should continue using industry standard EOS and ESD practices to minimize this risk.

Figure. Two N9355CK01s Inserted into Signal Paths


Signal Types

Channels:

  • i
  • Electrical Channel
  • Optical Channel
  • Fixture Deskew
  • External Hardware Setup
  • SIRC Data
  • Signal Types

Signal Types

When an autoscale is performed, FlexDCA attempts to identify the type of each signal that is displayed on the screen. Sources for these signals include channels, common mode channels, differential channels, and functions. Each of these signals can be identified as one of the following types:

  • Unspecified
  • NRZ format
  • PAM4 format

The Signal Type setting is located on the various setup dialog boxes as listed in the following table. If options 9FP or 9TP PAM-N Analysis software license is installed, also use the PAM-N Analysis Setup dialog box.

In certain situations, the signal type may not be able to be identified. For example, this can happen when a PAM4 waveform's eye is nearly closed. If this happens, you can manually specify the source waveform's signal type.

The source type of waveform memories and eye memories is not autodetected. If you save a waveform or color-grade gray-scale waveform to a file, the signal type is noted within the saved file: unspecified, NRZ, or PAM4. If the file is then loaded into waveform or color-grade gray-scale memory the signal type setting is loaded along with the data. Of course, you can always manually set the signal type.

The following table shows the dialog boxes and remote commands for controlling signal type selection and detection.

Commands for Setting and Detecting Signal Types
Waveform Source | Local Dialog Boxs | Global Dialog Box | Command
Channel Signals | Electrical Advanced Setup and Optical Advanced Setup | PAM-N Analysis Setup | CHANnel:SIGNal:TYPE
 |  |  | CHANnel:SIGNal:TYPE:AUTO
 |  |  | CHANnel:SIGNal:TYPE:DETect
Common-Mode Signals |  | PAM-N Analysis Setup | CMODe:SIGNal:TYPE
 |  |  | CMODe:SIGNal:TYPE:AUTO
 |  |  | CMODe:SIGNal:TYPE:DETect
Differential Signals | Differential Advanced Setup | PAM-N Analysis Setup | DIFF:SIGNal:TYPE
 |  |  | DIFF:SIGNal:TYPE:AUTO
 |  |  | DIFF:SIGNal:TYPE:DETect
Functions | Function Setup | PAM-N Analysis Setup | FUNCtion:SIGNal:TYPE
 |  |  | FUNCtion:SIGNal:TYPE:AUTO
Eye Memory | Eye Memory | PAM-N Analysis Setup | EMEMory:SIGNal:TYPE (valid in Eye/Mask mode only)
Waveform Memory | Waveform Memory | PAM-N Analysis Setup | WMEMory:SIGNal:TYPE (valid in Oscilloscope mode only)

Note

Signal types were introduced with firmware version A.04.50.


Waveform Annotations

To see how FlexDCA interprets a waveform to calculate the measurement result, click on the measurement listed in the Results table. Annotations are placed on the waveform at the level or coordinate used to calculate the final result. By default, FlexDCA annotates the first measurement listed on the Results table (the highest row of the table). Annotation labels are only placed on valid measurement results. Annotation labels can be turned off from the measurement Results panel using the control shown in the following picture. This can be helpful in situations where the labels are hiding a portion of a waveform that you wish to inspect or to prevent annotations on screen captures.

There are two types of annotation labels, level and coordinate. With level labels, the annotation is placed on the horizontal axis. This annotation point is a vertical result that is calculated over a horizontal range. With coordinate labels, the annotation is placed on an intersection of a vertical and horizontal result.

For example, a jitter (peak-to-peak) measurement is a measure of the time variances of the rising and falling edges of an NRZ eye diagram as these edges affect the crossing points of the eye. FlexDCA generates a time histogram at the crossing point. It then positions the annotation labels at the full width of the histogram at the eye crossing.

Some measurements show the measurement result directly. For example, a one level measurement is calculated using the mean value of the logic 1 level. FlexDCA positions the annotation labels at the one level.


Vertical Scale and Offset

You can change the vertical scale and offset of Channels, Waveform Memories, Color-Grade/Gray Scale Memories, and Waveform Signal Processing Functions. The waveform's offset value represents an absolute value on the display. Vertical scale changes the sensitivity and sets the volts-per-division scale (watts-per-division for optical channels). The vertical expansion and contraction is about the center offset value of the display and not at the ground reference. For optical channels, vertical expansion and contraction is about the second graticule division from the bottom of the display screen and also not at the ground reference. To make coarse adjustments, the instrument uses a scheme of settings referred to as the 1-2-5 sequence. This sequence is used for making quick adjustments to the vertical scale of a waveform. The 1-2-5 sequence gives the instrument the ability to assign whole, easy-to-interpret numbers (values) to the volts (or watts) per division. Using this sequence allows you to take a quick glance at the waveform on the display when you are not concerned about specific settings for vertical scale values.

The following paragraphs describe several methods that you can use to adjust scale and offset.

Scroll-Wheel Mouse

If you have a scroll-wheel mouse:

  1. Hover the mouse pointer over the scale or offset value on a channel button or in the waveform Signal palette.
  2. Turn the mouse wheel to adjust scale or offset.

Click on Scale and Offset Values

Click on the values shown on the channel button, waveform setup dialog box, or in the waveform Signal palette to open a dialog box.

86100D's Vertical Scale and Offset Knobs

If FlexDCA is running embedded on the 86100D, turn the front-panel vertical scale and offset knobs to scale a waveform. If multiple waveforms are displayed, you must first select a waveform for adjustment by pushing either knob to display the waveform selection panel. Repeatedly pushing the knob selects a waveform for scaling. The panel is automatically removed from the display after a few seconds. The action of both knobs is coupled to the waveform and each displayed waveform can have its own vertical scaling and offset.

After selecting a waveform, two indicators show which waveform is coupled to the knobs:

  • Light (between the scale and offset knobs). The color of the icon matches the color of the selected waveform.
  • Icon (representing two knobs). The color of the icon matches the color of the selected waveform.

Drag the Waveform Offset Indicator

You can quickly change a waveform's vertical offset by dragging its offset marker ( [image] ) up or down. The offset marker is visible on the display's right side and has the same color as the associated waveform. The offset marker shows the location of 0V for electrical channels and 0W for optical channels. Each waveform has its own ground marker. During an Auto Scale, an offset is applied to vertically center the signal. The offset changes the vertical position of the waveform on the display screen without modifying the waveform itself. In this picture, the Channel 1A waveform (yellow) has an offset applied that vertically centers the waveform. The offset has been removed from Channel 1B's waveform (orange). The position of a waveform on the display screen is always relative to the offset value.

Note

As the numeric value of the scale is increased the displayed waveform decreases in size, and as numeric value of the scale is decreased, the waveform increases in size. As the offset value is increased, the waveform is shifted downward. As the offset value is decreased, the waveform is shifted upward.

Note

861xx series plug-in modules also include vertical scale adjust knobs on their front panels.


Signals Palette

Click the Signals button, located in the lower-right corner of the display, to open the Signals Palette. The Signals Palette shows all available channels, simulated channels, functions, and memories. The Signals Palette offers a very quick method of turning waveforms on and off, adjusting scaling, and changing a waveform's color. In the following example figure, the following waveforms are displayed: Channel 1A, Channel 2A, Function 1 , Memory 1, and Eye Memory 1. The Signals Palette does not show TDR/TDT Mode's T-domain parameter's and S-parameters.

To turn a waveform on or off, click the circular waveform button.

To adjust a waveform's scale and offset, click the scale label as shown by the mouse position in the right-hand picture below. Notice that the mouse icon changes to look like the picture to the right of this paragraph when it is hovering over the scale label.

Click the [image] button located in the lower-right corner of the palette to open the Display Mode dialog box from which you can select one of three display formats for the signals palette. The Full selection displays the largest signal cards which include traces of the associated waveform. The Compact view removes the waveform and the Mini view provides only the waveform display on and off buttons.

Figure. Full Mode

Figure. Compact Mode

Figure. Mini Mode


Electrical Channel Setup

Channels:

  • i
  • Electrical Channel
  • Optical Channel
  • Fixture Deskew
  • External Hardware Setup
  • SIRC Data
  • Signal Types

Electrical Channel Setup

Your module may have electrical channels, optical channels, or both. The dialog-box configuration varies depending on the available channel types. This topic provides information on configuring electrical channels.

Click Setup > Modules > Channels X to open the Channel Setup dialog box.

Click the channel button to display or hide a channel's waveform on the display.

Click Scale to set the channel's sensitivity (volts-per-division), with vertical expansion and contraction is about the center offset value of the display.

Click Offset to set the waveform's offset, which is identified by a ground marker ( [image] ). This marker is located on the display's right side, has the same color as the associated waveform, and identifies the location of 0V. Each channel has its own ground marker. The default marker position is middle screen for electrical channels. During an Auto Scale, an offset is applied to vertically center the signal. The offset changes the vertical position of the waveform on the display screen without modifying the waveform itself. The offset value represents an absolute value on the instrument display. The amount of offset applied is shown on the Channel button. You can also quickly change a waveform's vertical offset by using the pointing device to vertically drag the ground marker ( [image] ) on the display.

The Bandwidth setting affects the width of the sampling pulse used by the 86100D. The wider bandwidth option allows the 86100D to respond to fast changes in a waveform. The increased bandwidth then yields the highest measurement fidelity. The narrow bandwidth offers the best sensitivity by reducing the noise on the input waveform while still maintaining good frequency response. A lower sampler bandwidth is especially useful for low level signals that cannot be averaged. For example, this situation can occur when using an eye diagram to view a low-level signal on an 86100D-STR, Standard Trigger instrument. You can average eye diagrams on an 86100D with Option ETR.

SIMULATED CHANNELS

For simulated channels, the dialog box includes the DATA SIM button as shown in this figure. Clicking on this button to opens Configure Simulated Source dialog box for configuring the simulated channel.

Note

The Bandwidth setting is not available for simulated channels.

Custom Waveform User Names

Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can change the waveform's labels to your own more meaningful user name by clicking on the label in this dialog box.

  • To learn about custom labels

Waveform Color

Click the Color button to display the waveform in one of 16 colors.

External HW

Click External HW to compensate for an external transducer or external attenuator in the test setup. External hardware scaling is available for both electrical and optical channels. If a probe has been configured for the channel, information for the probe is also presented.

Advanced Settings

Click the Advanced button to apply Horizontal Software Delay and to select the signal type.

Differential Channels

For differential channels, the dialog box looks like the following picture for the 86112A dual electrical module.

Click the Diff button to activate differential mode.

To view the differential waveform for the two channels, click the differential display button. All three waveforms can be simultaneously viewed. Scale and Offset controls are available for the differential waveform, but are unavailable for the individual channels. In differential mode, you can click one of three Advanced buttons. The button for the individual channels allows you to apply hardware skew and software delay. The Advanced button for the differential waveform allows you to apply horizontal software delay, enable automatic scaling, and to select the signal type.


Electrical Channel Advanced Setup

This dialog box contains advanced settings for electrical channels. A similar Advanced Setup dialog box is available for differential channels.

Click Setup > Modules > Channels X to open the channel setup dialog box, and click the Advanced button to open this dialog box.

Software Delay

Manually adjust the Software Delay to change the horizontal position of a displayed waveform with respect to another active channel. This allows you to compensate for the time offset between two or more channels. The difference in timing may be caused by different types or lengths of cable. The adjustment also allows you to lay one channel waveform over another channel waveform and compare the shapes of the two waveforms.

Note

The Software Delay adjust differs from the Horizontal position control, which changes the position all of the channels at the same time. Adjusting Software Delay does not affect the horizontal scale, vertical scale, and offset of the displayed channels.

Units

When this field is active, you can change the magnitude units.

Name …

Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can change the waveform's labels to your own more meaningful user name by clicking the Name button.

  • To learn about custom labels

Signal Type

In FlexDCA, three signal types can be input on a channel: Unspecified, NRZ format, or PAM4 format. The PAM4 selection is only available if options 9FP or 9TP PAM-N Analysis software license is installed. By default, the signal type is automatically detected. Use this field to manually specify the signal type. This can be useful in cases where the waveform is difficult to decipher. The Signal Type settings are coupled to the identical settings that are in the PAM-N Analysis Setup dialog box. You can make these selections in either location.

  • Introduction to signal types

Additional Controls for N1045A, 86118A-HO1 Modules, and Simulated Modules

You can apply Hardware Skew to a remote sampling head of N1045A and 86118A-H01 modules. This fine delay setting adjusts the timing of the internal sampling and is used to effectively match the electrical lengths of the two remote sampling heads. To automatically deskew the two N1045A or 86118A-H01 remote sampling heads, perform a Skew Calibration. Hardware Skew is not designed to correct for skew that has been introduced by external hardware between two waveforms; use External Hardware Skew instead. You can also apply simulated hardware skew to simulated chanels.

Two deskew buttons are shown at the top of the dialog box: Auto Differential Deskew and Fixture/Cables Deskew Wizard. The Auto Differential Deskew button is only active if differential waveforms are turned on. These buttons give you quick access to these functions from this dialog box. Click these buttons to deskew the channels at either of the two location that are identified in the following picture. The location of the Skew Calibration is also identified in this dialog box.

DESKEW RANGE

The available hardware skew range depends on the module and is listed in the module's specifications.

  • N1045A specifications
  • 86118A specifications

The N1045A and 86118A module's RF inputs are very sensitive to ESD. The 1.85 mm RF connectors require special care.

Note

Skew Non-Linearity. The skew value displayed in the dialog box is a rough approximation to the amount of skew being introduced into the measurement channel.For instance, setting the left channel skew to 100 ps will skew that channel by roughly100 ps. The actual amount that it moves may be more like 140 ps.

Note

Avoid bending the remote-head cables after the deskew is performed. The cables connecting the 86118A remote heads to the plug-in module contain a high-frequency sampling strobe signal. The cables are designed to minimize the change in phase of the strobe signal as the cable is bent. However, bending either cable will change the cable�s phase by several picoseconds, thereby skewing that channel relative to the other channel, as seen on the DCA display. Before performing a deskew on the channels, it is best to position the remote sampling heads as they will be used during the measurement.

Note

Timebase Jitter. At its default skew setting (0 ps), the circuitry in the 86118A that skews differential signals has virtually no measurable impact on the jitter of the DCA, even if a precision timebase (86107A) is used. However, changing the skew to a value other than the default may affect the jitter of the DCA slightly.


Electrical Differential Channel Advanced Setup

This dialog box contains advanced settings for differential electrical channels. A similar Advanced Setup dialog box is available for normal channels.

Click Setup > Modules > Channels X to open the channel setup dialog box, and click the Advanced button to open this dialog box.

Software Delay

Manually adjust the Software Delay to change the horizontal position of displayed waveforms. Which waveform is delayed is determined by the Scale Channels Automatically setting as explained in the following section. Software delay allows you to compensate for the time offset between two or more channels. The difference in timing may be caused by different types or lengths of cable. The delay adjust also allows you to lay one channel waveform over another channel waveform and compare the shapes of the two waveforms. Delay increases the time required to acquire the measurement data. When performing differential measurements by subtracting two channels of N1045A or 86108A-H01 modules, you must use pattern lock and manually apply Hardware Skew.

Note

The Software Delay adjust differs from the Horizontal position control, which changes the position all of the channels at the same time. Adjusting Software Delay does not affect the horizontal scale, vertical scale, and offset of the displayed channels.

Scale Channels Automatically

By default, the Scale Channels Automatically setting is selected, which links the following controls:

  • Changes to Software Delay will be applied to both differential input channels A and B (or C and D).
  • Changes to a differential waveform's vertical scale or vertical offset in the Channel Setup dialog box will affect the vertical scale or vertical offset of the differential waveform and both differential input waveforms. For example, if you set the differential waveform to 200 mV/division, each input waveform (A and B or C and D) will be set to 100 mV/division.

If you clear Scale Channels Automatically the linking of these controls are disabled. Any software delay added to the differential waveform is applied to channel A with respect to channel B (or channel C with respect to channel D). The vertical scale and vertical offset of each waveform (differential and two differential input waveforms) can be made independently of the other waveforms.

Units

When this field is active, you can change the magnitude units.

Signal Type

In FlexDCA, three signal types can be input on differential channels: Unspecified, NRZ format, or PAM4 format. The PAM4 selection is only available if options 9FP or 9TP PAM-N Analysis software license is installed. By default, the signal type is automatically detected. Use this field to manually specify the signal type. This can be useful in cases where the waveform is difficult to decipher. The Signal Type settings are coupled to the identical settings that are in the PAM-N Analysis Setup dialog box. You can make these selections in either location.

  • Introduction to signal types

Custom Waveform User Names

Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can change the waveform's labels to your own more meaningful user name by clicking the Name button.

  • To learn about custom labels

Deskew for N1045A, 86118A-HO1 Modules, and Simulated Modules

Available for N1045A and 86118A-H01 modules, two deskew buttons are shown at the top of the dialog box: Auto Differential Deskew and Cables/Fixture Deskew Wizard.

Auto Differential Deskew is only active if a differential waveforms is turned on. Click this button to deskew the channels at the two locations identified in the following picture. Use Auto Differential Deskew to apply hardware skew that removes all skew between a differential pair of channels, regardless of the source of the skew. The skew could be introduced by fixtures, the device-unter-test, or the transmitter. Use this feature if you want to remove the skew and you are not interested in measuring the skew. To manually apply hardware skew to the individual channels, open an individual channel's Channel Setup dialog box and click External HW button. Auto Differential Deskew can also be applied to simulated hardware skew to simulated channels.

Location of the Different Types of Skew

DESKEW RANGE

The available deskew range depends on the module and is listed in the module's specifications.

  • N1045A specifications
  • 86118A specifications

Cables/Fixture Deskew runs a fixture deskew wizard for N1045A and 86118A-H01 modules that deskews any number of channels. This guided procedure applies the same signal to each input in multiple steps. Skew contributed by the fixture is removed from the measurement with any remaining skew due to the DUT and transmitter.

For an N1045A module, a Skew Calibration is available that deskews the difference in electrical length between the two remote sampling head cables. It also calibrates the time accuracy.

Note

To deskew the inputs of an 86108A/B module, use external phase trimmers.

Note

An identical signal must be applied to both input channels before performing an Auto Deskew.

Note

Avoid bending the remote-head cables after the deskew is performed. The cables connecting the 86118A remote heads to the plug-in module contain a high-frequency sampling strobe signal. The cables are designed to minimize the change in phase of the strobe signal as the cable is bent. However, bending either cable will change the cable�s phase by several picoseconds, thereby skewing that channel relative to the other channel, as seen on the DCA display. Before performing a deskew on the channels, it is best to position the remote sampling heads as they will be used during the measurement.

Changing the N1045A's bandwidth after performing any deskew degrades the applied deskew. If you need to change the module's BW while observing the DUT, use an Instrument Setup:

  1. Connect the remote heads to the DUT.
  2. For each BW setting:
    1. Select the module's BW setting.
    2. Perform the Auto Deskew.
    3. Save the Instrument Setup. (File > Save > Instrument Setup)
  3. Recall the Instrument Setup for the desired measurement BW. (File > Open Instrument Setup)

The Effect of Skew on Differential Signal

An eye diagram of a differential signal in which there is skew between the two signals can have three "logic" levels as shown in the following pictures. After the two signals have been deskewed, a traditional eye diagram will be displayed that shows two logic levels.

Differential Signal With Skew

Eye Diagram of Signal With Skew

The following drawings show the logic levels before and after an Auto Deskew on two skewed input signals. The differential signal is Channel 1A minus Channel 1B. Notice in the top picture that there are three "logic" levels: –1V, 0V, and +1V.

Logic Levels Detected Before Auto Deskew

Logic Levels Detected After Auto Deskew


Channel External Hardware Setup

Channels:

  • i
  • Electrical Channel
  • Optical Channel
  • Fixture Deskew
  • External Hardware Setup
  • SIRC Data
  • Signal Types

Channel External Hardware Setup

Use the Channel External Hardware Setup dialog box to indicate if an external transducer or external attenuator is present in your test setup and to compensate for any scaling or offset introduced by the device. You can also use this dialog box to enter the information for a probe that does not have an probe-power connection.

Click Setup > Modules > Channels X. In the channel setup dialog box, click the External HW button to open this dialog box.

Click An External Transducer is Connected and then Setup to compensate for a transducer. Click An External Attenuator is Connected and then Setup to compensate for an attenuator. The dialog box expands to show both a diagram representing the device and the device's current settings.

If a probe has been setup for the channel through the Channel Probe Setup dialog box, the External Hardware Setup dialog box will look like the following picture. You can click Setup to redefine the connected probe.


Transducer Setup

Use the Transducer Setup dialog box to specify changes in gain, offset, signal inversion (negative gain), and measurement units that are introduced by an external device in your test setup. This allows FlexDCA to report measurement values and show vertical scaling as if the measurements were made before the transducer rather than at the oscilloscope's channel input. For example, if the output of an E/O device is connected to an optical channel, amplitude measurements will be displayed in Watts. With transducer conversion factors entered, amplitude measurements will be shown in volts with the corrected value.

The following example shows an E/O transducer with a gain of 2.0 W/V and 0V offset. A 50.0 mV one level at the transducer's input would result in a 100 mW optical signal to the oscilloscope's optical channel input. After entering the transducer conversion factors, the oscillocope would indicate a 50 mV one level. For an offset signal, you would normally adjust the Offset value in the dialog box to center the signal on the display. Transducers may produce a positive or negative offset voltage at their output. Enter an Offset value that corresponds to the offset magnitude but with the opposite polarity of the transducer offset. For example, enter a value of –0.5V to compensate for a transducer with an offset of +0.5V. If the transducer inverts the signal, select Invert.

The following table show the relationship between transducer input, gain, and offset measurement units and the oscilloscope's displayed vertical scale.

Transducer Compensation Units
Transducer Measurement Units |  |  |  | Oscilloscope Vertical Scale/Division
Transducer Input Units | Gain Conversion Factor Units |  | Offset Units
 | Electrical Output | Optical Output
VOLTs | V/V | W/V | V | V/div
AMPere* | V/A | — | A | A/div
WATT | V/W | W/W | W | W/div
UNKown | V/U# | V/U | U | U/div
*. Electrical channel only. #. Unknown units.

Note

If the ratio of the transducer offset to the signal amplitude is greater than 100,000, the resulting resolution results in measurement inaccuracies.


Attenuator Setup

Use the Attenuator Setup dialog box to specify attenuation introduced by an external device in your test setup. This allows FlexDCA to report measurement values as if the measurements were made before the attenuator rather than at the oscilloscope's channel input. You can select to enter attenuation in decibels, voltage ratio (electrical channels), or power ratio (optical channel). The default units are decibels. Clicking Reset Attenuation to 1:1 resets the attenuation to the default value of 0 dB (1:1).

Note

When entering attenuation in decibels, enter the attenuation as a positive value into the Attenuation field. Gain is implied when you enter negative decibel values.

For example, if your test setup included an electrical signal with 3 dB of attenuation, a signal with a 100.0 mV one level (before the attenuation) would be measured as 70.8 mV at the oscilloscope's channel input. However, after entering 3 dB (or 1.413:1 ratio) of attenuation compensation, the corrected oscilloscope measurement would read 100 mV.

Optical Signals

Attenuation is expressed differently depending on the type of signal applied. For an optical signal the following equation applies. With a 6 dB attenuation setting, the signal is interpreted as being four times the channel input level.

Electrical Signals

The following equation shows attenuation for an electrical signal. For a 6 dB attenuation setting, the signal is interpreted as being double the channel input level.

With an attenuation factor expressed in decibels, the conversion of the channel input value would be:

With an attenuation factor expressed as a voltage ratio, the conversion of the electrical channel input value would be:

Effects on Channel Settings

When compensating for an external attenuator, the channel settings change in the following ways:

  • The unit values and amplitude of the markers and vertical measurements reflect the signal at the input of a transducer, probe, attenuator, or amplifier.
  • The maximum and minimum vertical scale settings change by a specified factor.
  • Offset minimum and maximum values change by a specified factor.

Note

Gain is implied when you enter negative decibel values or ratios of less than 1:1 in the Attenuation box.

Note

The default attenuation value is 1:1 when no active probes are connected to the instrument. When an active probe such as the N2800A is connected, the default value is the nominal value of the probe and the Reset Attenuation to 1:1 button is unavailable.

Note

For electrical channels, the value displayed in the Attenuation box is the same value displayed in the 86100D's Probe tab of the All Calibrations dialog; changing one value will change the value of the other.

Note

For both power and electrical signals, the available attenuation ratio range is 0.0001:1 to 1,000,000:1. This is equivalent to –40 dB to 60 dB for power, and –80 dB to 120 dB for electrical signals.


Deskew Fixture/Cables Wizard

Channels:

  • i
  • Electrical Channel
  • Optical Channel
  • Fixture Deskew
  • External Hardware Setup
  • SIRC Data
  • Signal Types

Deskew Fixture/Cables Wizard

For N1045A and 86118A-H01 modules, use the Fixture Deskew dialog box to deskew any number of channels using a guided procedure that applies the same signal to each input in multiple steps. Skew contributed by the fixture is removed from the measurement with any remaining skew due to the DUT and transmitter. It does not include any skew that is internal to the device-under-test. The skew is calibrated to the measurement reference plane.

You can deskew any number of channels across different N1045A and 86118A-H01 modules. Because Fixture Deskew requires single-valued waveforms, the 86100D is placed in Oscilloscope Mode for the duration of the procedure.

Click Tool >Deskew Fixture/Cables Wizard to open the Fixture De-Skew dialog box, and click the Advanced button to open this dialog box.

Note

Perform a Skew Calibration before running the Deskew Fixture/Cables Wizard. The skew calibration corrects for skew at the input to the module's remote sampling head and also calibrates the time accuracy.

When the procedure starts, you will be instructed to select the channels that you want to deskew. Then, as the procedure progresses, you will be instructed to connect the signal source sequentially to each channel's measurement reference plane. The type of signal required depends on whether pattern lock is established:

  • If pattern lock is established, connect the pattern-locked signal to the DUT end of the fixture.
  • If pattern lock is not established, connect a clock signal to the DUT end of the fixture and a synchronous trigger to the 86100D's front-panel trigger connector.

The signal source path can include the DUT, cables, and connectors. This signal source path (without any changes) must be used when measuring each channel, thus ensuring that the only phase difference between the channels is due to any test cables and fixtures.

At the completion of the test, click Save State to save the deskew values to an instrument setup file (.setx). The setup file can be recalled at a later date to load the deskew data without having to rerun the Fixture Deskew. In order for the data to be accurate, your currect signal source, cables, and connectors must be identical to those used when the Fixture Deskew data was saved. This also means that the positions of cables should not have been altered, especially the cables connecting the remote sampling heads to the modules. Changing cable positions, introduces changes in phase to the signal path.

Other Types of Deskew

Other Types of Deskew are available, including:

  • Auto Deskew. For N1045A and 86118A-H01 modules, removes all skew between a differential pair of channels, regardless of the source of the skew. The skew could be introduced by fixtures, the device-unter-test, or the transmitter. Use this feature if you want to remove the skew and you are not interested in measuring the skew. To manually apply hardware skew to the individual channels, open an individual channel's Channel Setup dialog box and click Advanced. You can also use Auto Deskew to apply simulated hardware skew to simulated channels.
  • Skew Calibration. For N1045A modules, deskews the difference in electrical length between the two remote sampling head cables. It also calibrates the time accuracy.

Location of the Different Types of Skew

Note

The available deskew range is based on the N1045A module's specifications.

Note

When measuring each channel, the exact same cables, connectors, and clock source must be used.

The RF inputs on the module's remote sampling heads are very sensitive to ESD. The 1.85 mm RF connectors require special care.

Note

Skew Non-Linearity. The skew value displayed in the dialog box is a rough approximation to the amount of skew being introduced into the measurement channel.For instance, setting the left channel skew to 100 ps will skew that channel by roughly100 ps. The actual amount that it moves may be more like 140 ps.

Note

Avoid bending the remote-head cables after the deskew is performed. The cables connecting the N1045A remote heads to the plug-in module contain a high-frequency sampling strobe signal. The cables are designed to minimize the change in phase of the strobe signal as the cable is bent. However, bending either cable will change the cable's phase by several picoseconds, thereby skewing that channel relative to the other channel, as seen on the DCA display. Before performing a deskew on the channels, it is best to position the remote sampling heads as they will be used during the measurement.


Optical Channel Setup

Channels:

  • i
  • Electrical Channel
  • Optical Channel
  • Fixture Deskew
  • External Hardware Setup
  • SIRC Data
  • Signal Types

Optical Channel Setup

Your module may have electrical channels, optical channels, or both. The dialog-box configuration varies depending on the available channel types. This topic provides information on configuring optical channels.

SIMULATED CHANNELS

For simulated channels, the dialog box includes the DATA SIM button as shown in this figure. Clicking on this button to opens Configure Simulated Source dialog box for configuring the simulated channel.

Click Setup > Modules > Channels X to open this dialog box.

Click the channel button to display or hide the channel's waveform on the display.

When an 86115D Option 004 module is used, the Channel Setup dialog box includes the Input Connector field shown in this figure. This field allows you to select either input A or input B for the channel.

Scale sets the channel's sensitivity (Watts-per-division), with vertical expansion and contraction about the second graticule division from the bottom of the display screen.

A waveform's Offset is identified by a ground marker ( [image] ). This marker is located on the display's right side, has the same color as the associated waveform, and identifies the location of 0W. Each channel has its own ground marker. The default marker position is two graticules down from the middle screen for optical channels. During an Auto Scale, an offset is applied to vertically center the signal. The offset changes the vertical position of the waveform on the display screen without modifying the waveform itself. The offset value represents an absolute value on the instrument display. The amount of offset applied is shown on the Channel button. You can also quickly change a waveform's vertical offset by using the pointing device to vertically drag the ground marker ( [image] ) on the display.

Reference Filters

Reference Filters are used with optical channels for compliance testing. On some modules, there is a Filter On field that can be used to enable or disable the filter. For example, SONET/SDH, Gigabit Ethernet, and Fibre Channel standards have defined the compliance tests for consistency in standard measurements. These tests must be performed in a specific bandwidth. This bandwidth is achieved using the filters in the optical channels. The compliance tests then verify the performance of the input signal in that bandwidth. These filters concur with specific SONET/SDH, FC, or Gb En data rates. The filters available for the optical channels are dependent upon the type of plug-in module used to measure the input waveform.

Note

The Reference Filters setting is not available for simulated channels.

Note

Modules with a single filter allow you to only turn the available filter on or off. Modules that have filters that remain in the filter path at all times allow you to only select the filter you want to use from the Filter On. The selected filter will always remain enabled.

Note

The optical filter selection is only displayed for plug-in modules with internal optical channels.

Reference Filters and SIRC Data

Select SIRC (System Impulse Response Correction) to apply 86105C, 86105D, 86115D, or 86116C module correction data (Option IRC). The correction data compensates for the optical module's specific response and ensures that the eye diagram will look more consistent between different modules.

  • To learn about SIRC Data

Note

SIRC data must be loaded and Pattern lock must be turned on. The SIRC selection is unavailable when controlling 86100D-STR instruments.

Reference Filter for TDEC Measurement (86105D and 86115D modules)

For TDEC compliance measurements, the relevant standard calls for a specific reference filter to be used. Select the TDEC (12.6 GHz) filter in the Reference Filter drop-down list. This reference filter is not required unless you are performing a compliance measurement.

Wavelength Setting

Use the Wavelength field to select the calibrated wavelength for measurements. Optical channels use an internal photo detector to receive an optical signal and then convert this signal to an electrical signal. A conversion gain (factor) is used to accurately display the signal in optical power units. For example, 1 mW of optical power yields a 28 mV electrical signal. Optical channels are factory calibrated at a specific Wavelength to provide both accurate display of the received optical waveform in optical power units and measurement of the signal's average power. Refer to Optical Calibration to learn the calibrated wavelengths of individual modules. Optical channels have reduced bandwidth settings for improved noise performance.

You can also operate optical channels at a user-defined wavelength, however this requires that you exit FlexDCA and use the 86100D's standard user interface. The user-defined wavelengths must be within the wavelength ranges specific to each plug-in module. For example, if you are operating the 86101A module, you can select a user-defined wavelength between 750 nm and 860 nm.

Note

The Wavelength setting is not available for simulated channels.

Note

The Wavelength selection is only displayed for plug-in modules with internal optical channels.

Note

Prior to configuring the channel to use a user-defined wavelength, you must first perform an optical calibration on the wavelength.

An allowable source power level is recommended during calibration to assure specified performance over the instrument's full dynamic range.The optical channel calibration accuracy is heavily dependent on the accuracy to which you know the optical source power. For best results measure the optical source power with a high precision optical power meter.

Custom Waveform User Names

Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can change the waveform's labels to your own more meaningful user name by clicking on the label in this dialog box.

  • To learn about custom labels

Waveform Color

Click the Color button to display the waveform in one of 16 colors.

External Hardware Scaling

Click External HW to compensate for an external transducer or external attenuator in the test setup. External hardware scaling is available for both electrical and optical channels.

Advanced Settings

Click the Advanced button to select the channel's Sampler Bandwidth, enter Horizontal Software Delay, and to select the signal type.

Optical Wavelength Regions

Vertical Eye Closure Penalty

A VECP q (Vertical Eye Closure Penalty) measurement as defined for 16x Fibre Channel (FC-PI5) can be performed using the script, VECPq_16FC.m, which is located on the 86100D's "D:\User Files\MATLAB Measurements\Examples" folder. Requires Option 201 and MATLAB installed on the instrument. Refer to the script for instructions.

The following tables show wavelength bands and regions commonly used in the optical communications industry. The band and region ranges are listed for classification purposes, and do not necessarily imply specification of a given range.

Single-Mode Systems
Wavelength Band | Range
region II | 1260 nm to 1360 nm
region IIe | 1360 nm to 1480 nm
S-band | 1440 nm to 1530 nm
C-band | 1530 nm to 1565 nm
L-band | 1565 nm to 1625 nm
M-band | 1625 nm to 1675 nm
Multimode Systems
Wavelength Band | Range
region Im | 770 nm to 910 nm
region IIm | 1260 nm to 1380 nm


Optical Channel Advanced Setup

This dialog box contains advanced settings for optical channels.

Click Setup > Modules > Channels X and click the Advanced button to open this dialog box.

Horizontal Adjustment

The Sampler Bandwidth setting affects the width of the sampling pulse used by the 86100D. The wider bandwidth option allows the 86100D to respond to fast changes in a waveform. The increased bandwidth then yields the highest measurement fidelity. The narrow bandwidth offers the best sensitivity by reducing the noise on the input waveform while still maintaining good frequency response. A lower sampler bandwidth is especially useful for low-level signals that cannot be averaged. For example, this situation can occur when using an eye diagram to view a low-level signal on an 86100D-STR, Standard Trigger instrument. You can average eye diagrams on an 86100D with Option ETR.

For optical channels, Software Delay is available for simulated waveforms. You can manually adjust the skew to change the horizontal position of one active channel with respect to another active channel. This allows you to compensate for the time offset between two or more channels.

Note

The skew adjust differs from the Horizontal position control, which changes the position all of the channels at the same time. Adjusting the skew does not affect the horizontal scale, vertical scale, and offset of the displayed channels.

Signal Type

In FlexDCA, three signal types can be input on an optical channel: Unspecified, NRZ format, or PAM4 format. The PAM4 selection is only available if options 9FP or 9TP PAM-N Analysis software license is installed. By default, the signal type is automatically detected. Use this field to manually specify the signal type. This can be useful in cases where the waveform is difficult to decipher. The Signal Type settings are coupled to the identical settings that are in the PAM-N Analysis Setup dialog box. You can make these selections in either location.

  • Introduction to signal types

Custom Waveform User Names

Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can change the waveform's labels to your own more meaningful user name by clicking on the label in this dialog box.

  • To learn about custom labels


N1090A Trigger

The N1090A Trigger tab is displayed whenever a communication link is established with an N1090A DCA-M Single Optical Channel Sampling Oscilloscope extended module. If multiple N1090A modules are connected, one dialog box tab will be displayed for each N1090A.

Click Setup > Trigger to open this dialog box.

Click the tabs in this picture!

The content of this tab is for information only. There are no settings. An N1090A requires that its Trigger Source be set to Front Panel or Free Run. This is done in the dialog box's General Trigger Setup tab. The normal setting is Front Panel which is shown on the N1090A Trigger tab as Clock In. The Free Run setting can be used to visually confirm that an input signal is present if you are having trouble viewing a signal. Be aware that you will not see any signal if the clock rate is not equal to one of the filter rates that are listed on the N1090A's front panel. These filter rates are provided as N1090A options. If you need to change the N1090A to another filter rate option, you must return the N1090A to Keysight.

Trigger Source
Setting in General Trigger Setup Tab | Source Shown in N1090A Trigger Tab
Free Run | Free Run
Front Panel | Clock In
CDR (86108B module installed) | Clock In
PTB (86108B module installed) | Clock In

Although all connected N1090A modules and an 86100D (if present) have independent triggers, the Trigger Source setting applies to all of these devices.


SIRC (System Impulse Response Correction)

Channels:

  • i
  • Electrical Channel
  • Optical Channel
  • Fixture Deskew
  • External Hardware Setup
  • SIRC Data
  • Signal Types

SIRC (System Impulse Response Correction)

SIRC DATA FILE NAME

File names for SIRC data use the following syntax to indicate that the data appllies to a specific module (model number and serial number):
 Impulse_<Model>_<Serial>.xml

For example,
 Impulse_86105C_US12345678.xml

Use this dialog box to load a 86105C, 86105D, 86115D, or 86116C module's Option IRC System Impulse Response Correction (SIRC) data into FlexDCA. The SIRC correction data feature is a digital filter that is used to:

  • Improve the response of module reference filters to more closely match an ideal receiver.
  • Enable non-standard reference receiver rates or bandwidths.
  • Increase the bandwidth of the channel by up to 50%.
  • Ensures that an eye diagram will look identical between different modules.

Location of SIRC Data Files

SIRC files are stored in the \SIRC Calibrations user data folder.

SIRC correction data is unique to a specific 86100-series module's model and serial number. The data can be purchased with new modules or purchased separately for your existing modules. Purchasing data for an existing module requires that the module be returned to Keysight Technologies. SIRC data is downloaded from Keysight.com. To order SIRC data, contact your Keysight representative or visit http://www.keysight.com/Find/FlexDCA.

Note

To protect accidental data loss, make backup copies of SIRC files.

  • To Download and Import SIRC Data
  • To Apply an SIRC Filter

Click Setup > Modules to open the module's Channel dialog box and then click Configure.

In the dialog box, beneath the Filter Rate field, a message shows if the data is currently loaded [image] or missing [image]. If the data is loaded, select either the correct Filter Rate or the Filter 3 dB Bandwidth settings that you need.

To select the import method, expand the dialog box as shown in the above figure and, in the Get SIRC Calibration Files From field, select one of the following sources for the file:

www.keysight.com
Select to download a calibration file from Keysight. The file will be installed in the default /SIRC Calibration folder this is shown in the pictures located at the end of this topic. Click Check for Updates Now to check for any updates to the SIRC data on www.keysight.com. FlexDCA will automatically check for future updates if you select Update Automatically.
Local Drive
Select to locate a calibration file this is located on the 86100D or the PC, depending on whether FlexDCA is running on a PC or is embedded. Click Browse to locate the file.
Remote DCA
This selection is displayed whenever FlexDCA is remotely controlling an 86100D. A calibration file is used that is located on the 86100D. Click Check for Updates Now to automatically select and use the data file. The file is expected to be in the default /SIRC Calibration folder this is shown in the picture that is located at the end of this topic.

Note

If a dark calibration is performed while SIRC data is loaded, the SIRC data is temporarily be turned off during the dark calibration.

Note

Pattern lock must be turned on before SIRC data can be applied.

Note

Modification of the SIRC file or use of this data with any other module or product or for any other purpose is prohibited, may provide incorrect measurement results, and will void the warranty.


To Download and Import SIRC Data

The following procedure downloads an Option IRC data file from Keysight. In the procedure, two methods are provided depending on whether or not FlexDCA has access to the internet via a LAN connection. Unless otherwise noted, the term FlexDCA in this procedure refers both to FlexDCA running embedded on the 86100D and FlexDCA Remote Access running on an external PC.

More Information

  • To Apply an SIRC Filter
  • Channel SIRC Setup Dialog Box
  • Channel Setup Dialog Box

Procedure

  1. If FlexDCA has access to the internet via a LAN connection on the PC or 86100D, skip step 2 and go to step 3.
  2. If FlexDCA does not have access to the internet via a LAN connection on the PC or 86100D, perform the following steps:
    1. On your PC, open a web browser and go to: http://dca.keysight.com/irc
    2. Enter all required information into the displayed form.
    3. Click Submit. The SIRC data file will be e-mailed to you.

      4. Note

      Upon submitting the online form, the SIRC data file is immediately sent to the e-mail address that you provided. The actual delivery time depends on your e-mail service provider.

    4. When you receive the SIRC data file, save the file to a location that is available to the FlexDCA application. For example, this could be a server, USB flash drive, PC’s hard disk, or 86100D’s hard disk.
    5. Continue with step 3.
  3. Install the module that has Option IRC into the 86100D. The data that you download must be for this specific module.
  4. Start the FlexDCA application. If FlexDCA is running remotely on a PC, establish a connection to the 86100D.
  5. In FlexDCA, click the channel button for the module that has Option IRC. Clicking this button opens the channel setup dialog for the module.
  6. In the dialog box, click Configure. The System Impulse Response Correction dialog box opens.

  7. Click the expander arrow to view the entire dialog box.
  8. The expanded dialog box displays the Get SIRC Calibration Files From field. This field allows you to specify the location of the SIRC data file so that it can be imported into FlexDCA. Use the descriptions in this table to select the import method which is appropriate for your situation. Make the selection in the dialog box.

    9. Selections for Locating the SIRC File
Dialog Box Selection | Description
www.keysight.com | Use this selection when FlexDCA has access to the internet via a LAN connection and you did not download the SIRC data file in step 2 of this procedure.
Local Drive | Use this selection if you downloaded the SIRC data file in step 2 of this procedure. The file can be located on a network file server, external drive, external flash drive, local hard disk, or other memory location.
Remote DCA | You do not need to make this selection. This selection is provided for situations where the SIRC calibration file has already been downloaded to FlexDCA running embedded on an 86100D and at a later time you want to import the data into FlexDCA Remote Access. This selection is not shown in the dialog box when FlexDCA is running embedded on the 86100D.
  9. If you selected www.keysight.com, click Check for Updates Now. Skip step 10 and go to step 11.
  10. If you selected Local Drive, click Browse to locate the file to be imported.

    11. Note

    The SIRC data is copied to and installed on FlexDCA and is available whenever your module is installed in the 86100D. You do not need to reinstall the data.

  11. Close the dialog box.
  12. To apply the SIRC Filter to your measurements.


To Apply an SIRC Filter

Procedure

  1. If not already done, download and import SIRC data for your Option IRC module.
  2. Install the module (to which the SIRC data applies) in the 86100D.
  3. On the 86100D, apply a signal to the module, and perform an Auto Scale.
  4. In FlexDCA, select an instrument mode (Eye/Mask, Oscilloscope, Jitter) and turn the module's channel on.
  5. Turn on Pattern Lock.
  6. Click the channel button to open the module's Channel dialog box.
  7. Click Configure to open the Channel SIRC Setup dialog box.
  8. Select the Filter Rate and the Filter 3 dB Bandwidth.

    9. Note

    FlexDCA automatically selects the correct bandwidth if the data rate is part of a popular standard. Othererwise, FlexDCA selects a bandwidth that is equal to 0.75 times the data rate. You can overide the bandwidth any time with any value between roughly 0.5 and 1.5 times the unfiltered bandwidth of the module (enter 500 MHz or 500 GHz to view the actual limits for a particular module).

  9. Close the Channel SIRC Setup dialog box.
  10. In the Channel Setup dialog box select SIRC. Close the channel Setup dialog box.

  11. Auto Scale the waveform and start making the your measurements.

More Information

  • To Download and Import SIRC Data
  • Channel SIRC Setup Dialog Box


Clock Recovery

If an external trigger signal is not available, you can use a clock recovery module to derive a trigger signal from the input data signal. This can be either a recovered clock or data trigger. Clock triggers are produced through a clock recovery process. The trigger is routed directly into the 86100D. Using clock recovery generally involves selecting the trigger source, data rate, and, if available, loop bandwidth through the Setup dialog box. Click Setup > Modules > Clock Recovery.

Clock recovery modules (excluding the 83495A) can also perform the task of regenerating data. As with the recovered clock, the regenerated data is available at the module's front panel. This allows the module to serve as a multi-rate reference receiver as well as generating trigger signals for waveform measurements.

  • To use an 83496A/B Module
  • To use an 83495A Module
  • To use an 83491/2/3/4A Module
  • To configure clock recovery
  • Compensating Clock Recovery Module Insertion Loss
  • Module Data Rates

If you are using a standard-trigger instrument (86100D-STR) with one of the following modules, you must connect a cable between the module's clock output port to the mainframe's Trigger input connector as shown in this picture. For TDR modules, connect the cable to the TDR module's front panel Trigger output. You do not need to connect a cable on 86100-ETR enhanced-trigger instruments. The following table describes the output port for each type of module. In addition to connecting the cable, click Setup > Trigger Setup and in the dialog box's General Trigger Setup tab select the Front Panel Trigger input.

  • 86108A/B precision waveform analyzer module
  • 83496A/B clock recovery module
  • 54753A TDR module
  • 54754A TDR module
Module Clock Output Ports
Module | Output Port | Description
86108A Precision Waveform Analyzer | Recovered Clk Output | Full rate output for data rates ≤7.1 Gb/s. Half rate output for data rates > 7.1 Gb/s
83491/2/3/4A Clock Recovery | Clock | Full rate output. Selected data rate must be below 3.2 Gb/s.
83495A Clock Recovery | Recovered Clock Out | Output rate is too high for 86100D-STR front-panel Trigger input.
83496A/B Clock Recovery | Recovered Clock Output | Output rate divide ratio is user selectable from 1 to 16 (≤ 7.1 Gb/s) and 2 to 16 (7.1 to 13.5 Gb/s). In clock recovery setup, ensure that divide ratio results in output rate below 3.2 Gb/s.

Clock Recovery Modules

  • 86108B Module
  • 86108A Module
  • 83496A/B Modules
  • 83495A Module
  • 83491/2/3/4A Modules

Example Block Diagram with Clock Recovery Module

The clock recovery module's input circuits can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to any front- or rear-panel electrical connector. Before connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure that the instrument is properly earth-grounded to prevent buildup of static charge.

Fiber-optic connectors are easily damaged when connected to dirty or damaged cables and accessories. When you use improper cleaning and handling techniques, you risk expensive instrument repairs, damaged cables, and compromised measurements.

Note

Because jitter is measured relative to the clock, jitter that is present on both the data and the recovered clock can not be detected by the instrument. Jitter that is within the clock recovery module's loop bandwidth appears on the recovered clock. Jitter that is outside of the loop bandwidth does not appear on the recovered clock and can be detected on the data.


Clock Recovery Lock Lost

Loss of clock recovery lock can occur if there are any changes to the data rate, transition edge density, or input source. If the clock recovery loop bandwidth is changed, lock may also be lost. Recheck the integrity of the data signal and check the clock recovery configuration settings.


Clock Recovery Module Insertion Loss

The following shows the typical insertion loss for the clock recovery modules. The FlexDCA application does not support external scaling, which is used to compensate for the insertion loss. To enter external scaling, exit the FlexDCA application and enter the external scaling using the instrument's standard user interface.

Typical Insertion Loss For The Clock Recovery Modules
Module | Approximate Insertion Loss
83491A | –7 dB (electrical)
83492A | –5 dB (optical)
83493A | –1.5 dB (optical)
83494A | –1.5 dB (optical)
83495A Option 100 | –2.0 dB (optical)
83495A Option 101 | –2.5 dB (optical)
83496A/B Option 100 | –7.8 dB
83496A/B Option 101 | –2.5 dB (single mode optical)
83496A/B Option 101 | –3 dB (multimode optical)


83491/2/3/4A Setup Steps

  1. Connect the data signal to the 83491/2/3/4A clock recovery module:
    • For electrical signals, use a splitter to send part of the signal to the receiver module's Input and part of the signal to the clock recovery module's electrical Input.
    • For optical signals, connect the data signal to the clock recovery module's optical Input connector. Connect the clock recovery module's Output to the receiver module's data Input connector.

    Optical Output: Light energy can radiate from the front-panel Optical Output connector on 83492/3/4A modules. The light emitted from this connector is the slightly attenuated light that is input to the front-panel Optical Input connector.

    Note

    The Keysight 83492A module uses multimode fiber. Connecting the output to the Optical Input connector on single-mode modules results in large reflections and insertion loss.

    Note

    Keysight 83493A and 83494A modules use 9/125 µm single-mode fiber. Connecting multimode fiber to the Optical Input connector results in large reflections and insertion loss.

  2. Press the Trigger button located at the bottom of the application. In the dialog box's General Trigger Setup tab, select for the Source:
    • Left Module or Right Module (dependent upon the module position). This specifies triggering the instrument via the recovered clock on the module's rear-panel connector.
    • Front Panel. Connect the module's front-panel Clock Auxiliary Output to the instrument's Trigger input connector. The trigger level should typically be set to 0V and is set using the Level knob.
  3. Press the clock recovery module's SELECT button repeatedly to select the data rate.

Note

Notice that on the 83491/2/3/4A clock recovery modules there may be two data rates that share an LED. One rate is written in green text, the other rate is red. The LED will be either green or red, corresponding to one of the two rates.

Note

If the Unlocked light is on, clock recovery cannot be established on the signal. Make sure that you have selected the correct data rate and that the instrument mainframe trigger level is adjusted appropriately.


83495A Setup Steps

  1. Connect the data signal to the 83495A clock recovery module:
    • For electrical signals, use a splitter to send part of the signal to the receiver module's input and part of the signal to the clock recovery module's electrical Input.
    • For optical signals, connect the data signal to the module's optical Input connector. Connect the clock recovery module's Output to the receiver module's data input connector.

    Optical Output: Light energy can radiate from the front-panel Optical Output connector on 83495A modules. The light emitted from this connector is the slightly attenuated light that is input to the front-panel Optical Input connector.

  2. Press the Trigger button located at the bottom of the application. In the dialog box's General Trigger Setup tab, select for the Source:
    • Left Module or Right Module (dependent upon the module position). This specifies triggering the instrument via the recovered clock on the module's rear-panel connector.
    • Front Panel. Connect the module's front-panel Clock Out to the instrument's Trigger input connector. The trigger level is automatically set when using this module.
  3. Click the CDR button that is located on the bottom of the application. Or, click Setup > Clock Recovery Setup. This opens the clock recovery setup dialog box.
  4. In the Clock Recovery Setup dialog box, select the Source from the list. Select the Data Rate and the Loop Bandwidth.

Note

If the display shows a clock recovery lock lost status message, clock recovery cannot be established on the signal. Make sure that your signal is attached with a power level greater than minimum (see the specifications) and that the data rate is within the range 9.953 Gb/s to 11.32 Gb/s. Also make sure that the correct source (optical or electrical) is selected. On 83495A modules, you do not need to select a data rate. The module automatically locks to any rate within the continuous range of rates from 9.953 Gb/s to 11.32 Gb/s.


83496A/B and N4877A Clock Recovery Module Setup

Use the Clock Recovery Setup dialog box to configure the following modules. The available selections in the dialog box depend on the type of clock recovery module used. Additional clock recovery information.

  • 83496A/B clock recovery modules
  • N4877A Clock/Data Recovery and Demultiplexer which can be connected as an extended module.

Click Setup > Modules > Clock Recovery to open this dialog box. Or, click the Clock Recovery button located along the bottom of the display.

Input Fields

Use the Input fields to select the input Source for clock recovery, which vary depending on the clock recovery module. For example, the N4877A extended module and 83496A/B Option 100 modules provide electrical inputs (including differential). 83496A/B Option 101 modules provide electrical differential and optical. Also, on 83496A/B Option 101 modules, for optical data signals, both multimode (750 nm to 1330 nm) and single-mode (1250 nm to 1620 nm) front-panel connectors are provided.

Enter the Data Rate of the signal directly, or click Select From List to select from a list. Since the loop bandwidth capture range is wider than the selected data rate, it is possible for the module to lock on a signal that is higher than the selected value. For example, if you select a 2.48832 Gb/s data rate but the signal is actually 2.5 Gb/s, the module may still lock on the signal.

Clock Recovery Fields

After making your selections, click the Lock at the top of the Clock Recovery field to lock the clock recovery. Use the Loop Bandwidth fields to configure the bandwidth of the clock recovery's phase locked loop. Because jitter is measured relative to the clock, jitter that is present on both the data and the recovered clock can not be detected by the instrument. Jitter that is within the clock recovery module's loop bandwidth appears on the recovered clock. Jitter that is outside of the loop bandwidth does not appear on the recovered clock and can be detected on the data. For this reason, you can select the loop bandwidth for the clock recovery module. The available loop bandwidth settings depend on the module as shown in the following table. Fixed values are entered in Hertz; rate dependent values are expressed as a data-rate ratio (LBW = rate/n). The selected bandwidth applies both to the recovered clock and to the front-panel Recovered Clk Output.

Available Loop Bandwidth Definitions by Module
Module | Available Loop Bandwidth Setting
 | Fixed | Rate Dependent | Low (270 kHz) | High (1.5 MHz)
N4877A | ♦ | ♦ |  |
83496A/B Option 300 | ♦ | ♦ |  |
83496A/B Standard |  |  | ♦ | ♦

Select Auto Relock to use automatic trigger re-locking while circuit probing. This feature frees you to concentrate on handling the probe rather than locking the instrument.

Output Fields

Use the Output panel to set the output clock divide ratios. Select Auto Divide Ratio for automatic selection of the clock divide ratio that is applied to the front-panel recovered clock output. Available divide ratios vary depending on the data rate. With manual selection, select the divide ratio from available settings in the drop-down list.

On 83496A/B modules, select Trigger on Data when triggering on data instead of recovering the clock. The data is passed to the rear-panel via an AC coupled limit amplifier. Data rate and loop bandwidth settings are not adjustable. Triggering on the data is similar to not having a clock recovery module and using a splitter to divide the input signal and routing one portion to the front-panel trigger input. While triggering on the data provides a quick method of checking the data waveform, be aware that the displayed response may be missing 75% of the data patterns. This happens because triggering occurs at either the 1-to-0 or 0-to-1 data transition, and as a result the instrument will only be triggered when a transition occurs in the data instead of triggering on any bit period as with a clock. For example, consider a pattern such as 1111000. Only the transition between the 1-to-0 triggers the instrument. Transitions between adjacent lows and highs will not cause trigger events. The recovered clock will still be available at the front-panel Recovered Clk Out even when set to trigger on the data.

Note

The Trigger on Data selection is grayed out and is not available for the N4877A module.

Presets

Default User Folder

The default user data folder for presets files is \Presets.

Presets allow you to save your dialog box settings to a setup file. Recall a preset to instantly configure your clock recovery to your specification. You can save as many presets as you need. The Preset list shows all of the factory provided presets as well as any that you have created. If you scroll to the end of the list and click the <Edit List> entry, the Edit Clock Recovery Presets List dialog box opens which allows you to reorder, delete, or rename items in the list. In the list, the names of factory provided presets includes the text (factory) which indicates that the entry cannot be edited. The following factory presets are included in the list:

  • CEI-25G-LR
  • CEI-28G-SR
  • CEI-28G-VSR/MR
  • IEEE 10G-KR4_CR4
  • IEEE 10G-KR_40G-KR4
  • IEEE 40G-CR4_100G-CR10
  • Infiniiband EDR
  • PCI Express Gen 3
  • SATA Gen 1
  • SATA Gen 2
  • SATA Gen 3
  • USB 3.0 Gen 1
  • USB 3.0 Gen 2
  • To save your settings, click the [image] button.
  • To recall your settings at a later date, click Load.

Advanced Settings

Click the expander arrow at the bottom of the dialog box to view advanced settings, which provide additional control of the clock recovery loop dynamics. The purpose of clock recovery is to extract a clock from the incoming signal and to provide the DCA with a trigger that is synchronous with the data. The clock recovery loop bandwidth primarily determines how well the recovered clock tracks low-frequency jitter on the input signal. Some signals have very large low-frequency jitter from either extremely dirty clocks or intentional modulated clocks such as found in SSC (spread spectrum clocking). In this case the 86108A clock recovery system provides additional control of the loop dynamics allowing you to select the loop's Type-2 Transition Frequency.

Note

The Advanced settings are only available for the N4877A extended module and 86108A/B modules. The Advanced settings are not shown for 83496A/B modules.

The Type-2 Transition Frequency indicates the frequency below which the second integrator in the loop starts to provide extra gain. Increasing this frequency provides additional loop gain and improves the tracking of the loop. The following figure shows the jitter multiplier as a function of jitter frequency for a loop-bandwidth setting of 5 MHz and various settings of transition frequency. This multiplier is the magnitude of the observed jitter transfer function (OJTF). This additional tracking also increases the peaking in the closed-loop jitter transfer function (JTF). Calculated values of the peaking are provided in the user interface next to the available selections for Type-2 Transition Frequency.

Figure. OJTF for 5 MHz LBW vs. Type-2 Transition Frequency

The Type-2 Transition Frequency is automatically coupled to CDR loop bandwidth in normal operation (Auto is selected) and provides the desired loop characteristic for most measurements. The current setting is displayed in the Type 2 Loop Transition Frequency (Peaking) list. To override the automatic selection, unselect Auto and select an available Type-2 Transition Frequency value:

  • 12 kHz (available for all loop bandwidths)
  • 280 kHz (available for loop bandwidths > 600 kHz)
  • 640 kHz (available for loop bandwidths > 1.6 MHz)
  • 1.3 MHz (available for loop bandwidths > 4.5 MHz)


83496A/B Setup Steps

  1. Connect the data signal to the clock recovery module's data input connector.

    2. Option 101 modules: Light energy can radiate from the front-panel Optical Output connector. The light emitted from this connector is the slightly attenuated light that is input to the front-panel Optical Input connector.

  2. Connect the clock recovery module's data output to the receiver module's data input connector.
  3. Press the Trigger button located at the bottom of the application. In the dialog box's General Trigger Setup tab, select for the Source:
    • Left Module or Right Module (dependent upon the module position). This specifies triggering the instrument via the recovered clock on the module's rear-panel connector.
    • Front Panel. Connect the module's front-panel Clock Out to the instrument's Trigger input connector. The trigger level is automatically set when using this module.
  4. Click the CDR button that is located on the bottom of the application. Or, click Setup > Clock Recovery Setup. This opens the clock recovery setup dialog box.
  5. In the Clock Recovery Setup dialog box, select the Source from the list. Select the Data Rate and the Loop Bandwidth.


86108A Setup (Channels tab)

86108A Setup

dialog box tabs:

  • i
  • Channels
  • Clock Recovery
  • Precision Timebase

Channels

Click Setup > Modules > Precision Waveform Analyzer to open this dialog box.

The 86108A has two electrical channels. Click the channel buttons [image] in the dialog box to display or hide a channel's waveform on the display. For each channel, adjust the waveform's Scale and vertical Offset. Scale set the channel's sensitivity (volts-per-division), with vertical expansion and contraction is about the center offset value of the display.

A waveform's Offset is identified by a ground marker ( [image] ). This marker is located on the display's right side, has the same color as the associated waveform, and identifies the location of 0V. Each channel has its own ground marker. The default marker position is middle screen for electrical channels. During an Auto Scale, an offset is applied to vertically center the signal. The offset changes the vertical position of the waveform on the display screen without modifying the waveform itself. The offset value represents an absolute value on the instrument display. The amount of offset applied is shown on the Channel button. You can also quickly change a waveform's vertical offset by using the pointing device to vertically drag the ground marker ( [image] ) on the display.

Use the Bandwidth field to select the channel's sampler bandwidth. The sampler bandwidth setting affects the width of the sampling pulse used by the instrument. The wider bandwidth option allows the instrument to respond to fast changes in a waveform. The increased bandwidth then yields the highest measurement fidelity. The narrow bandwidth offers the best sensitivity by reducing the noise on the input waveform while still maintaining good frequency response. A lower sampler bandwidth is especially useful for low level signals that cannot be averaged. For example, this situation can occur when using an eye diagram to view a low-level signal on an 86100D without Option ETR, Enhanced Trigger. You can average eye diagrams on an 86100D with Option ETR.

Waveform Color

Click the Color button to display the waveform in one of 16 colors.

External Hardware

Click External HW to compensate for an external transducer or external attenuator in the test setup. External hardware scaling is available for both electrical and optical channels. If a probe has been configured for the channel, information for the probe is also presented.

Advanced

Click the Advanced button to apply Horizontal Software Delay.

Differential Waveform

Click the Diff button to view a differential waveform of the two channels. All three waveforms can be simultaneously viewed. In differential mode, you can click one of three Advanced buttons. The button for the individual channels allows you to apply hardware skew and software delay. The Advanced button for the differential waveform allows you to apply horizontal software delay and enable automatic scaling.


86108A Setup (Clock Recovery tab)

86108A Setup

dialog box tabs:

  • i
  • Channels
  • Clock Recovery
  • Precision Timebase

Clock Recovery

Click Setup > Modules > Precision Waveform Analyzer to open this dialog box.

Use the Clock Recovery tab to a configure clock recovery.

Note

When the precision timebase is configured to use an external reference in the dialog box's Precision Timebase tab, the clock data recovery circuitry is disabled.

Presets

Default User Folder

The default user data folder for presets files is \Presets\ClockRecovery.

Presets allow you to save your dialog box settings to a setup file. Recall a preset to instantly configure your clock recovery to your specification. You can save as many presets as you need. The Preset list shows all of the factory provided presets as well as any that you have created. If you scroll to the end of the list and click the <Edit List> entry, the Edit Clock Recovery Presets List dialog box opens which allows you to reorder, delete, or rename items in the list. In the list, the names of factory provided presets includes the text (factory) which indicates that the entry cannot be edited. The following factory presets are included in the list:

  • CEI-25G-LR
  • CEI-28G-SR
  • CEI-28G-VSR/MR
  • IEEE 10G-KR4_CR4
  • IEEE 10G-KR_40G-KR4
  • IEEE 40G-CR4_100G-CR10
  • Infiniiband EDR
  • PCI Express Gen 3
  • SATA Gen 1
  • SATA Gen 2
  • SATA Gen 3
  • USB 3.0 Gen 1
  • USB 3.0 Gen 2
  • To save your settings, click the [image] button.
  • To recall your settings at a later date, click Load.

Input Fields

Use the Input fields to select the input Source for clock recovery. Enter the Data Rate of the signal directly, or click Select From List to select from a list. Since the loop bandwidth capture range is wider than the selected data rate, it is possible for the module to lock on a signal that is higher than the selected value. For example, if you select a 2.48832 Gb/s data rate but the signal is actually 2.5 Gb/s, the module may still lock on the signal.

Clock Recovery Fields

Click the Lock button at the top of the Clock Recovery field to lock the clock recovery. The Loop Bandwidth fields are used to configure the loop bandwidth. Because jitter is measured relative to the clock, jitter that is present on both the data and the recovered clock can not be detected by the 86100D. Jitter that is within the clock recovery module's loop bandwidth appears on the recovered clock. Jitter that is outside of the loop bandwidth does not appear on the recovered clock and can be detected on the data. For this reason, you can select the loop bandwidth for the clock recovery module. Select Fixed and Rate Dependent. Fixed values are in Hertz; rate dependent values are expressed as a data-rate ratio (LBW = rate/n). Enter the Target LBW, which applies both to the recovered clock and to the front-panel Recovered Clock Output.

Select Auto Relock to use automatic trigger locking while circuit probing. This feature frees you to concentrate on handling the probe rather than locking the instrument.

Output Fields

Use the Output panel to set the output clock divide ratios. Select Auto Divide Ratio for automatic selection of the clock divide ratio that is applied to the front-panel recovered clock output. Available divide ratios vary from 1:1 to 1:32 depending on the data rate and loop bandwidth settings. With manual selection, select the divide ratio from available settings in the drop-down list.

Select Trigger on Data when triggering on data instead of recovering the clock. The data is passed to the rear-panel via an AC coupled limit amplifier. Data rate and loop bandwidth settings are not adjustable. Triggering on the data is similar to not having a clock recovery module and using a splitter to divide the input signal and routing one portion to the front-panel trigger input. While triggering on the data provides a quick method of checking the data waveform, be aware that the displayed response may be missing 75% of the data patterns. This happens because triggering occurs at either the 1-to-0 or 0-to-1 data transition, and, as a result, the instrument will only be triggered when a transition occurs in the data instead of triggering on any bit period as with a clock. For example, consider a pattern such as 1111000. Only the transition between the 1-to-0 triggers the instrument. Transitions between adjacent lows and highs will not cause trigger events. The recovered clock will still be available at the Front Panel Recovered Clock Out even when set to trigger on the data.

JSA Jitter Spectrum Analysis

Click Setup to configure jitter spectrum analysis, which is available in FlexDCA's Oscilloscope, Eye/Mask, and Jitter Modes.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis to be installed in the 86100D.

Advanced Settings

Click the expander arrow at the bottom of the dialog box to view advanced settings, which provide additional control of the clock recovery loop dynamics. The purpose of clock recovery is to extract a clock from the incoming signal and to provide the DCA with a trigger that is synchronous with the data. The clock recovery loop bandwidth primarily determines how well the recovered clock tracks low-frequency jitter on the input signal. Some signals have very large low-frequency jitter from either extremely dirty clocks or intentional modulated clocks such as found in SSC (spread spectrum clocking). In this case the 86108A clock recovery system provides additional control of the loop dynamics allowing you to select the loop's Type-2 Transition Frequency.

The Type-2 Transition Frequency indicates the frequency below which the second integrator in the loop starts to provide extra gain. Increasing this frequency provides additional loop gain and improves the tracking of the loop. The following figure shows the jitter multiplier as a function of jitter frequency for a loop-bandwidth setting of 5 MHz and various settings of transition frequency. This multiplier is the magnitude of the observed jitter transfer function (OJTF). This additional tracking also increases the peaking in the closed-loop jitter transfer function (JTF). Calculated values of the peaking are provided in the user interface next to the available selections for Type-2 Transition Frequency.

Figure. OJTF for 5 MHz LBW vs. Type-2 Transition Frequency

The Type-2 Transition Frequency is automatically coupled to CDR loop bandwidth in normal operation (Auto is selected) and provides the desired loop characteristic for most measurements. The current setting is displayed in the Type 2 Loop Transition Frequency (Peaking) list. To override the automatic selection, unselect Auto and select an available Type-2 Transition Frequency value:

  • 12 kHz (available for all loop bandwidths)
  • 280 kHz (available for loop bandwidths > 600 kHz)
  • 640 kHz (available for loop bandwidths > 1.6 MHz)
  • 1.3 MHz (available for loop bandwidths > 4.5 MHz)


86108A Setup (Precision Timebase tab)

86108A Setup

dialog box tabs:

  • i
  • Channels
  • Clock Recovery
  • Precision Timebase

Precision Timebase

Use the 86108A/B Setup dialog box's Precision Timebase tab to configure and turn on the 86108B precision timebase. The 86108A/B modules have a front-panel port to connect an external clock.

Click Setup > Modules > Precision Waveform Analyzer to open this dialog box.

  • Additional Information on timebases
  • Features Affected by Precision Timebase

Reference Source Settings

Select whether to use the Internal or an External reference clock. For either selection, make the required connections as shown in the following figure. When the precision timebase is used, the instrument does not normally use a trigger, and the reference clock is connected directly to the 86108B's front-panel Precision Timebase Reference Input (or, External Time Ref In on 86108As). You can also use the 86100D in Free Run mode with this setup.

If pattern lock is turned on or Jitter Mode is used, connect the reference clock to both the 86108A/B's front-panel input and to the 86100D's front-panel Trigger Input.

The input requires a full or sub-rate reference clock signal (square wave, BERT output, or a sine wave) from 1 to 16 GHz for the 86108B and from 2 to 13.5 GHz for the 86108A. If the edges of the clock are too fast for a reliable reference, you may need to add an external low-pass filter or additional cable length to soften the edges.

Note

When the precision timebase is configured to use an external reference, the clock data recovery circuitry is disabled.

Figure. Setup for Optional Internal Precision Timebase

Avoid damaging the front-panel Precision Timebase Input. Do not use a reference clock greater than ±2V (16 dBm) maximum.

Reference Clock Frequency Settings

When an External clock source is selected, use the Reference Clock Frequency field to enter the frequency of the external synchronous clock. This is the frequency at the input to the module. You must specify the reference clock frequency to ensure that absolute time measurements are accurate. Each frequency in the list is associated with a standard bit rate. Click Select From List to select from a list of standard optical and digital telecommunications rates. This list is also available in the Pattern Lock Setup tab of the Trigger dialog box. FlexDCA determines the phase of a data sample within one period.

When an External clock source is selected and pattern lock is turned on, the Autodetect check box is displayed as shown in this picture. When selected, an Auto Scale automatically detects the external reference frequency. With pattern lock on, the instrument may be unable to correctly detect an external reference frequency. If this happens, clear the Autodetect check box.

Note

PRBS data is not a suitable reference clock signal.

Note

To ensure accuracy, the entered reference clock frequency must equal the actual external reference clock. Any deviations in either frequency will result in an inaccurate timebase. The instrument will display a warning message on the screen if the time reference is not valid. You must ensure that you connect a valid reference clock. If the precision timebase is on, you can perform an Auto Scale to reset the time reference. Auto Scale will fail if the precision timebase is on and gated trigger is on and the instrument takes more than three (3) seconds when acquiring a waveform. In this condition, a message will appear to inform you that trigger gating is too slow.

Note

This field is not displayed if you select an Internal reference source.

Timebase Control Settings

Select Enable Precision Timebase to enable or disable the precision timebase. The Precision Timebase button's green indicator [image] (on the button toolbar) indicates when the precision timebase is on. If the yellow warning indicator [image] is shown, the time reference is not set or the signal is not connected to the 86108A/B's front'panel connector. If any changes in the reference clock occur, click Reset Time Reference to reset the precision timebase. The time reference will fail if:

If any changes in the reference clock occur, click Reset Time Reference to reset the precision timebase. The time reference will fail if:

  • Reference clock signal is not:
    • Valid frequency range
    • Too large or too small
    • DC offset > ±200 mV
    • unstable frequency or amplitude
  • A setup, in which the precision timebase was enabled when saved, is recalled
  • Instrument power is turned on when the state of the precision timebase was enabled at instrument power off

Synchronization Method Settings

By default, precision timebase synchronization optimizes for RJ (Random Jitter) only. This provides a fast synchronization that is suitable for analysis of most signals. Optionally, you can choose to optimize both for RJ and for timebase linearity. This type of synchronization takes much longer but results in an extremely linear timebase as well as the lowest possible RJ. This type of synchronization is suggested for signals with extremely low DJ (Deterministic Jitter), where the signal rate is a multiple of the precision timebase reference frequency. For example, if your Data Rate is 32 Gb/s while your precision timebase reference frequency is 8 GHz, this option may improve the accuracy of the DJ measurements.

Note

To ensure accuracy, you must set the reference clock frequency and the external reference clock to the same frequency. Any deviations in either frequency will result in an inaccurate timebase. The instrument will display a warning message on the screen if the time reference is not valid. You must ensure that you connect a valid reference clock.

Note

If the precision timebase is on, you can perform an Auto Scale to reset the time reference. Auto Scale will fail if the precision timebase is on, gated trigger is on, and FlexDCA takes more than three (3) seconds when acquiring a waveform. In this condition, a message will appear to inform you that trigger gating is too slow.

Status

The Status area of the dialog box provides the following messages:

  • Precision Timebase Off. The precision timebase is disabled. The time reference will be invalid until the precision timebase is enabled.
  • No Time Reference. The precision timebase is enabled; however, the time reference is invalid. This status appears after changing the frequency band of the reference clock signal or recalling an instrument setup.
  • Time Reference Set. The precision timebase is enabled and the time reference is valid.
  • Time Reference Lost. The precision timebase is enabled. The instrument continues to acquire data using the most recent time reference. This status follows an absent reference clock signal, a clock signal that is too large (or too small), a clock signal that is not in a valid frequency band, or a clock signal that does not have a stable frequency.

Select the Show Precision Timebase Signals field to view the In Phase Waveform and Quadrature Waveform inputs to the precision timebase circuitry. Both an amplitude-vs-time chart and a Lissajous Pattern chart are displayed. This feature provides a qualitative view of the inputs. There is no remote command for making this selection. However, you can use the :WAVeform:SOURce command to return the two waveforms.


Configure Measurements Dialog Box

Measurement Configuration

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Top-Base Definition
  • Thresholds
  • Eye Boundary
  • Extinction Ratio
  • TDEC

Top-Base Definition

This tab applies to Oscilloscope, Eye/Mask, and TDR/TDT mode measurements.

Use the Top-Base Definition tab of the Configure Measurements dialog box to define the top and base levels which are used to locate the lower, middle, and upper threshold levels.

Click Measure > Configure Base Measurements to open this dialog box.

  • How top and base values are used to identify waveforms

You can select either Auto or Custom Top-Base Definitions.

Auto Top-Base Definitions

The Auto (default) setting computes the top (100%) and base (0%) levels, which are relative or proportional to the signal amplitude.

Note

Top-Base definition values also affect Mask Test Alignment.

Custom Top-Base Definitions

The Custom setting allows you to enter absolute values for the top-base levels. Setting custom thresholds causes the measurement results table to display the text "user defined." The following table shows the amplitude units for the various waveform content windows.

Units Used for Displayed Content Window Graphs
Name of Content Window Graphs | Amplitude Units | Example Source Waveform Selections
Oscilloscope, Eye, and TDR/TDT Modes
Window | Volts and Watts | Channel 2B Differential 1A Port 1+ (1A)
TDR/TDT T-Domain Parameters
Time-Ohms | Ohms | T11 Ohms
Time-Volts | Volts | TCC21 Volts
Time-% | Percent | T21 Percent
TDR/TDT S-Parameters and FFT Math Operator Waveforms
Freq-Mag | Decibels | FFT[2A] (F1) S21 Magnitude
Phase | Degrees | FFT[2A] (F2) S12 Phase
GrpDelay | Seconds | FFT[2A] (F3) SCD11 Delay

Note

The Custom option is not recommended when measuring eye diagrams.

Top-Base definitions are used for the following measurements:

  • Amplitude
  • Average
  • Waveform Base
  • Waveform Top
  • Duty Cycle
  • Fall Time
  • Frequency
  • Preshoot
  • Overshoot
  • Period
  • + Pulse Width
  • – Pulse Width
  • Rise Time
  • Delta Time
  • Time at Edge
  • Time at Amplitude
  • RMS
  • Amplitude at Upper
  • Amplitude at Middle
  • Amplitude at Lower
  • Optical Modulation Amplitude
  • Jitter


Configure Measurements Dialog Box

Measurement Configuration

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Top-Base Definition
  • Thresholds
  • Eye Boundary
  • Extinction Ratio
  • TDEC

Thresholds

This tab applies to Oscilloscope, Eye/Mask, and TDR/TDT mode measurements.

Use the Thresholds tab of the Configure Measurements dialog box to select the standard IEEE threshold measurement levels or define custom threshold levels (percentage or absolute voltage/power) for the rise and fall times of a waveform. If you want to assign specific amplitudes to the threshold levels, ensure the thresholds are within the limits of the top-base levels.

Click Measure > Configure Base Measurements to open this dialog box.

  • How thresholds are used to identify waveforms

Threshold Definition

The standard IEEE threshold points are

  • 10%, 50%, 90% for typical waveforms
  • 20%, 50%, 80% for waveforms with excessive ringing or overshoot (often used for eye diagrams)

Threshold Reference (Eye/Mask Mode)

In Eye/Mask mode, the Threshold Reference selection is available and can be set relative to either the top (100%) and base (0%) levels or to the one and zero levels. Select the Top-Base Definition tab to change the definition of top and base. On the right side of the Thresholds tab dialog box, a listing shows the measurements that are affected by the threshold settings.

Custom Threshold Definition

If you select the Custom threshold setting, click Select Source to select the source waveform (if more than one waveform is displayed), and % or Units to select the type of thresholds. In TDR/TDT mode, the available Source waveforms include channels (labeled Ports), T-domain parameters, and S-parameters. For parameters, the type of content window used is also indicated as shown in examples in the last column of the following table.

Selecting Units allows you to enter absolute amplitude levels, however, ensure that the thresholds are within the boundaries defined by the top-base levels. If the thresholds are outside the boundaries, the measurement results will report which threshold level is in question. You will then have to redefine the threshold levels and repeat the measurement.

Setting custom thresholds causes the measurement results table to display the text "user defined."

The following table shows the amplitude units for the various waveform content windows.

Units Used for Displayed Content Window Graphs
Name of Content Window Graphs | Amplitude Units | Example Source Waveform Selections
Oscilloscope, Eye, and TDR/TDT Modes
Window | Volts and Watts | Channel 2B Differential 1A Port 1+ (1A)
TDR/TDT T-Domain Parameters
Time-Ohms | Ohms | T11 Ohms
Time-Volts | Volts | TCC21 Volts
Time-% | Percent | T21 Percent
TDR/TDT S-Parameters and FFT Math Operator Waveforms
Freq-Mag | Decibels | FFT[2A] (F1) S21 Magnitude
Phase | Degrees | FFT[2A] (F2) S12 Phase
GrpDelay | Seconds | FFT[2A] (F3) SCD11 Delay

Note

The Custom option is not recommended when measuring eye diagrams.

Note

The 10% , 50% , 90% selection is often used for single valued waveforms. The percentage level is based on the measured or user defined values for Vtop and Vbase.

Note

Selecting Volts as the units of measurement option will allow you to define absolute voltage values for the threshold levels. Top-base levels are independent of the measurement when Volts mode is selected for the threshold level. Therefore, the top-base levels are not used and do not need to be set. The instrument will only use the values defined for the threshold levels in the period measurement calculation. If you are measuring an optical channel, please note that the measurement result be displayed as Watts .

Note

Rise time and fall time measurements do not require you to enter a value for the middle level threshold.

Note

Top-base levels are not used in the fall time calculation when threshold levels are set to absolute voltages. Therefore, the top-base levels do not need to be set in this mode.


Configure Measurements Dialog Box

Measurement Configuration

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Top-Base Definition
  • Thresholds
  • Eye Boundary
  • Extinction Ratio
  • TDEC

Eye Boundary

This tab applies to Eye/Mask mode measurements.

Use the Eye Boundary tab of the Configure Measurements dialog box to set the time for the eye boundaries in Eye/Mask Mode. This setting determines what portion of the eye is used to generate histograms for eye diagram amplitude measurements.

Click Measure > Configure Base Measurements to open this dialog box.

Click Measurements Affected to view a list of measurements in which the measurement algorithm is affected by Eye Boundary definition changes.

Eye Boundary

You can use the default values of 40% and 60% (central 20% of bit period) for NRZ eye diagrams, or you can enter the values you want for the boundaries.

  • Eye Boundary 1 (Left) allows you to set the time for the left side eye boundary.
  • Eye Boundary 2 (Right) allows you to set the time for the right side eye boundary.

When you start a mask test, the instrument automatically aligns both the horizontal and vertical axis. There are two methods for aligning the vertical axis of a mask: Display and Eye Boundary. In Display mode, the instrument aligns the mask using the Vtop and Vbase values of the displayed waveform. This is the default mode for mask alignment. You can use Display mode for all mask tests.

In Eye Boundary mode, the instrument uses the one and zero levels of the waveform. The one and zero levels are defined as Eye Boundary 1 and Eye Boundary 2 in the Configure Measurement dialog box. The Eye Boundary mode is typically used to align 10 GB Ethernet masks; it ensures that vertical alignment of the 10 GB Ethernet mask complies with industry standards. This alignment mode does not apply to fixed voltage masks.


Configure Measurements Dialog Box

Measurement Configuration

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Top-Base Definition
  • Thresholds
  • Eye Boundary
  • Extinction Ratio
  • TDEC

Extinction Ratio

This tab applies to Eye/Mask mode measurements.

Use the Extinction Ratio tab of the Configure Measurements dialog box, to apply extinction ratio correction factors for Eye/Mask mode extinction ratio measurements. A separate correction factor value can be entered for each channel. Correction factors are used with 86105C and 86115D reference receiver filters and when an external photodetector is connected to an electrical channel.

Click Measure > Configure Base Measurements to open this dialog box.

Select Apply Correction Factor to apply the entered value to the selected channel. Whenever a correction factor value is applied to a measurement, the entered value is displayed using the ERCF annotation on the measurement Results panel (for example, ERCF: 0.2%).

If the entered correction factor value results in an invalid measurement (negative value), the term CorrFactor? is shown on the panel instead of the measurement result.

On 86105C and 86115D modules, selecting a filter for the optical channel automatically populates the Correction Factor Value with a recommended value. This recommended value is not applied until you select Apply Correction Factor. Correction factor values are subtracted from the measured extinction ratio. For example, if a module's channel reports extinction ratio measurements that are too high, you would need to enter a positive correction factor value. If the extinction ratio measurements that are too low, enter a negative correction factor value.

Correction factor values always represent a percentage of the measured value regardless of the extinction ratio measurement units that are selected.

Note

Although extinction ratio measurements can be made when the color-grade instead of gray-scale persistence is used, correction factor values are never applied to the measured values.


Configure Measurements Dialog Box

Measurement Configuration

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Top-Base Definition
  • Thresholds
  • Eye Boundary
  • Extinction Ratio
  • TDEC

TDEC

This tab applies to Eye/Mask mode measurements.

Use the TDEC tab of the Configure Measurements dialog box to customize the configuration of Eye/Mask Mode's TDEC (Transmitter and Dispersion Eye Closure) measurement.

Click Measure > Configure Base Measurements to open this dialog box.

TDEC Histogram Width

Two histogram windows used in the TDEC measurement are set to a default width of 0.04 UI. Additional data is acquired in the histogram windows when FlexDCA is not in pattern lock. This default value is the same value used in 100GBASE-SR4. The width setting can range from 0.01 UI to 0.20 UI.

TDEC Target BER

The optical power penalty of the measured optical transmitter is based on the amount of noise that would need to be added to obtain a target BER. The default setting is 5 x 10−5 BER, which is called out for 100GBASE-SR4 which uses FEC. The range of values can be from 1 x 10−12 to 1 x 10−1.

Modal Noise Factor

Modal Noise Factor is a property of the fiber-optic link that is connected to the output of the optical transmitter DUT. The default setting is 1.75 x 10−2. The range of values can be from 0 to 5 x 10−1.

Mode Partition Noise Factor

Mode Partition Noise Factor is a property of the fiber-optic link that is connected to the output of the optical transmitter DUT. The default setting is 4.0 x 10−2. The range of values can be from 0 to 5 x 10−1.

Presets

Default User Folder

The default user data folder for presets files is \Presets\TDEC.

Presets allow you to save your dialog box settings to a setup file. To save your settings, click the [image] button. Select a preset in the drop-down list to instantly configure your TDEC setting to your specification. You can save as many presets as you need. The Preset list shows all of the factory provided presets as well as any that you have created. The following factory presets are included in the list:

  • IEEE 802.3bm (100 GbEn)
  • T11 FC-PI-6P (32xFibre Channel)
  • Stressed Eye Closure (SEC)

If you scroll to the end of the list and click the <Edit List> entry, the Edit TDEC Presets List dialog box opens which allows you to reorder, delete, or rename items in the list. In the list, the names of factory provided presets includes the text (factory) which indicates that the entry cannot be edited.


Select Measurement Source and Settings

This dialog box appears in one of the following two situations:

  • Multiple source waveforms are available on which to perform the measurement.
  • There are selectable measurement options.

The following picture shows the source waveform selection. You can click on the arrows to scroll through the selections. Or, you can use the mouse to horizontally drag the selections until you find the one that you want.

The following measurements have additional settings displayed in the dialog box:

  • Eye Mode's Jitter Measurement
  • Eye Mode's DI, RN, and TI Measurements (Advanced Eye only)
  • Eye Mode's DJ, RJ, and TJ Measurements (Advanced Eye only)
  • Eye Mode's Jn Measurement (Advanced Eye only)
  • Eye Mode's PAM-4 Eye Height and Eye Width Measurements

Eye Mode's Jitter Measurement

In Eye Mode, selecting the Jitter measurement requires a selection of the Root-Mean-Square or Peak-to-Peak algorithm.

Eye Mode's DI, RN, and TI Measurements (Advanced Eye only)

You can apply a fixed RN value to the measurement. For TI measurements you can also specify the BER. This field is not shown for DI and RN measurements.

  • DI (Deterministic Interference)
  • RN (Random Noise)
  • TI(Total Interference)
  • Advanced Eye

Advanced Eye measurement requires Option 401, Advanced Eye Analysis.

Eye Mode's DJ, RJ, and TJ Measurements (Advanced Eye only)

You can apply a fixed RJ value to the measurement. For TJ measurements you can also specify the BER. This field is not shown for DJ and RJ measurements.

  • DJ (Deterministic Jitter)
  • RJ (Random Jitter)
  • TJ (Total Jitter)
  • Advanced Eye

Advanced Eye measurement requires Option 401, Advanced Eye Analysis.

Eye Mode's Jn Measurement (Advanced Eye only)

For this measurement, you can select the Jn type with its specific BER value, and apply a fixed RJ value.

  • Jn
  • Advanced Eye
Measurement and Associated BER
Measurement | BER
J1 | 2.5 x 10–2
J2 | 2.5 x 10–3
J3 | 2.5 x 10–4
J4 | 2.5 x 10–5
J5 | 2.5 x 10–6
J6 | 2.5 x 10–7
J7 | 2.5 x 10–8
J8 | 2.5 x 10–9
J9 | 2.5 x 10–10

Advanced Eye measurement requires Option 401, Advanced Eye Analysis.

Eye Mode's Eye Height and Eye Width Measurements (PAM-4 only)

  • Eye Height
  • Eye Width
  • PAM-4 introduction

Select how the eye boundaries are located when making PAM-4 Eye Height and Eye Width measurements. The selections that you make in this dialog box apply to both the PAM-4 Eye Height and Eye Width measurements.

The displayed dialog box fields depend on the selection made for the Eye Opening Definition field:

At Probability
Additional fields are displayed as shown in the following picture. Enter the desired BER in the Eye Opening Probability field, which represents the ratio of total hits in a waveform database column that can occur in the eye's opening. The probablility can be set from 1 x 10–1 to 1 x 10–9 with the default setting being 1 x 10–2. You can also select to use a fixed Random Jitter (RJ) value in the measurement. or fixed Random Noise (RN) values for each eye level.
Zero Hits
The Eye Opening Definition field is the only field displayed in the dialog box. The eye width and height wil be defined in an area that has no waveform data points.

PAM-4 analysis requires Option 86100D-9FP or 86100DT-9TP, PAM-N Analysis Software.


Identifying Waveforms

The instrument must identify basic waveform values, such as top and base, before it can calculate measurements like rise time. To determine these values, the instrument constructs a measurement histogram and locates the waveform's statistical maximum (top) and statistical minimum (base) voltage levels. A measurement histogram is the distribution of how often different voltage levels occur in waveform data.

The following basic steps are used to identify waveforms:

  1. A measurement histogram is constructed.
  2. The top 40% of the histogram is scanned for the top value. The bottom 40% is scanned for the base value. The center 20% of the histogram is not scanned.
  3. The instrument decides whether the waveform's maximum and minimum values should be used to determine top and base (for example, when measuring triangle waveforms) or whether the measurement histogram peaks should be used (for example, when measuring square waveforms). This selection technique allows the detection of top and base for low duty cycle waveforms. To assign standard or custom values to the top-base levels, click Measure > Configure Meas and select the Top-Base Definition tab.

  4. Threshold levels are calculated using the top and base values. To select custom or standard IEEE threshold measurement points, click Measure > Configure Meas and select the Thresholds tab:
    • 10%, 50%, 90% (IEEE Default). This is the default settings which sets IEEE threshold levels of 10%, 50%, and 90% for the respective lower, middle, and upper measurement thresholds. These threshold definitions can be used for normal waveform records.
    • 20%, 50%, 80%. For waveforms with excessive ringing noise or overshoot, this setting provides better measurement results. The following pictures illustrate the same waveform, each with one of the IEEE threshold definitions applied to the waveform. The waveform's rise and fall times are shorter with the 20%, 50%, 80% threshold setting.
    • Custom. Enables you to set up threshold levels and compare different waveform using custom-defined threshold levels.

    Thresholds are used by all timing measurements as they are needed to determine the presence of a rising or falling edge. In addition, the thresholds are used by various subsequent measurements. For example, rise time is measured from the lower threshold to the upper threshold of a rising edge. Period measurements require that the middle threshold be defined.

  5. Rising and Falling Edges are determined. A rising edge is a transition that passes through the lower, middle and upper threshold levels. A falling edge is a transition that passes through the upper, middle and lower threshold levels. An edge must complete the transition through all three threshold levels before it is detected. Rise time and fall times are calculated. The points on a rising edge occur from the last point to cross the lower threshold to the first point crossing the upper threshold. The points on a falling edge occur from the last point to cross the upper threshold to the first point crossing the lower threshold. These points determine the fastest rise and fall times. If there are not enough points on an edge, the measurement is not made or is noted as questionable. If a waveform data point does not exactly correspond to the threshold level value, the instrument interpolates between the two points closest to the threshold. The location of the transition point is recorded in an edge array. The instrument ignores incomplete transitions.


86100D Connector Care

Safety

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Safety
  • Work In Comfort
  • ESD
  • Connector Care

Connector Care

Damage to 86100D's electrical and fiber-optic input connectors (as well as connectors on calibration and verification devices, test ports, cables, and other devices) can degrade measurement accuracy and damage instruments. Replacing a damaged electrical and fiber-optic connectors can cost thousands of dollars, not to mention lost time! This expense can be avoided by observing the important precautions described in the topics referenced below.

The input circuits can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to the front-panel input connectors. Before connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure the instrument is properly earth-grounded to prevent buildup of static charge.

  • Electrical Connector Care
  • Fiber-Optic Connector Care


Electrical Connector Care

The input circuits can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to the front-panel input connectors. Before connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure the instrument is properly earth-grounded to prevent buildup of static charge.

Electrostatic discharge (ESD) can damage or destroy electronic components. Coaxial cables with both ends unconnected may store electrostatic charges. Before connecting any coaxial cable of this sort to a device or instrument, momentarily short the center and outer conductors of the cable. When making connections, ensure the proper use of a grounded, resistor-isolated wrist strap.

  • Coaxial Connector Types
  • Cleaning RF Connectors
  • 1.85 mm Connectors
  • 3.5 mm Precision Connectors
  • SMA Connectors

Handling and storage

  • Keep connectors clean
  • Extend sleeve or connector nut
  • Use plastic endcaps during storage
  • Do not touch mating plane surfaces
  • Do not set connectors contact-end down

Visual inspection

  • Inspect all connectors carefully before every connection
  • Look for metal particles, scratches, and dents
  • Do not use damaged connectors

Cleaning

  • Clean with compressed air first
  • Clean the connector threads
  • Do not use abrasives
  • Do not get liquid onto the plastic support beads

Connector Savers

  • Connector savers are useful in prolonging instrument life and ensuring better quality measurements. Refer to the following table for a list of commonly used connector savers.
Connector Savers
Connector | Part Number | Comments
7 mm |  | Not available
Type-N 50 ohm |  | Not available
Type-N 75 ohm | 85036-60015 | Instrument grade
3.5 mm | 85052-60013 | Metrology grade
3.5 mm | 85059C | Instrument grade
2.92 mm | 11904 | 2.4 to 2.92 adapters
2.4 mm | 85056-60007 | Metrology grade
1.85 mm | 85058-60009 | Instrument grade
1.0 mm |  | Not available

Making connections

  • Align connectors carefully
  • Make preliminary connection lightly
  • To tighten, turn connector nut only
  • Do not apply bending force to connection
  • Do not over tighten preliminary connection
  • Do not twist or screw in connectors
  • Do not tighten past the "break" point of the torque wrench
  • When mating two connectors, keep the connectors from rotating relative to one another. You can use open-ended wrenches on wrench flats on the outer bodies of the connector to help restrict rotation. The following table lists the common wrench flat widths for many Keysight connector components, as well as wrench part numbers when available. There are exceptions to this list, and connector components made by suppliers other than Keysight Technologies are unlikely to use the same wrench flat dimensions.
Recommended Torque Wrenches
Connector | Coupling Torque | Width Across Coupling Nut Wrench Flats | Keysight Torque Wrench # | Keysight Open End Wrench # | Size
7 mm | 1.35 Nm (12 in-lb) | 3/4" | 8710-1766 | 8710-1770 | 1/2"
Type-N 50 ohm | 1.35 Nm (12 in-lb) | 3/4" | 8710-1766 | 8710-1770 | 9/16"
Type-N 75 ohm | 1.35 Nm (12 in-lb) | 3/4" | 8710-1766 | 8710-1770 | 9/16"
3.5 mm standard | 0.9 Nm (8 in-lb) | 5/16" | 8710-1765 | 8710-1761 | 7 mm
3.5 mm NMD | 0.9 Nm (8 in-lb) | 20 mm | 8710-1764 | 8710-1770 | 9/16"
2.92 mm standard | 0.9 Nm (8 in-lb) | 5/16" | 8710-1765 | 8710-1761 | 7 mm
2.4 mm standard | 0.9 Nm (8 in-lb) | 5/16" | 8710-1765 | 8710-1761 | 7 mm
2.4 mm NMD | 0.9 Nm (8 in-lb) | 20 mm | 8710-1764 | 8710-1770 | 1/2"
1.85 mm | 0.57 Nm (5 in-lb) | 5/16" | 8710-1582 | 8710-0510 | 5/16"
1.0 mm | 0.34 Nm (3 in-lb) | 6 mm | 8710-2079 |  |
SMA | 0.9 Nm (8 in-lb) | 5/16" | 8710-1765 |  |
TNC | 0.57 Nm (5 in-lb) | no specifications |  |  |
BNC | — | — |  |  |
SMC | 0.34 to 0.45 Nm (3 to 4 in-lb) | no specifications |  |  |
SMB | — | — |  |  |
Type-F | 1.68 Nm (15 in-lb) | 12 mm |  |  |
Type-FD | 1.68 Nm (15 in-lb) | 12 mm |  |  |


Fiber-Optic Connector Care

Treat all fiber-optic connectors like the high-quality lens of an expensive camera. Damage to the connectors on calibration and verification devices, test ports, cables, and other devices can:

  • Degrade measurement accuracy and repeatability and
  • Cause expensive damage to instruments.

Because fiber-optic connectors are susceptible to damage that is not immediately obvious to the naked eye, it is very easy to make bad measurements without being aware of a connector problem. Learning about proper handling and cleaning techniques will help you to avoid any degredation in connector performance. With glass-to-glass interfaces, any damage of the ferrule or end of the fiber, any stray particles, or finger oil can have a significant effect on connector performance.

This picture shows the end of a clean, problem-free fiber-optic connector. The dark center circle is the fiber's 125 µm core and cladding which carries the light. The surrounding area is the soft nickel-silver ferrule. Click here to view connectors that have been damaged by improper handling!

Improper connector care, cleaning, or use of mismatched cable connectors can invalidate the published specifications and damage connectors. Clean all cables before applying to any connector. Repair of damaged connectors due to improper use is not covered under warranty.

Guidelines

  • Choose the right connector.
  • If practical, monitor a connector's insertion loss and return loss so that you can catch any degradation before it affects your measurements.
  • Use a fiber-optic inspection scope to visually inspect the fiber-optic end. Click here to view connectors that have been damaged by improper handling!

    • Always remove both ends of fiber-optic cables from any instrument, system, or device before visually inspecting the fiber ends. Disable all optical sources before disconnecting fiber-optic cables. Failure to do so may result in permanent injury to your eyes.

  • Keep all fiber-optic connectors clean using professional fiber-optic cleaning products. Many products are available and are easily located via an internet search on "fiber optic cleaning products". You can purchase tools designed specifically for the type of fiber-optic connector that you are using.
  • Keep fiber adapters clean.
  • Never use metal or sharp objects to clean a connector and never scrape the connector.
  • When inserting a fiber-optic cable into a connector:
    • Gently insert it in as straight a line as possible. Tipping and inserting at an angle can scrape material off the inside of the connector or even break the inside sleeve of connectors made with ceramic material.
    • Ensure that the fiber end does not touch the outside of the mating connector or adapter.
  • Avoid over tightening connections.

    • Note

    Unlike common electrical connections, tighter is not better. The purpose of the connector is to bring two fiber ends together. Once they touch, tightening only causes a greater force to be applied to the delicate fibers. With connectors that have a convex fiber end, the end can be pushed off-axis resulting in misalignment and excessive return loss. Many measurements are actually improved by backing off the connector pressure. Also, if a piece of grit does happen to get by the cleaning procedure, the tighter connection is more likely to damage the glass. Tighten the connectors just until the two fibers touch.

  • Keep connectors covered when not in use.
  • Use fusion splices on the more permanent critical nodes. Choose the best connector possible. Replace connecting cables regularly. Frequently measure the return loss of the connector to check for degradation, and clean every connector, every time.

Keysight Technologies strongly recommends that index matching compounds not be applied to their instruments and accessories. Some compounds, such as gels, may be difficult to remove and can contain damaging particulates. If you think the use of such compounds is necessary, refer to the compound manufacturer for information on application and cleaning procedures.


Cleaning RF Connectors

If flammable fluids are used to clean connectors, the fluid shall not be placed on the instrument during, use or when connected to mains voltage. Cleaning the connectors shall take place in ventilated area to allow fluid vapors to dissipate, and reduce the risk of fire.

Cleaning connectors with alcohol shall only be done with the instruments power cord removed, and in a well-ventilated area. Allow all residual alcohol moisture to evaporate, and the fumes to dissipate prior to energizing the instrument.

Improper connector care, cleaning, or use of mismatched cable connectors can invalidate the published specifications and damage connectors. Clean all cables before applying to any connector. Repair of damaged connectors due to improper use is not covered under warranty. Dirty or damaged connectors are often the cause of measurement errors.

The best way to keep connectors clean and in good condition is to use the plastic protector caps and never rotate the connectors relative to one anther during connect/disconnect cycles. Before using connectors for a critical application, inspect the connector interfaces with a microscope ( ∼ 20X). Look for dirt, contaminants, dented or scratched outer conductor mating surfaces, and damaged center conductors.

  1. Use a swab dipped in clean isopropyl alcohol to clean off the outer conductor mating surfaces and the ends of the center conductors. Be careful not to let the alcohol get on the insulator bead, as this may damage the bead. Be careful not to exert too much force on the center conductors, especially slotless female center conductors, as they may be damaged. Use a swab that has a sharp enough corner to clean all areas of the connector interface. Don't forget to clean off the coupling nut threads.
  2. Blow off the alcohol with clean compressed air. Compressed air can reduce the temperature of connectors dramatically, and this can have a significant effect upon the performance of calibration and verification components. If the connector components being cleaned are to be used in a critical measurement application, the temperature of these components should be allowed to stabilize before they are used.
  3. Reinspect the connectors under the microscope. If the outer conductor mating face of a connector has raised material that would keep it from making complete contact with another connector, it should be replaced. If the fingers of a slotted female contact are spread open, rather than crimped closed, the connector should be replaced. If a connector has a slotless contact with damaged fingers, the connector should be repaired or replaced.
Cleaning Accessories
Description | Part Number | Comments
Swabs (100) | 9301-1243 |
99.5 % Alcohol |  | Alcohol should be kept clean and free of water. Do not use other solvents as they may damage the insulator bead.
Compressed air (235 ml) | 8500-6659 | 1,1,1,2 tetrafluoroethane aerosol CFCs: 0%; HCFCs: 100% CAUTION: Use this product only as directed! If the aerosol container is shaken or tilted, the spray will leave a residue on the parts. Filtered and regulated, piped-in compressed air is the preferred solution.
Lint free cloth (one) | 9310-4242 |


Choosing the Right Connector

A critical but often overlooked factor in making a good lightwave measurement is the selection of the fiber-optic connector. The differences in connector types are mainly in the mechanical assembly that holds the ferrule in position against another identical ferrule. Connectors also vary in the polish, curve, and concentricity of the core within the cladding. Mating one style of cable to another requires an adapter. Keysight Technologies offers adapters for most instruments to allow testing with many different cables. The following graphic illustrates the basic components of typical connectors.

Figure. Typical Connector

The instrument tolerance for reflection and insertion loss must be known when selecting a connector from the wide variety of currently available connectors. Some items to consider when selecting a connector are:

  • How much insertion loss can be allowed?
  • Will the connector need to make multiple connections? Some connectors are better than others. Some connectors are very poor for making repeated connections.
  • What is the reflection tolerance? Can the system take reflection degradation?
  • Is an instrument-grade connector with a precision core alignment required?
  • Is repeatability tolerance for reflection and loss important? Do your specifications take repeatability uncertainty into account?
  • Will a connector degrade the return loss too much, or will a fusion splice be required? For example, many DFB (distributed feedback) lasers cannot operate with reflections from connectors. Often as much as 90 dB isolation is needed.

Over the last few years, the FC/PC style connector has emerged as the most popular connector for fiber-optic applications. While not the highest performing connector, it represents a good compromise between performance, reliability, and cost. If properly maintained and cleaned, this connector can withstand many repeated connections.

However, many instrument specifications require tighter tolerances than most connectors, including the FC/PC style, can deliver. These instruments cannot tolerate connectors with the large non-concentricities of the fiber common with ceramic style ferrules. When tighter alignment is required, Keysight Technologies instruments typically use a connector such as the Diamond HMS-10, which has concentric tolerances within a few tenths of a micron. Keysight Technologies then uses a special universal adapter, which allows other cable types to mate with this precision connector.

Table of Connector Types
Connector | Description
FC | Flat endface, polished so that the glass ends up concave and slightly recessed from an otherwise flat face resulting in no glass to glass connection.
PC | Polished so that the whole endface, including the glass-fiber tip, ends up with a slight convex shape. The slight rounding brings the fiber up as the highest point on the endface ensuring a glass-to-glass connection.
APC | Connector with an angled endface that can achieve a better return loss.
DIN | Physically contacting connector. The DIN adapter accommodates both straight and angled connectors.
ST | Physically contacting connector with a bayonet sleeve (similar to an electrical BNC).
SC | Physically contacting connector with a snap-in styled sleeve.
HMS-10 | Keyed, physical contact connector with an inner ferrule used to hold the fiber into the desired position, producing more precise alignments. The HMS-10 encases the fiber within a soft nickel silver (Cu/Ni/Zn) center that is surrounded by a tough tungsten carbide casing

Figure. HMS-10 Connector

The nickel silver allows an active centering process that permits the glass fiber to be moved to the desired position. This process first stakes the soft nickel silver to fix the fiber in a near-center location, then uses a post-active staking to shift the fiber into the desired position within 0.2 µ m. This process, plus the keyed axis, allows very precise core-to-core alignments. This connector is found on most Keysight Technologies lightwave instruments.

The soft core, while allowing precise centering, is also the chief liability of the connector. The soft material is easily damaged. Care must be taken to minimize excessive scratching and wear. While minor wear is not a problem if the glass face is not affected, scratches or grit can cause the glass fiber to move out of alignment. Also, if unkeyed connectors are used, the nickel silver can be pushed onto the glass surface. Scratches, fiber movement, or glass contamination will cause loss of signal and increased reflections, resulting in poor return loss.


Cleaning an Optical Adapter

The fiber-optic input and output connectors on many Keysight Technologies instruments employ

  • Screw-on universal adapters (86105C), or
  • Lever adapters (N1090A).

These adapters, when removed, have no fiber-optic parts and can be cleaned using the procedure in this topic.

If flammable fluids are used to clean connectors, the fluid shall not be placed on the instrument during use or when connected to mains voltage. Cleaning the connectors shall take place in ventilated area to allow fluid vapors to dissipate, and reduce the risk of fire.

Note

Cotton swabs can be used as long as no cotton fibers remain after cleaning. The foam swabs listed in this section's introduction are small enough to fit into adapters. Although foam swabs can leave filmy deposits, these deposits are very thin, and the risk of other contamination buildup on the inside of adapters greatly outweighs the risk of contamination by foam swabs.

  1. To remove a screw-on universal adapter from a module, turn the adapter counter clockwise.
  2. To remove a lever adapter from an N1090A module,
    1. Lift the receptacle latch as shown in the following picture.
    2. Carefully pull off the receptacle without touching the ferrule or fiber end.

  3. Clean the adapter with the foam swab.
  4. Dry the inside of the adapter with a clean, dry, foam swab.
  5. Blow through the adapter using filtered, dry, compressed air. Nitrogen gas or compressed dust remover can also be used.

Do not shake, tip, or invert compressed air canisters, because this releases particles in the can into the air. Refer to instructions provided on the compressed air canister.


Examples of Damaged Fiber-Optic Connectors

This picture shows a fiber end that is dirty from neglect or improper cleaning. Loose particles or oils are smeared and ground into the end of the fiber causing light scattering and poor reflection. Not only is the precision polish lost, but this action can also grind off the glass face and destroy the connector.

This picture shows physical damage to the glass fiber end caused by either repeated connections made without removing loose particles from the fiber end or by using improper cleaning tools. This damage can be severe enough to transfer the damage from the connector end to a good connector that comes in contact with it.

The cure for these problems is disciplined connector care. Visual inspection of fiber ends can be helpful. Contamination or imperfections on the cable end face can be detected as well as cracks or chips in the fiber itself. Use a microscope (100X to 200X magnification) to inspect the entire end face for contamination, raised metal, dents in the metal, and any other imperfections. Visible imperfections not touching the fiber core may not affect performance, unless the imperfections keep the fibers from contacting.

Always remove both ends of fiber-optic cables from any instrument, system, or device before visually inspecting the fiber ends. Disable all optical sources before disconnecting fiber-optic cables. Failure to do so may result in permanent injury to your eyes.


Measuring Insertion Loss and Return Loss

Test your cables for insertion loss and return loss upon receipt and retain the measured data. You will then be able to compare those figures to future measurement results and determine if any degradation has occurred.

Consistent measurements with your lightwave equipment are a good indication that you have good connections. Since return loss and insertion loss are key factors in determining optical connector performance they can be used to determine connector degradation. A smooth, polished fiber end should produce a good return-loss measurement. The quality of the polish establishes the difference between the "PC" (physical contact) and the "Super PC" connectors. Most connectors today are physical contact which make glass-to-glass connections, therefore it is critical that the area around the glass core be clean and free of scratches. Although the major area of a connector, excluding the glass, may show scratches and wear, if the glass has maintained its polished smoothness, the connector can still provide a good low level return loss connection.

Typical values are less than 0.5 dB of loss, and sometimes as little as 0.1 dB of loss with high performance connectors. Return loss is a measure of reflection: the less reflection the better (the larger the return loss, the smaller the reflection). The best physically contacting connectors have return losses better than 50 dB, although 30 to 40 dB is more common.

Note

Refer to the manuals provided with your lightwave test equipment for information on how to perform an insertion loss and/or return loss test. Typical insertion loss for cables is less than 1 dB, and can be as little as 0.1 dB. Refer to the manufacturer specifications of your particular cable or accessory.


Coaxial Connector Types

The following table shows commonly used RF coaxial connectors. N1055A 30/50 GHz TDR/TDT remote sampling head modules come with either 2.92 mm or 1.85 mm port connectors, depending on the option. 54754A TDR/TDT modules come with 3.5 mm connectors.

With the exception of the SMA connector, connector types are identified by the diameter (in millimeters) of the air dielectric region as shown in this picture of a 3.5 mm connector.

  • Electrical Connector Care
Types of Coaxial Connectors
Connectory Type | Frequency Range | Coupling Torque | Compatible Connectors | Notes
1.0 mm Connector | ≤ 110 GHz | 0.34 Nm (3 lb-in) | 1.0 mm | The smallest connector.
1.85 mm Connector | ≤ 70 GHz | 0.57 Nm (5 lb-in) | 2.4 mm | 1.85 mm and 2.4 mm connectors are intermateable. To aid identification, 1.85 mm Keysight connectors have a groove in the male nut and female shoulder. The outer thread size of 1.85 mm and 2.4 connectors is larger than the tread size on SMA, 2.92 mm, and 3.5 mm connectors. This makes the area of the outer conductor's mating surface appear very large compared to the relatively smaller air dielectric.
2.4 mm Connector | ≤ 50 GHz | 0.9 Nm (8 lb-in) | 1.85 mm
2.92 mm Connector | ≤ 40 GHz | 0.9 Nm (8 lb-in) | 3.5 mm and SMA | 2.92 mm, 3.5 mm, and SMA connectors are intermateable. 2.92 mm and 3.5 mm connectors use the same center pin. Inserting the larger SMA (m) center pin into a 2.92 mm or 3.5 mm connector can slightly degrade the connector. It is recommended that you only mate SMA (m) connectors to other connectors that you reserve for this purpose. SMA connectors a Teflon delectric.
3.5 mm Connector | ≤ 34 GHz | 0.9 Nm (8 lb-in) | 2.92 mm and SMA
SMA Connector | ≤ 24 GHz | 0.9 Nm (8 lb-in) | 2.92 mm and 3.5 mm


1.85 mm Connectors

The 1.85 mm connectors are used with many of the 86100 series plug-in modules and remote heads. The following topics will show you how to properly connect, disconnect, and maintain 1.85 mm adapter/connectors.

Failure to follow the guidelines for proper connector handling and avoiding electrostatic discharge (ESD) can result in severe damage to the product. In some cases, the 1.85 mm connector is an integral part of the electrical sampler device. Therefore, by using improper cleaning and handling techniques, you risk expensive instrument repairs.

An Keysight 1.85 mm connector that is connected properly and well maintained should last for many years and many hundreds of connections. The best techniques for maintaining the integrity of your Keysight 1.85mm connector include routine visual inspection, cleaning, and proper connection techniques. If you fail to detect and remove dirt or metallic particles on a mating plane surface, you run the risk of degrading repeatability and accuracy. You also risk damage to any connector mated to it. Improper connections, resulting from pin depth values being out of the typical limits or from poor connection techniques, can also damage these devices. You should inspect the connector every time a connection is made. A connection made with a dirty or damaged connector can damage both connectors beyond repair. Magnification may be required to see damage on a connector. This is especially true with female connectors. Use a microscope with a magnification of 10x to inspect the connector mating surfaces. Also, you must use good lightning to see potential damage on a connector. For example, the contact fingers on slotted connectors may become bent or broken.

Note

Not all defects that are visible only under magnification will affect the electrical performance of the connector. Some are the result of normal wear, such as mild spreading of female socket fingers or light burnishing of mating surfaces.

Examine and evaluate the integrity of the connector using the following guidelines:

  • Obvious defects or damage. This includes badly worn plating exposing large amounts of base metal, deformed threads or bent, broken, or misaligned center conductors. Connector nuts should move smoothly and be free of burrs, rough spots, and loose metal particles. Loose metal particles have the potential to fall into the connector when it is disconnected and cause a short. Any connector that has obvious defects should be discarded or sent for repair.
  • Mating plane surfaces. A good connection requires flat contact between the connectors at all points on their mating plane surfaces. Examine the connector mating plane surfaces for deep scratches, dents, dirt, and metal particles. Check the mating plane surfaces of the center and outer conductors for bent or rounded edges. Also look for signs of damage due to excessive or uneven wear or misalignment.

Note

Inspecting for excessive, uneven wear or misalignment is especially important when mating a 1.85 mm connector to a 2.4 mm connector.

Light burnishing of the mating plane surfaces is normal and will appear as light scratches or shallow circular marks distributed uniformly over the mating plane surface. Other small defects and cosmetic imperfections are also normal. Light burnishing and minor defects will not affect electrical or mechanical performance. If a connector shows deep scratches or dents, particles clinging to the mating plane surfaces, or uneven wear, clean the connector and inspect it again. Try to determine the cause of damage before connecting a new, undamaged connector in the same configuration.

  • Connector wear. The more use a connector gets, the faster it will wear. Eventually the connector performance will degrade. Connector wear is greatly accelerated when connectors are not kept clean. It is recommended that an adapter be used as connector saver to minimize the wear on the connectors particularly in a production setting. Replace all worn connectors.
  • Slotted connectors. When using slotted connectors, pay special attention to the female center conductor contact fingers. These contact fingers are easily bent or broken with improper use. Damage to them is not always easy to see. You will need to use a microscope with a magnification of 10x. A connector with damaged contact fingers will not make good electrical contact.

Pin Depth

Pin depth is an important mechanical parameter. The electrical performance of your device under test has some dependency on its pin depth. Pin depth is defined as the distance between the center conductor mating plane and the outer conductor mating plane. The pin depth of a connector can be either protruding or recessed. With protrusion, the center conductor extends beyond the outer conductor mating plane. If measured with a connector gauge, the depth is a positive value. With recession, the center conductor is set back from the outer conductor mating plane. The center conductor will measure a negative value on a connector gauge. It is important to ensure proper pin depth prior to attaching your device under test to the 1.85 mm connector. Improper pin depth could potentially damage the connector. The 1.85 mm connector specification allows a pin depth between 0 and 0.05 mm (0.002 inch) maximum recession.

At no time should the pin depth of the 1.85 mm connector be protruding.

Note

Use a 2.4 mm connector gauge for measuring pin depth of 1.85 mm devices.

Proper Connection Techniques

Proper connections require special attention. Follow these recommendations for optimum connection technique:

  • Clean and inspect (visually and mechanically) all connectors.
  • Align connectors carefully. Look for at physical contact at all points on the mating plane surfaces.
  • Make a gentle, preliminary connection. If initial alignment is correct the connector nut should thread on to the female outer conductor with minimal friction.

If friction is encountered, STOP! Disassemble the connector immediately and determine the cause of the problem. Failure to observe this caution will lead to almost certain damage to one or both of the connectors.

  • When you make a connection, turn only the connector nut. Do not rotate a device when you make a connection and do not apply lateral or horizontal (bending) force.
  • Use an open-end wrench to keep the device body from rotating when making the final connection with the torque wrench.

To make the connection

  1. Ground yourself and all devices (wear a grounded wrist strap and work on an antistatic mat). For more information, see Electrostatic Discharge Information.
  2. Visually inspect the connectors.
  3. If necessary, clean the connectors.
  4. Use a connector gauge to verify that all center conductors are within the typical pin depth values.
  5. Carefully align the connectors. The male connector center pin must slip concentrically into the contact fingers of the female connector.
  6. Push the connectors straight together. Do not twist or screw them together. As the center conductors mate, there is usually a slight resistance.

    7. Do not twist one connector into the other (like inserting a light bulb). This happens if you turn the device body rather than the connector nut. Major damage to the center conductor can occur if the device body is twisted.

    The preliminary connection is tight enough when the mating plane surfaces make uniform, light contact. Do not overtighten this connection. At this point all you want is a connection in which the outer conductors make gentle contact at all points on both mating surfaces. Very light finger pressure (no more than 2 inch-pounds of torque) is enough.

  7. Relieve any side pressure on the connection from long or heavy devices or cables. This will assure consistent torque when making the final connection.

    8. You will need to use two wrenches to make the final connection between the 1.85 mm connector and your device under test: an open-end wrench and a torque wrench. Use the open-end wrench to keep the body of the device from turning. Use the supplied torque wrench to make the final connection. Torque 1.85 mm connectors to 56 N-cm (5 in-lb.).

    This torque setting is less than the 8 in-lb typically specified for 1.85 mm connectors. The 5 in-lb torque setting is required to avoid damage to sensitive microcircuits used in the 86100 series plug-in modules and remote heads. Use Keysight torque wrench part number 8710-1582.

    Using the torque wrench guarantees that a connection is not too tight, thus preventing possible connector damage. It also guarantees that all connections are consistently tight each time a connection is made.

  8. Position both wrenches within 90 degrees of each other before applying force. Wrenches opposing each other more than 90 degrees will cause a lifting action, which can misalign and damage the connection. The following figures illustrate proper wrench position.

    9. Figure. Correct Wrench Position

    Figure. Incorrect Wrench Position

  9. Rotate only the connector when you make the connection.
  10. Hold the torque wrench lightly, at the end of the handle beyond the groove.

    11. Figure. Location of Groove in Handle

  11. Apply force perpendicular to the wrench handle. This applies torque to the connection through the wrench. Do not hold the wrench so tightly that you push the handle straight down along its length rather than pivoting it, otherwise you apply an unlimited amount of torque.
  12. Tighten the connection just to the torque wrench "break" point. Refer to the above graphic. Do not tighten the connection further.

You don't have to "fully break" the handle of the torque wrench to reach the specified torque; doing so can cause the handle to kick back and loosen the connection. Any give at all in the handle is sufficient torque.

Do not pivot the wrench handle on your thumb or other fingers, otherwise you will apply an unknown amount of torque to the connection when the wrench does reach its "break" point.

Do not twist the head of the wrench relative to the outer conductor mating plane. If you do, this will apply more than the recommended torque.

Disconnecting the Devices

You will need to use two open-end wrenches to disconnect the 1.85 mm connector from your device under test.

Note

To avoid lateral (bending) force on the connector mating plane surfaces, always support the devices and connections.

  1. Use an open-end wrench to prevent the device body from turning.
  2. Use another wrench to loosen the connector nut.
  3. Complete the disconnection by hand, turning only the connector nut.
  4. Pull the connectors apart without twisting or bending.

Do not twist one connector out of the other (like removing a light bulb from a socket). Turn the connector nut, not the device body. Major damage to the center conductor of the connector can occur if the device body is twisted.

  • Never store connectors loose in a box, in a desk, or in a bench drawer. This is the most common cause of connector damage during storage.
  • Keep connectors clean.
  • Do not touch mating plane surfaces. Natural skin oils and microscopic particles of dirt are easily transferred to a connector interface and are very diffcult to remove.
  • Do not set connectors contact-end down on a hard surface. The plating and the mating plane surfaces can be damaged if the interface comes in contact with any hard surface.
  • If a connector or device falls on the floor, inspect thoroughly before using.
  • When you are not using a connector, use plastic end caps over the mating plane surfaces to keep them clean and protected.


3.5 mm Precision Connectors

To ensure measurement accuracy, use 3.5 mm precision connectors. However, you can use SMA connectors if special care is taken when mating the connectors, and all connectors are undamaged and clean. Before each use, check the mechanical dimensions of all connectors with a connector gauge to make sure that the center conductors are positioned correctly. Remember, all connections must be made for consistent and repeatable mechanical (and therefore electrical) contact between the connector mating surfaces. Carefully study and practice all procedures in this topic until you can successfully perform the procedures repeatedly. Accuracy and repeatability are critical for good high frequency measurements.

Precision 3.5 mm Microwave connectors are compatible with an SMA connector within its specification. Due to the variable quality of the SMA connector, mating with an SMA can sometimes cause severe damage to the 3.5 mm connector.

Note

The device connection procedures differ in several important ways from traditional procedures used in the industry. Keysight Technologies have developed the following procedures through careful experimentation.

Visually Inspecting 3.5 mm Connectors

You must always begin a calibration with a careful and thorough visual inspection of the connectors, including the test set connectors, to ensure they are not damaged.

Ensure that you and your equipment are grounded prior to touching any center conductor so you will not produce static electricity and create a potential for electrostatic discharge. When using or cleaning connectors, be aware that you are touching exposed center connectors that are connected directly to the internal circuits of the oscilloscope. Touching the center conductor, especially with a wiping or brushing motion, can cause an electrostatic discharge and severely damage these sensitive circuits.

Note

Use an illuminated, 4-power magnifying glass for visual inspection.

  1. Examine the connectors for obvious problems, such as deformed threads, contamination, or corrosion.
  2. Examine the mating surfaces of each connector. Look for scratches, rounded shoulders, misalignment, or any other signs of wear or damage.
  3. Ensure that the surfaces are clean, free of dust and solvent residues. Dirt or damage visible with a 4-power magnifying glass can cause degraded electrical performance and possible connector damage.
  4. Repair or discard all damaged or worn connectors.

Mechanically Inspecting 3.5 mm Connectors

After you perform a visual inspection of the precision connectors, you must perform a mechanical inspection. This inspection consists of using the appropriate male or female precision 3.5 mm connector gauge to check the mechanical dimensions of all connectors, including those on the test set. The purpose of this inspection is to ensure that perfect mating will occur between the connector surfaces. Perfect mating assures a good electrical match and is important to avoid damaging the connectors themselves, especially on the instrument.

Center Conductor

The critical dimension to be measured is the recession of the center conductor. No protrusion of the center conductor's shoulder is allowable on any connector. The maximum allowable recession of the center conductor shoulder is 0.003 in. (0.08 mm) on all connectors, except those on the channel connectors. On the channel connectors, not only is no protrusion allowable, the shoulder of the center conductor must be recessed at least 0.0002 in. (0.005 mm). The maximum allowable recession of the center conductor shoulder on the channel connectors is 0.0021 in. (0.056 mm).

Outer Conductor

If any contact protrudes beyond the outer conductor mating plane, the contact is out of tolerance and must be replaced. If the center conductor is not recessed at least 0.0002 in. (0.005 mm), it is out of tolerance and must be replaced. In both cases, the out-of-tolerance connector will permanently damage any connector attached to it. Destructive electrical interference will also result due to buckling of the female contact fingers. This is often noticeable as a power hole several dB deep occurring at about 22 GHz.

If any contact is recessed too far behind the outer conductor mating plane (0.0021 in. 0.056 mm, except in test sets), poor electrical contact will result, causing high electrical reflections. Careful gauging of all connectors will help prevent this condition.

Before using the connector gauge to measure the connectors, visually inspect the end of the gauge and the calibration block in the same way that you inspected the connectors. Dirty or damaged gauge facings can cause dirty or damaged connectors. Two connector gauges are available from Keysight Technologies, one for each connector type, male and female. A single gauge calibration block is used to zero both gauges; one end protrudes for zeroing the male connector gauge. The part number for both gauges, as well as the calibration block is 85052-80010.

Type-N connectors can be tightened hand tight, but for better repeatability they should be torqued to 135 N-cm.

The 5/16" head of the 8710-0510 wrench will need to be ground thinner for some applications.

NMD connectors are rugged test port or cable connectors.

A 56 N-cm. torque wrench should be used to connect male SMA connectors to either 3.5-mm or 2.92-mm connectors. A 90 N-cm torque wrench should be used to connect male 3.5-mm or male 2.92-mm connectors to mating female connectors.

Disconnecting 3.5 mm Connectors

To disconnect, follow this procedure:

  1. Loosen the connector nut on the male connector with the torque wrench. Leave the connection finger tight.
  2. While supporting the calibration device, gently unfasten the connectors and pull the calibration device straight out of the channel connector. Do not twist either the center conductor or the outer conductor housing or exert lateral or vertical (bending) force on the connection.

Note

Some precision 3.5 mm female connector fingers are very tight and can pull the center pin of their mates out past specifications when the connectors are disconnected. If such a male pin is inserted into a female connector, it can cause considerable damage by pushing the female center conductor back too far. Be aware of this possibility and check all connectors before mating them again.

Protecting Input Channels

The Keysight N9355CK01 is a DC coupled limiter (DC to 26.5 GHz) that is used to protect sensitive oscilloscope channels from damage due to electric overload stress (EOS) and electrostatic discharge (ESD). For example, voltages in excess of ±2V can damage high-performance samplers used in oscilloscopes. The limiter dramatically reduces the likelihood that such voltages will reach the sensitive part of the instrument, ensuring that the oscilloscope will perform reliably. Instruments with dual electrical channels, such as the 54754A, will require two N9355CK01 limiters. Step generators within the TDR modules use ≤0.2V, which is less than the diode threshold of the N9355CK01 limiter. The N9355CK01 can also be used to protect the electrical channel of the 86105x and similar modules, as long as the signal does not exceed –0.5V to +0.5V. The N9355CK01's voltage drop is ±0.6V to 0.7V at ±10 mADC.

The N9355CK01 will protect instruments from occasional and short voltage spikes. A major power source, such as a high voltage and current supply can still cause severe damage to the limiter itself, or the instruments. Operators should continue using industry standard EOS and ESD practices to minimize this risk.

Figure. Two N9355CK01s Inserted into TDR Module Signal Paths


SMA Connectors

You must carefully inspect a SMA connector prior to mating with a precision 3.5 mm connector (this includes a new SMA connector). This must be both a visual and mechanical inspection. Use a precision connector gauge designed to measure SMA connectors. Remember that gauging SMA connectors is the most important step you can take to prevent damaging your equipment. Significant structural and dimensional differences exist between these SMA and precision connectors. Precision 3.5 mm connectors, also known as APC-3.5 connectors, are air-dielectric devices. Only air exists between the center and outer conductors. The male or female center conductor is supported by a plastic "bead" within the connector. On the other hand, a plastic dielectric supports the entire length of the center conductor of an SMA connector. In addition, the diameter of both the center and outer conductors of SMA connectors differ from that of a precision 3.5 mm connector. When an SMA connector is mated with a precision 3.5 mm connector, the connection exhibits a continuity mismatch (SWR), typically about 1.10 at 20 GHz. This continuity mismatch is less than the mismatch that occurs when precision 3.5 mm connectors are mated. Please keep this mismatch in mind when making measurements on SMA and precision 3.5 mm coupled junctions.

Note

A male SMA connector pin that is too long can smash or break the delicate fingers on the precision 3.5 mm female connector.


Time-Saving Features and Controls

In this topic, you'll learn to control many of FlexDCA's time-saving features and controls.

Panels

As shown in the following picture, there is one primary and two secondary panels. FlexDCA uses these panels to show waveforms and tablular results (for example, measurement results, mask test results, and limit test results). By default, waveforms are shown in the primary panel.

You can move the content between any two of these panels by draging a panel's tab over a different panel. For example, drag the right secondary panel's tab:

  • Over the center of the primary panel swaps the panels. For the following picture, this would exchange the Mask Test results with the waveform.
  • To the right of the primary panel's tab adds the tab to the primary panel. In fact, you can drag both secondary panel tabs to the primary window to view all content in the primary window.

Content Windows

As shown in this picture, content-window tabs appear above the graticule area. Content windows graph specific types of waveforms and their availability depends upon waveform type and instrument mode.

  • Learn about content windows

Content Window Toolbar (Left Side Buttons )

Each content window includes up to four left-side toolbar buttons, depending on the number of displayed waveforms. As more waveforms are displayed, use the left-side buttons to organize the waveforms for easier viewing. Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can customize the waveform's labels to your own more meaningful user name by clicking on the label in this dialog box.

Button | Description | Button | Description
 | Overlapped View |  | Tiled View
 | Stacked View |  | Zoom Tiled View

Waveform Pan and Zoom, color, save, etc. (Right Side Buttons )

Each content window includes up to six right-side toolbar buttons, depending on the type of displayed waveforms. The right-side toolbar buttons provide quick access to waveform settings and common tasks.

Button Description
Click to change the color of the selected waveform.
Displays a setup dialog box for scaling channel, differential channel, and memory waveforms.
Depending on the type of selected waveform, saves the waveform to a file:
  • Waveform file (.wfmx), Oscilloscope Mode with Minimum, Infinite, or Variable Waveform Persistense.
  • Pattern Waveform (.csv), Oscilloscope Mode with Minimum, Infinite, or Variable Waveform Persistense.
  • Color Grade-Gray Scale file (.cgsx), Eye and Jitter Mode. Oscilloscope mode with Color Grade or Gray Scale Waveform Persistense.
Saves a screen capture to a graphics file.
Waveform pan and zoom mouse/gesture control mode buttons. These buttons modify the waveform pan and zoom behavior. If FlexDCA is installed on a PC or 86100D display which has a capacitive touch display, you can select for these features to respond to touch gestures instead instead of a mouse using the Enable Multi-Touch setting in the Display Setup dialog box.
Drag over a waveform to zoom in on a selected area.
Reverses a previous waveform zoom. Multiple clicks undo a series of previous zoom actions.
Move the waveform in both the vertical and horizontal directions.
Move the waveform in only the horizontal directions.
Displays the Configure Waveform dialog box, which provides access to tracking markers and selections normally located in the Display Setup dialog box.

Measurement Results

By default, scaler and statistical information is displayed in the secondary panels. The panels only appear when needed. For example, if in Oscilloscope mode you performed a rise time measurement and turned on the markers, the Results and Markers panels appear. The following picture shows an example measurement Results panel in Eye/Mask mode.

Click the expander arrow to collapse (hide) or expand (display) the panels.

Panel Overlap Pin

Click the panel overlap pin to overlap [image] the panels on top of the waveform window or separate [image] the panels. You can also control panel overlap using the Overlay Display Tabs setting in the Display Setup dialog box's Appearance tab.

DRAG & DROP DATA

You can drag-and-drop a panel's tabular data directly into Microsoft Excel and Word. On the Windows desktop size FlexDCA and the target application so that both are open and visible. Click on the panel's tab and drag the panel to the other application. On the 86100D, you can accomplish this by adding a second display.

Waveform Window's Flyout Arrow

As shown in the this picture, you can click the waveform window's flyout arrow to float or dock the main waveform window.

Click the copy-to-clipboard button to place an image of the displayed waveform onto the clipboard. You can then paste the image into another application.

Panel Buttons and Flyout Arrow

When multiple panels are displayed, click a panel's tab to select the panel. Click the selected panel's flyout arrow ( [image]) to open the panel-position buttons identified in the following picture. With these tools, you can remove the table, make it full or half width, float it, or swap it with the display's waveform window. Results, Jitter and Amplitude panels include the buttons that are shown in the following picture.

After selecting a measurement result that is listed in the table, click the Details button to view the Details panel shown in the following figure. This panel shows the status of the measurement, which can be "Correct", "Questionable", or "Invalid". The panel lists short explanations if the measurement is "Questionable" or "Invalid". Click the Algorithm button to display a help topic that describes how the measurement is made.

  • Table of Measurement Messages

Measurement Annotations

If you click on a measurement in the Results, Jitter or Amplitude panels, annotations are placed on the waveform to identify measurement locations on the waveform. In Jitter mode, the eye-diagram waveform is shown in the Waveform panel. This picture shows the one and zero level annotation for measuring Eye Height. The Eye Height value in the table shows 474 mV. The annotation shows the 1 Open value (238 mV) and the 0 Open value (236 mv) for a Eye Height of 474 mV. You can hide or display the annotations.

  • Table of Measurement Annotations

There are some instances when the instrument cannot detect the necessary parameters or source it needs to perform a specific measurement. When this situation occurs, a message appears under the Current column in place of the measurement result. This displayed message provides a brief statement of why the measurement was not completed.

Note

The measurement database and the graticule display will clear when you perform the following events: switch between operating modes, change the timebase, change the vertical scale and offset, change trigger level or source, press the Clear Display button on the front panel, or cycle the power. Consequently, any configuration change will clear the database and the instrument begins building a new database.


Custom Waveform User Names

When the displayed content window is set to tiled, stacked, or zoom tiled views, waveform labels are displayed that identify the waveform's source. Sources include channels, differential channels, functions, Waveform Memory, and Eye Memory. You can easily change the label to a more meaningful custom name as shown in the following picture.

Note

The maximum length of a label is 25 characters.

To View Waveform Labels

  • On the Content Window toolbar, make sure that the window is set to any view other than overlapped. Waveform labels are not visible in overlapped view. Click one of the following buttons:

To Enter a Custom Waveform User Name

To enter a custom waveform user name, use one of the following methods.

  • Click the [image] icon that appears in the waveform label. This icon in the waveform label indicates that you can click to open the Add User Name dialog box.
  • Click the [image] icon that appears in the waveform label displayed in Channel and Differential Channel Setup dialog boxes.
  • Depending on the waveform type, click the Name button in one of the following setup dialog boxes:

    • Channel Advanced Setup dialog box
    • Differential Channel Advanced Setup dialog box
    • Function Setup dialog box
    • Waveform Memeory Setup dialog box
    • Eye Memeory Setup dialog box

To Reset a User Name

You can reset a custom user name to its default value by opening the Add User Name dialog box as described above and clicking Reset.


Waveform Content Windows

Click the Configure Window button to quickly view and scale waveforms and to apply tracking markers. Settings that you make in the Configure Window pane are applied to the currently selected waveform content window.

Up to seven different types of waveform content windows can be displayed: Waveform, Time-Ohms, Time-Volts, Time-%, Freq-Mag, GrpDelay, and Phase. Each window is reserved for a specific type of waveform. Windows are selected using tabs that are located beneath the menu bar. The Waveform window displays channels, the output of most functions, Eye/Mask Memory, and Waveform Memories (other than TDR/TDT waveforms). The three frequency-domain windows display FFT waveforms and, in TDR/TDT mode, S-parameter waveforms. The three time-domain windows display TDR/TDT mode's T-parameter waveforms.

  • Configure pane for Waveform windows
  • Configure pane for Time-Ohm, -%, -Volts windows
  • Configure pane for Freq-Mag, GrpDelay, Phase windows
  • Table of Content Window features

Configure Window Pane for Waveform Windows

This picture shows the settings available for the Configure Window pane. Use the Markers field to quickly place a tracking marker on a displayed waveform. The remaining fields provide quick access to selections that are availble on the Graticule tab of the Display Setup dialog box.

Select Show Signals Legend, located at the bottom of the pane, to hide or view the legend that is shown in the window's top-right corner.

Configure Window Pane for Time-Ohm, -%, -Volts Windows

This picture shows the settings available for Time-Ohms, Time-Volts, and Time-% versions of the Configure Window pane. These time-domain windows are used to show TDR/TDT mode's T-parameters.

Auto Scale

Click the Auto button to scale the graph's vertical axis.

Markers

Use the Markers field to quickly place a tracking marker on a displayed waveform.

Horizontal Units

In the Horizontal Units field, you can select Seconds or Meters. Seconds is the default settings. When Meters is selected, you can accurately scale the graph's X-axis to account for the velocity of propagation through the DUT path. This is accomplished by entering either the DUT path's Dielectric Constant (εr), also known as Relative Permittivity, or the Velocity Factor.

DUT Time Domain Params

Use the DUT Time Domain Params field to turn on and off the display of available waveforms. You may need to click on the gray title bar to expand this field for view.

Scale Settings

Use the Scale Settings fields to change the graph's Vertical scales. You may need to click on the gray title bar to expand this field for view. Because the scaling for the horizontal axis is linked to the scaling for the standard Waveform window, click on the Timebase button that is located at the bottom of the application window to change the graph's horizontal scale.

Select Show Signals Legend, located at the bottom of the pane, to hide or view the legend that is shown in the window's top-right corner.

Configure Window Pane for Freq-Mag, GrpDelay, Phase Windows

This picture shows the settings available for Freq-Mag, GrpDelay, and Phase versions of the Configure Window pane. Use the Markers field to quickly place a tracking marker on a displayed waveform.

Auto Scale

Click the Auto buttons to scale the graph's vertical axis, horizontal axis, or both axis.

Markers

Use the Markers field to quickly place a tracking marker on a displayed waveform.

Functions and Memories

The Functions and Memories field is present if:

  • An FFT math function is active and its output is not selected to be Linear Magnitude.
  • A frequency-domain waveform has been saved to waveform memory.

Click the FFT and Memory buttons to turn on and off the display of these waveforms. You may need to click on the gray title bar to expand this field for view.

DUT S-Parameters

The DUT S-Parameters field is present if TDR/TDT mode is active and S-parameters are available. Use the S-Parameter Freq Spacing field to change the frequency spacing used on the graph. This is the only location in FlexDCA where you can change this setting. You may need to click on the gray title bar to expand this field for view.

Click the S-Parameter buttons to turn on and off the display of these waveforms.

Scale Settings

Use the Scale Settings fields to change the graph's Horizontal and Vertical scales. You may need to click on the gray title bar to expand this field for view.

Select Show Signals Legend, located at the bottom of the pane, to hide or view the legend that is shown in the window's top-right corner.

Table of Content Window Features

As noted in the following table, in certain situations multiple waveform content windows of the same type can be created. For example, in TDR/TDT mode there could be created Phase 1, Phase 2, Phase 3, and Phase 4 windows. When created, waveforms are automatically displayed in content window number 1 for the correct type. To move a waveform to a different content window of the same type, use the SCPI commands shown in the following table. If the additional content window does not exist, it will automatically be created. There is no direct front-panel control for creating additional Waveform, Freq-Mag, Phase, and GrpDelay content windows. However, you can assign existing waveforms to new windows by selecting the commands listed in the table from within the front panel Interactive SCPI Command Tree.

The following table describes the various content windows and their availability.

Content Window Types
Content
Window Title 		Availability in
Instrument Mode 		Waveform Types Number of
Available Windows 		SCPI Command Used to Assign
Waveform to Content Window 		Description
Scope Eye TDR Jitter Via
Front Panel 		Program-
matically
Waveform ♦ ♦ ♦
  • Channels
  • Differential Channels
  • Most Functions
  • Waveform Memory
  • Eye/Mask Memory
 1 1 None This is the default window for most waveforms.

Y-Axis: Volts or Watts (linear scale)
X-Axis: seconds
Freq-Mag ♦ ♦ ♦
  • Output of FFT math function
 1 4 :FUNCtion<N>:CWINdow MAGNitude<N> Y-Axis: dBV or dBm (logarithmic scale).
X-Axis: seconds or Hertz.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
  • TDR/TDT S-Parameters
 4 4 :TRACe<N>:CWINdow MAGNitude<N>
GrpDelay ♦ ♦ ♦
  • Output of FFT math function
 1 4 :FUNCtion<N>:CWINdow GDELay<N> Y-Axis: seconds
X-Axis: Hertz.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
  • TDR/TDT S-Parameters
 4 4 :TRACe<N>:CWINdow GDELay<N>
Phase ♦ ♦ ♦
  • Output of FFT math function
 1 4 :FUNCtion<N>:CWINdow PHASe<N> Y-Axis: phase (°)
X-Axis: Hertz.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
  • TDR/TDT S-Parameters
 4 4 :TRACe<N>:CWINdow PHASe<N>
Time-Ohms ♦
  • TDR/TDT T-Parameter Responses
 4 4 :TRACe<N>:CWINdow TOHMs<N> Y-Axis: Ohms
X-Axis: Time.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms and to specify the x-axis in time or distance (meters).
Time-Volts ♦
  • TDR/TDT T-Parameter Responses
 4 4 :TRACe<N>:CWINdow TVOLts<N> Y-Axis: Volts
X-Axis: Time.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms and to specify the x-axis in time or distance (meters).
Time-% ♦
  • TDR/TDT T-Parameter Responses
 4 4 :TRACe<N>:CWINdow TPERcent<N> Y-Axis: %
X-Axis: Time.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms and to specify the x-axis in time or distance (meters).
Graphs ♦ Channel and Jitter Data Memory — — None Used for display of all Jitter Mode graphs.


Display Setup (Appearance)

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Graticule
  • Appearance

Appearance

Use the Appearance tab of the Display Setup dialog box to apply themes and animations as well as other settings.

Click Setup > Display Setup to open this dialog box. You can also right-click the menu bar to view this panel as a shortcut menu.

UI Color Themes

You can select from among several UI Themes that affect the look of FlexDCA's window and dialog boxes. Two of the available themes are shown in the following pictures. The default theme is Midnight.

Midnight Theme

Classic Silver Theme

Invert Signal Display Windows

Normally, the background on all windows that display signals is black. When Invert Signal Display Windows is selected, the black background is changed to white. In addition, the background on saved screen images is inverted even if the Invert Graticule Area Background Color setting in the Save Screen Image dialog box is clear. The Invert Signal Display Windows selection affects the following items:

  • Waveform graticules
  • Charts
  • JSA plots
  • Jitter graphs
  • Screen captures

Invert Signal Display Off

Invert Signal Display On

Spectrum Colors

Spectrum Colors for Color Grade Persistence

Use the Color Grade field to change the colors used to present Color Grade persistence waveforms. Click the Graticule tab in this dialog box to select the persistence mode. The following pictures show the available color schemes that you can select. The default color scheme is Classic (High Color).

Classic (High Color)

Classic (Low Color)

Standard

Thermal

Spectrum Color for Gray Scale Persistence

Use the Gray Scale field to change the colors used to present Gray Scale persistence waveforms. Click the Graticule tab in this dialog box to select the persistence mode. The following pictures show the available color schemes that you can select.

Standard

Monochrome

Dialog Box Opacity, Transparency, and Zoom (Windows Vista or Windows 7 Only)

If you are running FlexDCA on a Windows 7 PC, you can select the Transparent checkbox which displays dialog box backgrounds that allow you to view any underlying waveforms. Use the Dialog Opacity setting to control the amount of transparency that is applied to dialog boxes.

Use the scaling button, located at the bottom of the dialog box, to set the FlexDCA's window size. The buttons toggles between Full-Screen Zoomed Mode and Normal (non-zoomed) Mode, which is the default setting.

Dialog Box Size

You can select small, normal, or large dialog boxes using the Dialog Size drop-down list. The default size is normal.

Mode Switch Animation

Select Show Animations to enable the type of Mode Switch Animation selected in this dialog box. This animation is visible whenever you switch FlexDCA's operating modes. For example, when you switch from Eye/Mask mode to Jitter/Noise mode. Mode switching animation affects the transition of user interface elements, but does not affect measurement capability or features.

Note

To apply animation when using FlexDCA on a PC, the PC's graphics performance level must be HIGH as shown in the About N1010A dialog box.

The following animations are available:

  • Rotate Toolbar
  • Fade Toolbar
  • Slide Toolbar
  • Rotate UI
  • Fade UI
  • Slide UI Down
  • Slide UI Right
  • Scale UI
  • Scale and Rotate UI

Overlay Display Tabs

Select Overlay Display Tabs to specify that the results panels, shown on the display's bottom edge, overlap the main window that is normally used to display the waveforms.

Use On-Screen Keyboard

Select Use On-Screen Keyboard to display the pop-up keyboard and keypad whenever alpha or numeric data entry is required in a dialog box field. Use this feature when using FlexDCA on the 86100D without a keyboard connected.

Dock Message Area

Select Dock Message Area to ensure that the message area remain visible on the display.

Note

When you save an instrument setup, the appearance settings are also saved.

Show Timebase Status Button

When the Show Timebase Status Button is selected the large Timebase button is located next to the channel bar as shown in the following picture. This is the default setting.

Clearing this selection removes the Timebase button to allow more room for the channel bar. A smaller Timebase button is placed between the channel bar and the graticule as shown in the following picture.

Click the expander button to expand or reduce this area.

Full Zoomed Mode

Full-zoomed mode formats the display for improved viewing when making presentations on a large screen. On the 86100D, you can connect a second, large display to the rear-panel connection.


Display Setup (Graticule)

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Graticule
  • Appearance

Graticule

Use the Display dialog box to configure how waveforms, graticule, and dialog boxes appear.

Click Setup > Display Setup to open this dialog box. You can also right-click the display graticule to view this panel as a shortcut menu.

Waveform Persistence

Persistence determines how long a data point is kept on the display before being erased from the display graticule. Persistence is a display memory function, therefore acquired waveforms are written only to display memory. Acquisition memory is where the current waveform data is stored. Therefore, only the last acquired waveform is held in acquisition memory. Display memory is what is seen on the display graticule. The persistence control allows you to view the extremes of a waveform's variation, such as the occurrence of jitter. Setting the persistence to the minimum amount of time allows for easiest viewing of variations in the acquired waveforms. Setting the persistence to the maximum amount of time (infinite) allows for a complete view of everything measured in the waveform. Depending on instrument mode, you can select the type of persistence.

Available Persistence versus Instrument Mode
Persistence | Oscilloscope | Eye/Mask | Jitter
Infinite | ♦ |  |
Color Grade (Infinite) | ♦ | ♦ | ♦
Gray Scale (Infinite) | ♦ | ♦ | ♦
Minimum | ♦ |  | ♦
Variable | ♦ |  |

Infinite

Infinite displays the sampled data points for an endless period of time. As sample points are acquired, the luminosity of the sample points changes in intensity. Newly acquired sample points are shown at full intensity while previously acquired points are displayed at half intensity. You can use this mode to measure the worst-case characterization of signal noise, jitter, signal drift, timing, and find infrequent events. In infinite persistence mode, all sampled data points are left on the display until one of the following is adjusted or executed: Clear Display, Auto Scale, Default Setup, operating mode changed, mask testing, vertical or horizontal settings, trigger settings, display source state (on or off), or acquisition settings.

Gray Scale (Infinite) and Color Grade (Infinite)

Gray Scale (Infinite) and Color Grade (Infinite) modes use a measurement database to display waveforms. The database contains all data samples displayed on the screen and provides the data for the construction of measurement histograms and performing mask tests.

Each time a specific display sample point is acquired (time and amplitude coordinate), a counter for that coordinate is incremented. The maximum count for each counter is 232. To display the data, coordinate counts are divided into desity ranges. In Gray Scale (Infinite) mode, desity ranges are represented by shades of the same color (one hue with variations in saturation and luminosity). In Color Grade (Infinite) mode, desity ranges are represented by separate colors. Both modes display sampled data points for an endless period of time. The peak density of data counts is represented by the brightest regions of the waveform. If these persistence modes are left on for a long time, the waveform becomes saturated with the color of highest hits.

To change the colors used to present Color Grade or Gray Scale persistence waveforms, click the Appearance tab in this dialog box.

Minimum

Minimum sets the display time of each waveform data point to the minimum of 40 ms or one trigger cycle. You can use the minimum persistence mode to view the fastest display update rate. When the waveform acquisition is stopped, the last acquired data points are left on the display.

Variable

Variable allows you to define the Persistence Time of the input waveform. Newly acquired sample points are displayed at full intensity (brightest) while the intensity of previously acquired sample points fade to black during the defined persistence time. You can use this mode to view infrequent events and rapidly changing waveforms. You can set the time a waveform sample point is displayed from 100 ms to 40s, with one digit resolution. The default setting is 300 ms. If one of the following is changed, the displayed waveform is redrawn and any accumulated waveforms are cleared: the vertical or horizontal scaling, the vertical or horizontal position, the offset, the trigger source or level, a clear display is executed, or an Auto Scale is executed.

Persistence versus Resolution
Persistence Time in Seconds | Resolution (Step Size)
0.1 - 0.9 | 0.1s steps
1 - 10 | 1s steps
10 - 40 | 10s steps

Note

Waveform persistence applies only in the display graticule area.

Note

The Eye/Mask mode measurement algorithms are based on the statistical accumulation of the data that the Color Grade and Gray Scale mode use internally.

Note

If you are adjusting the amplitude or frequency of a signal source, you may find that more persistence (variable, infinite, color grade or gray scale) is useful for observing long-term changes in a signal or observing signals with low repetition rates. If you are adjusting signal parameters, such as scale or delay, you will find that minimum persistence is useful due to the fast update rate.

Grid

You can change the appearance of the grid lines on the display graticule. Click On to turn the grid on and off. The outer edges of the display graticule will remain visible. The default condition is on. If the grid is turned on, the brightness can be adjusted. You can adjust the intensity between the values of 0 (no brightness) to 100 (full brightness). The default value is 100.

Eye Tuning

In Eye/Mask mode, the Eye Tuning fields are displayed and are used to obtain a variable persistence display. It is especially valuable when you are tuning a device while simultaneously watching changes to the eye diagram and eye diagram measurements. For example, you can tune a laser's bias point while monitoring an Extinction Ratio measurement. It is important to note that eye tuning may decrease the accuracy of the measurement results. When your adjustments are completed, clear the eye tuning selection to ensure the measurement results return to their highest accuracy.

Eye tuning works by weighting recent waveforms more heavily than older waveforms in the eye diagram database. Enter a Maximum Samples value to specify exactly how many samples you want to keep in the eye diagram. For example, if you specify 50,000 samples and once there are 50,000 samples in the eye, then one sample will drop out of the eye for every new sample placed in the eye.

Note

To view the eye tuning selections, you must first select Color Grade or Gray Scale persistence. Eye tuning requires Color Grade or Gray Scale persistence.

Connect Waveform Points

In Oscilloscope mode, the Connect Waveform Points fields are available with Persistence set to Minimum, Infinite, or Variable. When Connect Waveform Points is enabled, lines are displayed to connect the consecutive data points on the display. This allows you to view what the waveform actually looks like. Auto is selected by default to automatically configure the setting for the type of displayed waveform. You can always clear this setting to manually turn this feature on or off. Connect Waveform Points mode is not available in Eye/Mask mode.

The following figures show an example of when Connect Waveform Points should be turned off (Auto mode). Oscilloscope mode is designed for single-valued waveforms and not eye diagrams. Repetitive, random signals, such as the PRBS signal shown here, result in a displayed eye-diagram. But, as the waveform lacks relative timing information between the displayed points, setting Connect Waveform Points to On results in line that are drawn between unrelated waveform points.

Connect Waveform Points Turned Off

Connect Waveform Points Turned On

Waveform Pixel Intensity

Sometimes, waveforms may be difficult to see in screen captures or when the display is viewed at a distance, such as during a presentation. This can be the result of FlexDCA's high screen resolution or the fact that some waveforms have a relatively small number of measurement points. With waveform pixel intensity, the number of display pixels used to represent a data point or line is expanded for easier viewing. Although thin traces and clusters of data points appear thicker and brighter on the display, the acquired data is not changed and all measurements, markers, histograms, saved waveforms, and other items are not affected.

The following table shows display example for the four available pixel intensity selections. By default, pixel intensity is not applied. Depending on the type of waveform displayed, one of these selections may make the waveform easier to see.

Examples of Pixel Emphasis
Emphasis | Displayed Waveform | Closeup of Waveform | Closeup of Three Data Points
None |  |  |
Low |  |  |
Medium |  |  |
High |  |  |

Enable Multi-Touch

The Enable Multi-Touch setting is displayed in the dialog box whenever FlexDCA is installed on a PC or 86100D in which a capacitive touch-screen display is used. Select this setting to enable the mouse control mode buttons (waveform pan and zoom) to respond to touch gestures on the display rather than the dragging of the mouse pointer.

The following picture shows the mouse control mode buttons which are located on the right side of the content window toolbar.

Drop Down Buttons | Button | Description
 |  | Drag the mouse or use touch gestures over a waveform to zoom in on a selected area.
 |  | Reverses a previous waveform zoom. Multiple clicks undos a series of previous zoom actions.
 |  | Use the mouse or touch gestures to move the waveform in both the vertical and horizontal directions.
 |  | Use the mouse or touch gestures to move the waveform in only the horizontal directions.


Shortcut and Flyout Menus and Keyboard Shortcuts

This topic describes the available shortcut menus.

Right Click on Graticule Area

Use this shortcut menu to perform actions that are normally found on the Graticule tab of the Display Setup dialog box.

Click the Copy to Clipboard icon to move a waveform image to the Clipboard. You can then paste (Ctrl-V) the image into an external application such as a document file.

Right Click on Measurement Results Panel

Use this shortcut menu to change table formats or open the Configure Measurements dialog box.

Click the Copy to Clipboard icon to move tabular measurement results to the Clipboard. You can then paste (Ctrl-V) the data into an external application such as a spreadsheet.

Click on Waveform Window's Flyout Arrow

Use this shortcut menu to float or dock the main waveform window or to move an image of the waveform to the clipboard.

Click on a Panel's Flyout Arrow

Use this shortcut menu to position, remove, expand, float, or swap the panel with the display's waveform window. You can also move measurement data to the clipboard.

Right Click on Menu Bar

Use this shortcut menu to quickly change the settings that are normally accessed on the Appearance tab of the Display Setup dialog box.

Keyboard Shortcuts

Keyboard Shortcuts
Command | Shortcut
Oscilloscope Mode | Ctrl + Alt + O
Eye/Mask Mode | Ctrl + Alt + E
Jitter/Noise Mode | Ctrl + Alt + J
Auto Scale | Ctrl + Alt + A
Acquisition |
Run | F5
Stop/Single | F6
Clear Display | F7
Find Bit Sequence | Ctrl + F
Undo | Ctrl + Z
Redo | Ctrl + Y
Exit | Ctrl + Shift + X


Default Setup

On FlexDCA, click Setup > Default Setup to return the FlexDCA to a known start-up state. To set FlexDCA to its factory preset condition, click Setup > Factory Preset. You may find it helpful to use the default settings when initially setting up FlexDCA to view signals or to troubleshoot unexpected instrument behavior. The default settings are listed in the following table.

On the 86100D, press Default Setup to return the instrument to its factory default conditions. The instrument saves all customized settings in a file, which you can reload.

When the instrument is controlled remotely (refer to the 86100D programmer's guide), the Local button and ON/Standby switch are the only active front-panel controls. Press Local to return control of the instrument to the front panel. On FlexDCA, click Tools > Virtual Front Panel and click Local.

Default Settings
Feature | Setting
86100D Configuration | Standard
Mode of Operation | Oscilloscope Mode
Multi-Purpose button | not changed
Horizontal (Time Base)
Scale | 20 ps/div 1 ns/div (86100C)
Delay from Trigger | 24 ns
Reference | Left
Units | Time
Trigger
Source | Front Panel
Hysteresis | Normal
Slope | Rising Edge
Bandwidth | Divided (3 GHz - 13 GHz) (86100D-ETR) Filtered (DC - 100 MHz) (86100D-STR) Standard (DC - 3.2 GHz) (86100C)
Acquisition
Run/Stop | Run
Points/Waveform | Automatic 2048 (16 to 16,384) (86100D) 1350 (Range: 16 to 16,200 points) (86100C)
Smoothing | None
Number of Averages | 16 Range: 2 to 32,768
Display
Persistence | Variable (Oscilloscope mode) Gray Scale (Eye/Mask mode)
Persistence Time | 300 ms, variable persistence (Range: 100 ms to 40s)
Grid | On
Grid Intensity | 100% (Range: 0 to 100)
Colors | Default color legend
UI Color Theme | not changed
Dialog Size | not changed
Dialog Opacity | not changed
Dialog Transparent Background | off
Mode Switch Animation | not changed
Connect Waveform Dots | Off
Markers | Off
Limit test | Off
Mask test | Off
Base Measurement Configuration
Top-base Definition | Auto
Thresholds | 10%, 50%, 90%
Eye Boundary 1 | 40% for NRZ eyes (Range: 0—100%)
Eye Boundary 2 | 60% for NRZ eyes (Range: 0—100%)
Mask Test Measurement Configuration
Alignment Method | NRZ Eye
Alignment Timing | Once
Mask Scale Mode | X and Y
Y-Axis Mask Align Measurement Area | Eye Boundaries (Align to One, Zero Levels)
Jitter Mode Measurement Configuration
Jitter Mode Graph | Histogram: Y Axis Linear Bathtub Scale: BER Layout: Quad
Jitter Mode Measurements | Units: Seconds Signal type: Auto Detect Results based on: Both Edges Sampling Level: 50% TJ Measurement BER: 1.0E-12 RJ Stabilization: off RJ Compensation: off
Jitter Mode Amplitude Measurements | Measurement Location: 50% Graphs based on: Both Edges One/Zero Level Definition: Average Units: Volts or Watts RIN Relative to: One Level RIN Normatilization: Decibel TI Measurement BER: 1.0E-12 RN Stabilization: off RN Compensation: off
Waveform Memory
Memory Display | All Off
Waveform Source | First available channel or Memory 1
Waveform Signal Processing | Current function deleted
Channels
Display | Displays Channel A on the lowest numbered occupied slot for display. All other channel inputs turned off.
Bandwidth | Dependent on type of installed module
Scale | Dependent on type of installed module
Offset | 0V or 0W (Dependent on type of installed module)
Units | Volts (or Watts) (Dependent on type of installed module)
Histograms
Mode | Off
Placement | Left
Window source | First available channel
Scale | Linear
Calibration
Front-Panel Cal Output level | not changed
TDR Mode
DUT setups | All deleted
Fixture de-embedding components | All deleted
Fixture de-embedding setups | All deleted
FlexEye Parallel Eye Analysis
Session settings | If a module is installed, all channel selections for sessions cleared and all Session IDs set to 1.


Factory Preset

Click Setup > Factory Preset to restore FlexDCA to its factory preset settings. Factory preset is the combination of the default settings and the settings listed in the following tables.

Miscellaneous Settings
Feature | Setting
Use Compact Signals Palette | Off
Show Marker Tools on Screen | On
Multi-Purpose button | Removes any configuration settings
Display Setup Dialog Box Settings (Appearance Tab)
Feature | Setting
UI Theme | Midnight
Show Animations | off
Dialog Size | Normal
Mode Switch Animation | No Animation
Overlap Display Tabs | off
Use On-Screen Keyboard | off
Show Run/Stop Controls in Title Bar | on
Display Zoomed Mode | Normal
FlexDCA Connection Setup Dialog Box Settings
Feature | Setting
On Connect Setting | Restore
Connection Type to 86100D | LAN
SICL Interface | gpib0
GPIB Address | 7


Virtual Front Panel

FlexDCA Keyboard Shortcuts

  • Press F5 to select Run
  • Press F6 to select Stop
  • Press F7 to select Clear.

The Virtual Front Panel provides equivalent buttons for some of the 86100D front-panel keys. (The Run, Stop, and Clear buttons can also be found on FlexDCA's menu bar.) This panel is undocked and can be moved to any location on the screen. Select Acquisition and Scale Only to reduce the panel to only show the Auto Scale, Run, Stop Single, Clear Display, Local, and Default Setup buttons. With the exception of the Multi-Purpose, Local, and Marker RPG buttons, all of these functions can be accessed using commands on the FlexDCA's menu bar. When remotely controlling an 86100D, use the Local button to disconnect from the instrument.

Click Tools > Virtual Front Panel to hide or display the virtual front panel.

If you click the Apps button on the Virtual Front Panel, the Applications panel appears. Use this panel to start applications and open files. This panel contains the same items that are available on the Apps menu.


Measurement Regions (Oscilloscope and TDR/TDT Modes)

In Oscilloscope and TDR/TDT Modes, use the Measurement Region Setup dialog box to define up to eight measurement regions. Use these regions to restrict the data that is used for a measurement to a specific area of the source waveform.

Click Measure > Measurement Regions to open this dialog box.

For example, in the following picture two measurement regions are defined and positioned on the waveform. Over each region, a rise time measurements has been performed with the results shown in the Results panel. A region annotation ( [image]) is placed on the panel to identify the region assigned to a measurement.

In the Measurement Region Setup dialog box's Number of Regions field, you can specify up to eight regions. The default number is two. For each region, there is a tab that allows to you precisely enter X-axis boundaries. Before you can use your regions, select Enable Measurement Regions which, in addition to turning on regions, displays the Region Adjust field and the Auto Place Regions button.

Once your regions are enabled and displayed, click the dialog box's Region Adjust button. This allows you to quickly move and re-size your boundaries using your pointing device. Drag the center of a region to change its position. Drag a displayed region sizing handle to reduce or enlarge a region. To enable region adjust, you can also click the Region Adjust button that is located on the dynamic Configure Waveform Window, as shown in the following picture. This button only appears on the toolbar when measurement regions are enabled.

Note

If Region Adjust is not enabled, attempting to drag a region will instead move the displayed waveform.

Click Auto Place Regions to automatically distribute the regions evenly across the entire display.

If you want to manually configure a region's size and position, expand the dialog box, click on a tab that represents the region that you want to adjust, and enter the X1 and X2 region boundaries.

After the measurement regions are enabled and defined in the dialog box, you can assign them to a measurement. Simply click on a measurement in the Measurement toolbar. In the Select Signal for Measurement dialog box, select the desired region.

Note

The Jitterp-p and Jitterrms measurements can not be made on a measurement region.


Window Controls

Click these buttons to control the FlexDCA window.

Window Control Buttons
Button | Description
 | Click to minimize the window to the taskbar.
 | Click to restore the window so that it can be viewed and its size and position adjusted.
 | Click to exit the FlexDCA application. You can also click File > Exit.


Screen/Pen/Touch Calibration

Screen/Pen/Touch calibration aligns the XY positions on touchscreen or mouse with the 86100D display. The 86100D does not provide its own calibration application. Instead, exit the FlexDCA graphic interface and use the Windows start menu to search on "screen calibrate" or "touch" to locate the calibration application. If you have installed a custom mouse or pen pad, the manufacturer of the device may provide its own calibration application.


Number Pad and Keyboard

Use the pop-up number pad and keyboard when using FlexDCA on the 86100D without a keyboard connected. When activated, the number pad and keyboard appear whenever you click an input fields that accepts alpha or numeric data. For example, the Scale field in the Timebase dialog box.

To activate or disable these tools, click Use On-Screen Keyboard in the Display Setup dialog box's Appearance tab.


Table of Measurement Annotations

Table of Measurement Annotations
Annotation | Description
* | An asterisk (*) before an measurement result indicates that correction factor value has been applied.The is usually the result of a setting in the Configure Measurements dialog box or the Configure Jitter Mode Measurements dialog box.
*RJ (rms) | JSA's RJ optimization has been applied to Jitter mode's the RJ measurement.
*CRE Jitter Optimization | JSA's RJ optimization has been applied to Jitter mode's the RJ measurement.
*RJ Correction Factor: | RJ correction has been applied to the RJ measurement.
*RJ Fixed at: | RJ stabilization has been applied to the RJ measurement.
*RN Correction Factor (1/0): | RN correction has been applied to the RN measurement.
*RN Fixed (1/0): | RN stabilization has been applied to the RN measurement.
? | The measurement result is questionable. For example, the measurement may still be in progress or the algorithm cannot find a distinct peak in the histogram.
≥ | The measurement result is greater than or equal to the measurement algorithm of the waveform. The instrument uses this algorithm to calculate the result.
≤ | The measurement result is less than or equal to the resolution of the sampled points on the display graticule.
Base? | The measurement algorithm cannot find a distinct low (base) level in the signal.
Clipped | (Clipped high/low) The measurement algorithm cannot perform the measurement because the waveform extends past both the top and bottom edges of the display graticule.
Clipped hi | (Clipped high) The measurement algorithm cannot perform the measurement because the waveform extends past the top edge of the display graticule.
Clipped low | (Clipped low) The measurement algorithm cannot perform the measurement because the waveform extends past the bottom edge of the display graticule.
CorrFactor? | If an extinction ratio measurement has a correction factor value applied that results in an invalid measurement (negative value), the term "CorrFactor?" is shown on the Results tab instead of the measurement result.
Current | In Oscilloscope mode, the current measured value for the corresponding measurement. The value is based upon the distribution of data points used for the measurement. In Eye/Mask mode, the current value measured in the measurement database.
Dark level? | The dark level is invalid. The dark level is greater than the zero level of the eye diagram.
Edge? | The measurement algorithm cannot find the edge of the waveform needed to calculate measurement results.
Eye? | The measurement algorithm cannot perform the measurement because it cannot detect parameters typical of an eye diagram.
Incomplete | There has not been a sufficient number of data samples collected yet. This message can occur when performing measurements that require full use of all accumulated waveform data (for example, eye diagram measurements).
LJM | In Jitter Mode, indicates combined Random Jitter (RJ) and Periodic Jitter (PJδ-δ) on a signal exceeds the signal's rise time or fall time.
Maxima? | The measurement algorithm cannot find the maximum voltage (or power) of the waveform needed to calculate the measurement results.
Maximum | In Oscilloscope mode, the value measured on the right side (largest numbered value) of the distribution used for the measurement. In Eye/Mask mode, the maximum current value measured in the measurement database.
Mean | The average of the value reported in the Current column for the measurement.
Meas cancel | The measurement was cancelled through a remote command.
Minima? | The measurement algorithm cannot find the minimum voltage (or power) of the waveform needed to calculate the measurement results.
Minimum | In Oscilloscope mode, the value measured on the left side (lowest numbered value) of the distribution used for the measurement. In Eye/Mask mode, the minimum current value measured in the measurement database.
No Data | The measurement algorithm is unable to collect data.
Off screen | The measurement algorithm cannot perform the measurement because the waveform is not in the display graticule.
Pat. Length | The automatically detected pattern length of the data. This value can be manually entered.
Rate | The automatically estimated bit rate of the data. This value can be manually entered.
Source off | The source (input channel, waveform memory, or waveform function) is turned off during the measurement.
Source? | The measurement is performed on an invalid source. For example, a recalled color grade gray scale memory may no longer be valid.
Sources > 1 | The measurement algorithm cannot perform a measurement in color grade or grayscale display persistence mode when more than one source is turned on.
SP | In Jitter Mode, SP indicates that jitter is being measured on a signal to which signal proccessing has been applied.
Src | Lists the source for the jitter measurements. The source can be a channel (for example, f1) or Jitter Data Memory, indicated by JDM.
Standard Deviation | The measure of the distribution of the statistical average of the value reported in the Current column.
Timeout | The selected measurement takes longer than the time allotted for the measurement algorithm.
Top = Base | The signal has a too small amplitude and the measurement algorithm cannot detect the delta (D) between the top and base levels of the waveform. Therefore, the measurement results cannot be calculated.
Top? | The measurement algorithm cannot find a distinct high (top) level in the signal.
Total Meas | In Eye/Mask mode, the total number of acquired waveforms.


Table of Measurement Messages

Oscilloscope and Eye Mode Measurement Messages
In Measurement Details | In Results Table and returned by :STATus:REASon? Query
The required edge was not found. | Edge?
The requested amplitude was not found. | Voltage?
The waveform top and base are equal. | Top = Base
The completion criteria has not been met. | Incomplete
The waveform is clipped at the top of the display. | Clipped Hi
The waveform is clipped at the bottom of the display. | Clipped Low
The input signal is too small. | Too Small
The lower threshold is not on the waveform. | Lower?
The upper threshold is not on the waveform. | Upper?
The upper and lower thresholds are too close. | Thresholds?
The requested time is not on the waveform. | Time?
The requested time was not found. | Time?
The left bounding data point was not found. | Left?
The right bounding data point was not found. | Right?
The specified eye top is not on the waveform. | Top?
The specified eye base is not on the waveform. | Base?
Unable to identify the eye. | Eye?
Not enough crossings were found. | Crossings?
Not enough samples have been acquired. | No data
The source is turned off. | Source off
The source waveform is not in the correct format. | Source?
The jitter is too large. | Jitter?
The measurement period is too small. | Period?
The measurement transition is too small. | Transition?
The measurement pulse width is too small. | Width?
The crossing is too thin. | Cross?
The dark level is invalid. | Dark Level?
The Correction Factor is larger than the measured ER. | Corr Factor?
Not all waveforms were acquired simultaneously. | Mismatch
{0} requires calibration. | Cal Req'd
The measurement is not defined for the output of a DFE. | DFE?
Jitter Mode Measurement Messages
In Measurement Details | In Results Table and returned by :STATus:REASon? Query
Sample level is out of valid range. | Level?
Excessive Jitter. | Jitter
Incorrect pattern parameters. | Pattern
Eye is closed. | Eye?
Too many points outside range of the edge model. | Edge?
Histogram is clipped. | Clipped
Unable to create monotonic edge model. | Edge?
No suitable edges for measurement. | Edges?
One/Zero level measurements may be corrupted by excessive jitter. | Jitter
The RJ Compensation Factor is too large. | RJ Comp?
The RN Compensation Factor is too large. | RN Comp?
Jitter Spectrum Analysis is reporting an RJ value that is too large. | JSA-RJ?
Unable to apply RN Compensation/Stabilization using current Jitter Data. | RN Comp?


Documentation Wizard

Multi-Purpose Button

You can configure the 86100D's front-panel Multi-Purpose button to run save a documentation wizard file.

The Documentation Wizard saves a zip file that includes all the information needed to archive a particular instrument configuration including setup file, screen captures, waveforms, and measurement results. Because you can select the information that you want to save in the file, you can configure the zip file for your specific needs. For example, you can quickly save multiple waveforms files, copy these files to an 86100D or N1010A FlexDCA at another location, and load the files into waveform, Color Grade-Gray Scale, or Jitter memory.

Click File > Documentation Wizard to open this dialog box.

The Document Wizard dialog box pictured here has been edited to show all possible Save options for your zip file. In practice, the dialog box can never include all the Save options, as most options are only available under specific instrument settings or modes. For example, in TDR/TDR mode the Documentation Wizard never shows the option of saving Jitter mode's Jitter Window Data.

When you click the Select All and Clear All buttons, only the currently displayed Save options are affected. Options not shown remain in there current selected or cleared state. To view an explanation of a Save option, click the chevron icon to expand the option.

The following table lists all of the possible Save options with their descriptions.

All Possible Options for Saved Data
Option | Instrument Mode | Saved in Zip File
Scope | Eye | TDR | Jitter
Screen Capture ♦ ♦ ♦ ♦ Screen capture of entire display (Entire UI Screen Capture.png)
Instrument Setup ♦ ♦ ♦ ♦ Instrument state file (InstrumentSetup.setx)
System Information ♦ ♦ ♦ ♦ System information shown in the Help > About dialog box (SystemInfo.txt)
Waveform Content Windows
Waveform Window Data ♦ ♦ ♦ ♦
  • Scope Mode: ASCII XY-value waveform files (example, Channel 1A (1A).txt)
  • Eye Mode: color-grade gray-scale database waveform files (example, Channel 1A (1A).cgsx)
  • Jitter Mode: color-grade gray-scale database waveform files (example, Channel 1A (1A).cgsx)
  • TDR Mode: ASCII XY-value waveform files for Ports (example, Port 1 (1A).txt)
  • All modes: screen capture of waveform content window (Waveform Window Screen Capture.png)
Time-Ohms N Window Data ♦
  • T-parameter ASCII XY-value waveform files (example, T11 Ohms.txt)
  • Screen capture of waveform content window (Time-Ohms N Window Screen Capture.png)
Time-Volts N Window Data ♦
  • T-parameter ASCII XY-value waveform files (example, T13 Volts.txt)
  • Screen capture of waveform content window (Time-Volts N Window Screen Capture.png)
Time-% N Window Data ♦
  • T-parameter ASCII XY-value waveform files (example, T21 Percent.txt)
  • Screen capture of waveform content window (Time-% N Window Screen Capture.png)
Freq-Mag N Window Data ♦ ♦
  • FFT function output ASCII XY-value waveform files (example, FFT[1A] (F1).txt)
  • Screen capture of waveform content window (Freq-Mag N Window Screen Capture.png)
♦
  • S-parameter ASCII XY-value waveform files (example, S21 Magnitude.txt)
  • Screen capture of waveform content window (Freq-Mag N Window Screen Capture.png)
Phase N Window Data ♦ ♦
  • FFT function output ASCII XY-value waveform files (example, FFT[1A] (F1).txt)
  • Screen capture of waveform content window (Phase N Window Screen Capture.png)
♦
  • S-parameter ASCII XY-value waveform files (example, S11 Phase.txt)
  • Screen capture of waveform content window (Phase N Window Screen Capture.png)
GrpDelay N Window Data ♦ ♦
  • FFT function output ASCII XY-value waveform files (example, FFT[1A] (F1).txt)
  • Screen capture of waveform content window (GrpDelay N Window Screen Capture.png)
♦
  • S-parameter ASCII XY-value waveform files (example, S11 Delay.txt)
  • Screen capture of waveform content window (GrpDelay N Window Screen Capture.png)
S-Parameters ♦ Touchstone S-parameter file for a DUT setup (example, DUT N S-Parameters.s2p)
Jitter Mode
Graphs Window Data ♦
  • Jitter database file (JitterDatabase.jdx). Can be loaded into jitter memory.
  • Screen capture of jitter graphs (Graphs Window Screen Capture.png)
Jitter Window Data ♦
  • Jitter results table in a comma-delimited ASCII file (Jitter Window Results.csv)
  • Screen capture of Jitter results table (Jitter Window Screen Capture.png)
Amplitude Window Data ♦
  • Amplitude results table in a comma-delimited ASCII file (Amplitude Window Results.csv)
  • Screen capture of Amplitude results table (Amplitude Window Screen Capture.png)
Option JSA
JSA Spectrum Window Data ♦ ♦ ♦
  • JSA memory database (JSA Memory.jsax)
  • Screen capture of jitter spectrum window (JSA Spectrum Window Screen Capture.png)
JSA Results Window Data ♦ ♦ ♦
  • JSA results table in a comma delimited ASCII file (JSA Results Window Results.csv)
  • Screen capture of JSA results table (JSA Results Window Screen Capture.png)
General Purpose
Markers Window Data ♦ ♦ ♦
  • Marker results table as comma-delimited ASCII file (Markers Window Results.csv)
  • Screen capture of waveform with markers (Markers Window Screen Capture.png).
Mask Test Window Data ♦
  • Mask test results table in comma-delimited ASCII file (Mask Test Window Results.csv)
  • Screen capture of waveform with mask shown (Mask Test Screen Capture.png).
Histogram Window Data ♦ ♦ ♦
  • Histogram results table in comma-delimited ASCII file (Histograms Window Results.csv)
  • Screen capture of the waveform with histogram (Histograms Window Screen Capture.png)
Limit Line Window Data ♦ ♦
  • Limit Line results table in comma-delimited ASCII file (Limit Lines Window Results.csv)
  • Screen capture of waveform with limit lines shown (Limit Lines Screen Capture.png)
Results Window Data ♦ ♦
  • Measurement results table in comma-delimited ASCII file (Results Window Results.csv)
  • Screen capture of Results table (Results Window Screen Capture.png)

At the bottom of the dialog box, click Browse to select the folder and name for saving your file. Click Save to actually save the file. The default filename is DocumentationResults with the current date and an incremented index number appended:

DocumentationResults_<year>-<month>-<day>_<index>.zip

The default folder for saving images is the \Documentation Results user folder.


Electrostatic Discharge Information

Safety

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Safety
  • Work In Comfort
  • ESD
  • Connector Care

ESD

Work at a Static-Safe Workstation

Electrostatic discharge (ESD) can damage or destroy electronic components. The following suggestions may help reduce ESD (electrostatic discharge) damage that occurs during testing and servicing operations.

  • Personnel should be grounded with a resistor-isolated wrist strap before removing any assembly from the unit.
  • Be sure all instruments are properly earth-grounded to prevent a buildup of static charge.
  • All work on electronic assemblies should be performed at a static-safe workstation. The following graphic shows an example of a static-safe workstation using two types of ESD protection:

Figure. Example of Static-Safe Workstation

Both types, when used together, provide a significant level of ESD protection. Of the two, only the table-mat and wrist-strap combination provides adequate ESD protection when used alone. To ensure your safety, the static-safe accessories must provide at least 1 MΩ of isolation from ground. Purchase acceptable ESD accessories from your local supplier.

These techniques for a static-safe workstation should not be used when working on circuitry with a voltage potential greater than 500 volts.

Protecting TDR/TDT Modules

  • Specific ESD Precautions for TDR Modules

Protecting Input Channels that have 3.5 mm Connectors

The Keysight N9355CK01 is a DC coupled limiter (DC to 26.5 GHz) that is used to protect sensitive oscilloscope channels from damage due to electric overload stress (EOS) and electrostatic discharge (ESD). For example, voltages in excess of ±2V can damage high-performance samplers used in oscilloscopes. The limiter dramatically reduces the likelihood that such voltages will reach the sensitive part of the instrument, ensuring that the oscilloscope will perform reliably. Instruments with dual electrical channels, such as the 54754A, will require two N9355CK01 limiters. Step generators within the TDR modules use ≤0.2V, which is less than the diode threshold of the N9355CK01 limiter. The N9355CK01 can also be used to protect the electrical channel of the 86105x and similar modules, as long as the signal does not exceed –0.5V to +0.5V. The N9355CK01's voltage drop is ±0.6V to 0.7V at ±10 mADC.

The N9355CK01 will protect instruments from occasional and short voltage spikes. A major power source, such as a high voltage and current supply can still cause severe damage to the limiter itself, or the instruments. Operators should continue using industry standard EOS and ESD practices to minimize this risk.

Figure. Two N9355CK01s Inserted into Signal Paths


ESD Precautions for TDR Modules

The input circuits of the N1055A, 54754A, and 54753A TDR/TDT plug-in modules can be damaged by ESD. Avoid applying static discharges to the front-panel input connectors. Frequency, a static charge potential will build up between the connecting cable's center conductor and the shield. Observe the following best practices:

  • Avoid touching the front-panel input connectors without first touching the instrument's frame.
  • Before connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together.
  • Be sure the instrument is properly earth-grounded to prevent buildup of static charge.
  • On 54754A modules, use the ESD gate as described in this topic.
  • On 1055A TDR modules, which do not have an ESD gate, discharge the cable to a suitable metal area of the input connector.
  • For additional protection, use an Keysight N9355CK01 DC coupled limiter (DC to 26.5 GHz) as shown in this picture. It is used to protect sensitive oscilloscope channels from damage due to electric overload stress (EOS) and electrostatic discharge (ESD). For example, voltages in excess of ±2V can damage high-performance samplers used in oscilloscopes. The limiter dramatically reduces the likelihood that such voltages will reach the sensitive part of the instrument, ensuring that the oscilloscope will perform reliably. Instruments with dual electrical channels, such as the 54754A, will require two N9355CK01 limiters. Step generators within the TDR modules use ≤0.2V, which is less than the diode threshold of the N9355CK01 limiter. The N9355CK01 can also be used to protect the electrical channel of the 86105x and similar modules, as long as the signal does not exceed –0.5V to +0.5V. The N9355CK01's voltage drop is ±0.6V to 0.7V at ±10 mADC.

The N9355CK01 will protect instruments from occasional and short voltage spikes. A major power source, such as a high voltage and current supply can still cause severe damage to the limiter itself, or the instruments. Operators should continue using industry standard EOS and ESD practices to minimize this risk.

Improper connector care, cleaning, or use of mismatched cable connectors can invalidate the published specifications and damage connectors. Clean all cables before applying to any connector. Repair of damaged connectors due to improper use is not covered under warranty.

The input connectors are very sensitive to electrostatic discharge (ESD). When you connect a device or cable that is not fully discharged to these input connectors, you risk damage to the module and expensive instrument repairs.

Electrostatic discharge (ESD) can damage the input circuits of the N1055A, 54754A, and 54753A TDR/TDT plug-in modules. Avoid applying static discharges to the front-panel input connectors. Before connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure the instrument is properly earth-grounded to prevent buildup of static charge.

Static-Safe Workstation

  • All measurements should be performed at a Static-Safe Workstation.

Using the ESD Gate

  1. Use ESD accessories to make your workstation static-safe. Make sure the ESD gate is installed as shown in the following graphic.

  2. Connect a test cable to the device you are testing.
  3. On the other end of the test cable, short the cable's center conductor and shield to the ground contact on the ESD gate, as shown in the following graphic.

  4. Lift the ESD gate out of the way and connect the test cable, as shown in the following graphic.


External Scaling

External scaling enables you to set the displayed voltage (or power) scale to levels defined by the insertion of an external device between the instrument and a signal source. You can enter the gain or attenuation of an external device or change the measurement units or offset of a transducer to effect changes to scaling.

External scaling can be entered for electrical and optical channels. You make the changes from the External Hardware Setup dialog box, which links to the following dialog boxes:

  • Attenuator Setup
  • Transducer Setup

Examples of Using External Scaling

  • When an attenuator is used to reduce an optical source's power level below a channel's maximum input level. If you add a 10 dB attenuator, the power is reduced by a factor of 10:1. Although the power levels into the channel are within acceptable limits, your source measurements will be 1/10th of the actual source level. External scaling allows you to compensate for the 10 dB attenuation so your measurements reflect the source level prior to attenuation.
  • When compensating a device's gain or loss to a channel input. This occurs for clock recovery plug-in modules, probes, attenuators, or amplifierst. For example, you can connect a probe to a channel and enter the probe attenuation ratio. The channel information is then scaled to the signal levels at the probe tip. You can adjust the externally scaled ranges in the Scale and Offset boxes found in the Channel dialog box.
  • When using a transducer, such as an O/E or E/O device, at a channel input. You can convert the displayed measurement units to indicate the levels at the transducer input. An example of O/E transducer conversion would be a photodiode output connected to an electrical channel. Although the photodiode output is electrical (volts), you can change the scaling to indicate the units applied to the photodiode input (watts).
  • Compensating for clock recovery module's insertion loss. Clock recovery modules are considered to be external devices when referenced to a channel input. Signals are attenuated when they pass through one of these modules.


Eye/Mask Mode

  • <
  • i
  • Quick Start
  • Meas.
  • Masks
  • Adv. Eye
  • FlexEye

In Eye/Mask Mode, you can make eye diagram measurements and eye mask tests on NRZ (Non-Return to Zero) coded signals. Measurements are made using a database to which histograms and statistically-based measurements are applied. To enter Eye/Mask mode, use the mode select button, or click Setup > Mode > Eye/Mask. The following picture also shows FlexDCA using the Classic Silver theme.
  • Measurement Configuration
  • Eye Measurement Toolbar
  • Averaged eyes
  • Eye Contours
  • PAM
  • JSA/CRE
  • Pattern bit trajectories
  • Measurement annotations
  • Time saving features and controls
  • Eye memory
  • User measurements

Eye/Mask Mode Overview

TRIGGER OFF DATA

You can use the incoming data itself to trigger the instrument by splitting the signal and routing half of the data to the trigger input. The results are inferior to triggering on a synchronous clock signal, due to jitter and pattern dependencies. The eye diagram will tend to degrade, and approximately 75% of waveforms are never observed in a PRBS.

Eye/Mask Mode makes eye diagram measurements and eye mask tests on NRZ (Non-Return to Zero) coded signals. Eye diagrams are typically produced by triggering the instrument with a synchronous clock signal. With the exception of average power, all measurements in Eye/Mask Mode are based on statistical data collected from incoming signals. These measurements use all the data of the eye diagram, a multiple-valued waveform , as opposed to the single-valued waveform displayed in Oscilloscope Mode.

Note

Eye/Mask Mode measurements only work when an eye diagram, and not a pulse waveform (single-valued waveform), is present on the screen. Measurements made on a pulse waveform while in Eye/Mask Mode will fail.

The eye measurement (Eye Meas) and mask test (Msk Test) toolbars include typical eye measurements such as rise time, fall time, jitter, and extinction ratio, as well as the mask test start and stop controls.

You'll find a table of Eye measurement and mask test results located below the display graticule. A maximum of 32 eye measurement test results are displayed and include any failures or instrument messages that may occur. Measurement results are not reported until a significant sample size of data is acquired.

Auto Scale

Click Auto Scale on the menu bar to ensure that an optimum eye diagram is displayed on the graticule. An optimum NRZ eye diagram consists of a full display of the eye in addition to portions of the waveform preceding and following the eye.

Note

Perform an Auto Scale before performing eye measurements. This will clear the measurement database and ensures that an optimum eye diagram is displayed on the graticule. An optimum eye diagram consists of two full crossing points and four to six divisions of vertical scale. When in Eye/Mask mode, the Auto Scale algorithm is optimized to display an eye diagram.

The configurations you set for the channel, trigger, or timebase are not modified when you switch between operating modes. Any measurement configuration changes you make to the instrument are recalled after you exit and return to each operating mode.

Measurement Acquisition and Database

Selecting Eye/Mask Mode immediately starts waveform acquisition as FlexDCA begins building the measurement database, which consists of all of the data that is displayed on the screen. The measurement database provides the data for the construction of histograms, generation of mask tests, and a visual representation of the eye via the gray scale (or color grade) persistence display mode. Every time a display sample point is acquired on a display coordinate, the counter for that coordinate is incremented. As the total count increases, the range of hits also increases. The maximum count for each counter is 232.

When Eye/Mask Mode is selected, the gray scale display persistence is automatically turned on. You can change it to color grade display persistence by clicking Setup > Display. When in the gray scale display mode, the highest density of data points are represented by the brightest regions of the waveform. When in color grade display mode, the density of data points is represented by a color spectrum.

Data acquisition from all enabled input channels does not stop until you perform any of the following events:

  • Press the Clear Display button on the front panel,
  • Switch between operating modes,
  • Change the timebase,
  • Change the vertical scale and offset,
  • Change trigger level or source,
  • Remove or insert a plug-in module, or
  • Cycle the power.

As the instrument continues to acquire data, the measurement database continues to build. However, measurement results will not be reported until there is a full histogram to constitute a significant sample size. The measurements continue to update as more data is acquired.

A full histogram is made up of at least 16 sampled points of data for each time acquisition point across the horizontal display. This requires acquisition of a minimum of 16 waveforms. There will be a slight delay as the instrument gathers enough data for the first measurement. Once the minimum amount of data has been acquired, subsequent measurements simply add to the existing database and result values are updated.

Once an eye diagram is displayed on the screen, you can perform amplitude and timing measurements. The instrument builds the appropriate histograms for the measurements selected.

  • Vertical axis histograms are used for amplitude measurements to determine the mean logic one and zero levels
  • Horizontal axis histograms are used for timing measurements to determine mean time location when waveform transitions intersect and pass through defined threshold levels

For amplitude measurements, the histogram relies on the data sampled within the eye-window boundaries. The instrument default for NRZ eye window boundaries is the central 20% of the bit period (a recommendation from OFSTP-4A, TIA/EIA). However, if you would like to open the eye window boundaries beyond 20% (for example, to include the rising and falling edges) you can change the boundaries in the Configure Measurement dialog box.

Widening the eye window boundaries changes the histograms and the measurement results.

Timing measurements are based on data sampled in a thin measurement window along the horizontal axis of the eye diagram. Unlike the eye window boundaries and the threshold levels, this timing measurement window is not user definable.


Eye/Mask Mode Quick Start

  • <
  • i
  • Quick Start
  • Meas.
  • Masks
  • Adv. Eye
  • FlexEye

Quick Start

CLOCK RECOVERY

If you are using an 86100D-STR standard-trigger instrument with a clock recovery or 86108B Precision Waveform Analyzer modules, you must connect a cable between the module's front-panel trigger port to the mainframe's Trigger input connector as shown in the following picture. Connect this cable on 86100-ETR enhanced-trigger instruments is not required.

Use Eye/Mask Mode to make eye diagram measurements and eye mask tests on NRZ (Non-Return to Zero) coded signals. Measurements are made using a database to which histograms and statistically-based measurements are applied. Use a PRBS signal when performing this procedure, as PRBS signals contain a varied number of ones and zeros and thus produce a classic eye diagram.

  1. Select a 86100D module that is compatible with the type of signal that you are measuring.
  2. Install the module into the mainframe and turn on the instrument. You can insert modules into a running instrument.
  3. Use a cable to connect the data signal to the module's front-panel channel input connector. Connect a synchronous clock signal to the front-panel Trigger input connector. You can use a divided clock signal (clock rate/N). If you don't have a synchronous clock signal, install and setup a clock recovery module.

  4. Start FlexDCA.
  5. Click Setup > Default Setup to place the instrument in a known start-up state.
  6. Click the Signals button that is located in FlexDCA's lower-right corner to open the Signals Palette.

  7. On the Signals palette, click the channel button, [image],to select the module input channel that you are using. The channel button's color changes from gray when the channel is selected. This example shows Channel 1A displayed. Click the Signals button again to collapse the Signals palette.

    8. Note

    If you accidentally click to the right of the button, a dialog box opens for scaling the displayed waveform. Close the scaling dialog box.

  8. Click the Trigger button to open the Trigger Setup dialog box. Or, click Setup > Trigger Setup.

  9. On the dialog box, select the General Trigger Setup tab.
  10. In the Source: field, select Front Panel. If you are using a clock recovery module with an 86100D-ETR instrument, select Left Module or Right Module to use the recovered clock.

  11. In the Select a Trigger Bandwidth field, select Standard (DC–3.2 GHz), if the trigger rate is below 3.2 GHz (not 3.2 Gb/s). Select Divided (3–13 GHz) if the instrument has the enhanced trigger installed (Option ETR) and the trigger rate (or divided trigger rate) is between 3 GHz and 13 GHz.

  12. Close the Trigger dialog box.
  13. Click Auto Scale on the menu bar to properly scale and display the signal.
  14. To enter Eye/Mask mode, use the mode select button (upper left corner), or click Setup > Mode > Eye/Mask.

  15. On the toolbar, select one of the available measurements. The measurement results are displayed in the Results panel.
  16. To manually adjust waveform scaling:
    • Scroll-Wheel Mouse. The mouse pointer changes to this shape  [image]   when it is placed over the scaling labels on a channel button, trigger button, or in the waveform Signal palette. Turn the mouse wheel to adjust the scale and offset setting.
    • Click a channel, trigger, or waveform Signal palette button to make these adjustments using a dialog box.
    • If FlexDCA is running on the instrument, turn the front-panel horizontal and vertical adjustment knobs.


NRZ Eye Measurements

  • <
  • i
  • Quick Start
  • Meas.
  • Masks
  • Adv. Eye
  • FlexEye

Eye Meas Toolbar

The following NRZ Eye Mode measurements are available on the toolbar.

Toolbar 1 of 3 |  | Toolbar 2 of 3 |  | Toolbar 3 of 3
 | Extinction Ratio |  | Fall Time |  | Duty Cycle Distortion
 | TDEC |  | One Level |  | Bit Rate
 | Jitter |  | Zero Level |  | Eye Amplitude
 | Average Power |  | Eye Height |  | Crossing Time
 | Crossing % |  | Eye Width |  | Δ Time
 | Rise Time |  | Signal-to- Noise Ratio |  | Database Peak Hits


To View an Averaged Eye Diagram

In comparison to the 86100D, FlexDCA requires different steps to display averaged eye diagrams. On FlexDCA, there is no Eyeline mode selection on the Trigger Setup dialog box. Instead, the Wrap Waveform selection in the Waveform Acquisition Setup dialog box is used. Without Pattern Lock and waveform wraping capability, averaging an eye diagram would result in logic highs being averaged with logic lows, which results in an erroneous value between the two levels.

Note

The ability to view averaged eye diagrams requires an 86100D mainframe with Option ETR (Enhanced Trigger) installed.

Note

The data rate can be any value between 50 Mbs and 40.01841 Gbs. If the rate is greater then 23.2 Gbs, you must provide a divided trigger. The pattern length used must less than 223.

  1. Display an eye diagram on the instrument.

    2. Note

    If you are using the 86107A precision timebase module, connect the reference clock to both the 86107A module's Reference Clock Input and to the mainframe's front-panel Trigger input.

  2. At the bottom of the application, click the Pattern Lock icon ( [image]) so that it is locked ( [image]).

  3. Click Setup > Acquisition Setup to open the Acquisition Setup dialog box.
  4. Click the Waveform tab, and confirm that Acquire Entire Pattern and Wrap Waveform are selected.
  5. On the Smoothing tab, select Average and set the number of averages as needed. The default value is 16.


To View a Bit in a Pattern

With pattern lock turned on, use the following steps to view each bit in the data pattern.

  1. Using Eye/Mask Mode, display an eye diagram on the instrument.

  2. At the bottom of the application, click the Pattern Lock icon ( [image]) so that it is locked ( [image]).

  3. Click Setup > Acquisition Setup to open the Acquisition Setup dialog box.
  4. On the Waveform tab, confirm that Acquire Entire Pattern is selected.
  5. Clear the Wrap Waveform selection.
  6. You should see a single-valued waveform of the pattern displayed that is similar to the following figure. You may need to adjust the Samples/Bit value in the dialog box.

  7. Adjust the horizontal timebase to change the number of bits displayed. Adjust the timebase position to view any bit position that you may be interested in. Timebase position can be changed by either dragging the waveform on the display or by using the Delay from Trigger setting in the Timebase Setup dialog box.


Color Grade-Gray Scale Memory

Use the Color Grade-Gray Scale Memory dialog box to load an eye waveform into any of eight available eye memories.

Click File > Color Grade-Gray Scale Memory to open this dialog box.

Eye memories are also called Color Grade-Gray Scale Memory, because the color grade or gray scale persistence modes are used to display the data on the screen. The memory is a database that contains all the eye waveform data for eye measurements, histograms, and mask tests. This memory can store Eye/Mask Mode's eye diagrams and Oscilloscope Mode's pulse waveform jitter measurement.

  • Waveform Persistence

Note

The database can not be imported into an external database application.

Loading Memory

Select one of the following waveforms from the Source drop-down list and click Load:

  • Input channel
  • Eye memory
  • Math function
  • Color grade-gray scale file

Location of Eye Mode Waveform Files

The default user data folder for saving Eye mode waveform files is \Colorgrade-Grayscale.

Click Load From File to load a previously saved color grade-gray scale file, which has an .cgsx or .cgs (legacy format) extension.

Click Clear to erase data from an eye memory.

Click Display On/Off to display the memory waveform. This button is hidden until data has been loaded into a memory. You can simultaneously display all eight waveform memories.

Note

In Oscilloscope mode, if you are using a display persistence mode other than color grade or gray scale, enabling color grade-gray scale memory will set the persistence to gray scale.

Signal Type

In FlexDCA, three signal types can be placed in eye memory: Unspecified, NRZ, or PAM4. The PAM4 selection is only available if options 9FP or 9TP PAM-N Analysis software license is installed. Use this field to specify the signal type. The Signal Type settings are coupled to the identical settings that are in the PAM-N Analysis Setup dialog box. You can make these selections in either location.

Custom Waveform User Names

Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can change the waveform's labels to your own more meaningful user name by clicking the Name button or by clicking the the [image] icon that appears in the waveform label at the top of this dialog box.

  • To learn about custom labels

Click Turn All Memories Off to turn the display of each Eye Memory off.

Vertical and Horizontal Scale Fields

The Vertical and Horizontal scale information for the selected memory appears in this dialog box.

Waveform Color

Click the Color button to display the waveform in one of 16 colors.

Memory State Indicators

A quick glance at the dialog box tabs shows you the state of each of the eight available memories. As shown in the following table and in the picture above, tabs can be text only or text with a grey or colored button. You can click on the grey and colored tab buttons to display or hide the waveform on the display.

Buttons on Dialog Box Tabs
Button | Description | Example in Picture
 | Colored button indicates that the waveform is loaded and displayed | Eye Memory 1
 | Grey button indicates that the waveform is loaded but not displayed | Eye Memory 2
none | Missing button indicates that memory has no waveform loaded | Eye Memory 3

Note

The eye memories are non-volatile because they are stored on the hard disk. These memories are restored each time the instrument is turned on.

Unlike a channel input, color grade-gray scale memory is not cleared any of the following occurs:

  • Clear Display button pressed
  • Operating mode changed
  • Timebase changed
  • Vertical scale and offset changed
  • Trigger level or source changed
  • Plug-in module removed or inserted
  • Power cycled


Advanced Eye Measurements

  • <
  • i
  • Quick Start
  • Meas.
  • Masks
  • Adv. Eye
  • FlexEye

Advanced Eye Toolbar

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

ADVANCED EYE TOOLS

The Advanced Eye Analysis license activates all of the following tools:

  • Eye mode's Advanced Eye toolbar (this topic's subject).
  • Advanced Eye Analysis Application (on the Apps menu).
  • Legacy Advanced Eye Analysis spreadsheet application (downloaded from Keysight.com and run from the 86100D desktop).

Advanced Eye Toolbar

This topic describes Eye Mode's Advanced Eye measurements which provide the ability to make the jitter and interference measurements listed below on NRZ signals. To perform these measurements on PAM-4 signals, install the additional option 9FP (or 9TP) PAM-N Analysis software license.

Since these measurements are made on an eye diagram, the pattern itself can be of any type or length, such as PRBS31. (Jitter Mode's measurements are limited to patterns up to PRBS16.) When performing a jitter measurement, you can specify a fixed value of RJ to use during jitter decomposition. The selected fixed RJ is applied to all advanced-eye jitter measurements: TJ, DJ, RJ, and Jn. When performing a interference measurement, you can specify a fixed value of RN to use during noise decomposition. The selected fixed RN is applied to all advanced-eye noise measurements: TI, DI, and RN.

The Advanced Eye toolbar includes a link to the Advanced Eye Setup dialog box and the Add Eye Contour setup.

Toolbar 1 of 2 |  | Toolbar 2 of 2
 | Advanced Eye Setup |  | TI( Total Interference)
 | Add Eye Contour |  | DI (δ-δ) (Deterministic Interference)
 | TJ (Total Jitter) |  | RN (rms) (Random Noise)
 | DJ (δ-δ) (Deterministic Jitter)
 | RJ (rms) (Random Jitter)
 | Jn (J2 through J9)

FlexDCA Revision

Advanced Eye measurements requires FlexDCA revision A.02.50 and above.

Eye Contour Lines

Advanced Eye includes the ability to draw eye contour lines on NRZ and PAM-4 eye diagrams as shown in the picture below. Eye contours provide additional insights into the quality of an eye diagram. Contour lines are scaled to BER. They mark the border within an eye where a specific fixed Bit Error Ratio (BER) occurs. The following picture shows two contour lines on Channel 1A. One line marks the 1.0 x 10−9 border and one line marks the 1.0 x 10−15 border. On Channel 2A, contour lines are placed on all three eyes of the PAM-4 waveform. With eye contours, you can create the following items:

  • Up to 16 groups of lines placed on any displayed eye diagram.
  • Each group can contain up to eight individual contour lines.
  • Multiple eye contour groups can be placed on the same eye.
  • When applied to a PAM-4 waveform, the group's lines are displayed within each of the three eye openings.
  • An Eye Contours legend is displayed next to the waveform and identifies each contour line.

To create a group of eye contour lines

  1. Click the Add Eye Contour button on the Adv Eye tab to open the Eye Contour Group Setup dialog box. Or, click Measure > Eye/Mask > Adv Eye > Add Eye Contour.
  2. Select the source waveform and contour lines and then close the dialog box.

To edit an existing eye contour group or to move it to a different waveform

  1. Click on the group in the Eye Contour table to select the group.
  2. Click Setup, which is located beneath the table to open the Eye Contour Group Setup dialog box. The dialog box is populated with the current settings of the selected group. Make any needed changes, including source waveform, and close the dialog box.

To Use a Fixed RJ or Fixed RN Value

These steps fix RJ or RN to a value measured using a short pattern, which reduces the time required to make Advanced Eye measurements.

  1. Configure your test setup for the measurement. Select a pattern that is shorter than the pattern which will be used for the jitter or noise measurements.
  2. Place the 86100D in Jitter Mode and measure the RJ or RN.

    3. Note

    You could also measure the RJ using a spectrum analyzer or some other method.

  3. Place the 86100D in Eye/Mask Mode.
  4. Configure the pattern that will be used for making the measurements.
  5. In the Eye Mode's Adv Eye tab, click desired measurement button. For DJ (rms), TJ, RJ, or JN measurements, enter the fixed RJ that you made in step 2 above. For DI, TI, and RN measurements, enter the fixed RN.
  6. The measurement results are displayed in the measurement table.

Note

If you want to use a different RJ value for each waveform, separately measure each waveform or use the Advanced Eye Analysis application described in the next section.

Advanced Eye Analysis Application

The Advanced Eye Analysis application is run from the menu by clicking Apps > Automated Test Apps > Advanced Eye Analysis (401). This application does not require the use of a spreadsheet. It provides the following benefits:

  • Guided procedure for obtaining a fixed RJ value using Jitter Mode and then using this value in Eye Mode's Advanced Eye toolbar measurements. The pattern length used for measuring the fixed RJ can be different from the pattern length used for the Eye Mode toolbar measurements. (Requires Option 200, Enhanced Jitter Analysis.)
  • Ability to concurrently measure each lane of a multi-lane device while using a different fixed RJ value for each lane.
  • Comprehensive report of the measurement results which can be printed and saved to a file.

Legacy Advanced Eye Analysis Spreadsheet Application

The Advanced Eye Analysis spreadsheet application is a Microsoft Office Excel 2003/Excel 2007 based workbook which runs on a PC and controls the 86100D. Normally, you will want to use the FlexDCA's Advanced Eye toolbar measurements or the Advanced Eye Analysis application as described above. However, if you want to perform amplitude measurments on patterns longer than 216, you must use this spreadsheet application.

The spreadsheet controls the instrument via LAN or GPIB communication. An option 401 license allows you to download the spreadsheet from Keysight.com and install run it on a PC or the 86100D. Either setup requires that you also purchase and install Microsoft Excel.


Advanced Eye Setup

Advanced Eye measurement tools Option 401, Advanced Eye Analysis. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

The Advanced Eye Setup dialog box allows you to configure advanced eye jitter and noise measurements. These are the same settings as are found in the Measurement Configuration tab of the PAM-N Analysis Setup dialog box.

Click Measure > Eye/Mask > Adv Eye > Addvanced Eye Setup… to open this dialog box.

Receiver Sample Timing

This setting configures the timing for sampling the data. Use this setting to match the timing method used by a receiver. For signals with skewed eyes, measurements results will vary depending on this setting. This setting applies only to PAM-4 measurements in Eye mode.

Setting | Description
Based on Center Eye | Sampling timing is based on the location of the center eye (labeled Eye 1/2 in the following picture). This is the default setting.
Independent Per Eye | Sampling timing is independently based on the location of each of the three eyes.

Eye Center Location

This setting selects the basis for determining the location of an eye's center on the waveform. This setting applies only to PAM-4 measurements in Eye mode.

Setting | Description
Maximum Eye Width | The eye's center is located at the eye's maximum width midway between the eye's inside left and right edges. This is the default setting.
Maximum Eye Height | The eye's center is located at the eye's maximum height midway between the eye's inside top and bottom edges.

Eye Level Width

This setting defines the timespan over which an eye's amplitude level is measured. The timespan is specified as a percentage (from 1% to 25%) of the symbol period. The default setting is 10%. This setting applies only to PAM-4 measurements in Eye mode

Time of Level

This setting specifies the method used to locate the time at which to measure an eye's level. This setting applies only to PAM-4 measurements in Eye mode

Setting | Description
Eye Center | The time of a level is the average of the centers of the adjacent eyes. This is the default setting.
Minimum RMS | The time is located within the eye's level width at the minimum level thickness (RMS values).

Time Units

This setting specifies the time units. This setting applies only to PAM-4 measurements in Eye mode

Setting | Description
Second | Width and skew measurements are reported in seconds. This is the default setting.
Unit Interval | Width and skew measurements are reported in unit intervals.

Amplitude Units

This setting specifies amplitude units. This setting applies to PAM-4 measurements in Eye mode and Oscilloscope mode.

Setting | Description
Amplitude | Level and height measurements are reported in the current amplitude units: volts or Watts. This is the default setting.
Percent | Level and height measurements are reported in percent.

Measurements Affected by Dialog Box Settings in Eye Mode

PAM Measurement | Dialog Box Settings
 | Receiver Sample Timing | Eye Center Location | Eye Level Width | Time of Level | Time Units | Amplitude Units
Symbol definitions. ♦ = setting affects measurement. ◊ = setting may affect measurement.
Levels | ◊ | ◊ | ♦ | ♦ |  | ♦
Level RMS | ◊ | ◊ | ♦ | ♦ |  | ♦
Level Skews | ♦ | ♦ | ♦ | ♦ | ♦ |
Eye Levels | ♦ | ♦ | ♦ |  |  | ♦
Eye Skews | ♦ | ♦ | ♦ |  | ♦ |
Eye Heights | ♦ | ♦ | ♦ |  |  | ♦
Eye Widths | ♦ | ♦ |  |  | ♦ |
Linearity | ♦ | ♦ | ♦ | ♦ |  |


Eye Contour Group Setup

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Use the Eye Contour Group Setup dialog box to place eye-contour lines on NRZ and PAM-4 eye diagrams. Eye contours provide additional insights into the quality of an eye diagram.

  • More on eye contours

Click Measure > Eye/Mask > Adv Eye > Add Eye Contour… to open this dialog box. Or, click the Add Eye Contour button in the Adv Eye toolbar.

Thicken Contour Lines

To thicken the contour lines for screen captures or when viewing on a large display, increase the Waveform Pixel Intensity.

To create a group of eye contour lines

In this dialog box:

  1. In the Contour Lines field, select the lines that you want. When applied to a PAM-4 waveform, the group's lines are displayed within each of the three eye openings.
  2. Use the Contour Probability field to select that line values be interpreted as:
    • Probability, or
    • BER (BER Error Rate) for NRZ signals or SER (Symbol Error Rate) for PAM-4 signals.
  3. Click Add Line to add a value for a new line. Your group can have up to 8 contour lines. Values can range from 1.0E-1 to 1.0E-18.
  4. Click Close to create a group of eye-contour lines.

Up to 16 groups can be created with each group having a maximum of 8 contour lines. The Eye Contours panel that is shown in the following picture lists the eye contour groups with their source waveforms and any applied fixed RJ or RN.

To edit an existing eye contour group:

  1. In the Eye Contours panel that is displayed below the waveforms, click in the list to select a group.
  2. Click the panel's Setup button.

Fixed RJ and RN

Use the Random Jitter and Random Noise fields to enter fixed values of RJ and RN. To measure the RJ or RN, switch the 86100D to Jitter Mode and perform the measurement while using a signal that has a short pattern. Or, perform the measurement using a separate instrument, such as a spectrum analyzer.

Values of RN can be entered for each eye level of an eye-contour group. PAM-4 signals have four possible levels: 0, 1, 2, and 3. NRZ signals has two possible levels: 0 and 1.

Field | Description
RN 3 Value | Applies to level 3.
RN 2 Value | Applies to level 2.
RN 1 Value | Applies to level 1.
RN 0 Value | Applies to level 0.


Add Eye Contour Line

For an Eye Contour Group Setup, create a new contour line at a custom value of:

  • Probability,
  • BER Error Rate (BER) for NRZ signals, or
  • Symbol Error Rate (SER) for PAM-4 signals


Advanced Eye DI (δ-δ) Result

Advanced Eye measurement tools Option 401, Advanced Eye Analysis. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Deterministic Interference (DI) is a measure of the amount of vertical interference on a signal that is due to deterministic causes. The corresponding jitter measurement is Deterministic Jitter (DJ). The DI measurement result is reported for both One and Zero levels. You can select the one/zero level definitions to be based on an average level or on minimum Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels. Deterministic Interference is displayed in the current vertical channel units or Unit Amplitude. Make these selections in the Amplitude Measurements tab of the Configure Jitter Measurements dialog box.

DI is measured using the following steps:

  1. The instrument measures Random Noise (RN), Periodic Interference (PI), and Inter-Symbol Interference (ISI).
  2. The ISI histogram for the one level is convolved with the histogram of the one level RN and PI data, and the same is done for the zero level data. These histograms are referred to as the Total Interference (TI) histograms.
  3. Using the measured value of RN, a dual-dirac model is fit to the TI histogram. The model is fit at a probability of 10E-3 divided by the pattern length.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


Advanced Eye DJ (δ-δ)

Advanced Eye measurement tools Option 401, Advanced Eye Analysis. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Use the Select Measurement Settings dialog box to configure the DJ (δ—δ) measurement. The Fix RJ field selects to perform jitter decomposition using an entered RJ Value that you have previously measured. This value of RJ is often measured using a shorter pattern. The Fix RJ and RJ Value fields can be configured from any of the advanced eye RJ, DJ, Jn, or TJ setup dialog boxes.

Note

Changing the Fix RJ or RJ Value setting in any of the RJ, DJ, Jn, or TJ setup dialog boxes changes the setting in the remaining three dialog boxes.


Advanced Eye Jn

Advanced Eye measurement tools Option 401, Advanced Eye Analysis. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Use the Select Measurement Settings dialog box to configure the Jn measurement. The Select Jn Type field allows you to select the JN measurements that are shown in the following table. When the measurement is selected, the dialog box shown here is displayed.

Measurement and Associated BER
Measurement | BER
J1 | 2.5 x 10–2
J2 | 2.5 x 10–3
J3 | 2.5 x 10–4
J4 | 2.5 x 10–5
J5 | 2.5 x 10–6
J6 | 2.5 x 10–7
J7 | 2.5 x 10–8
J8 | 2.5 x 10–9
J9 | 2.5 x 10–10

The Fix RJ field selects to perform jitter decomposition using an entered RJ Value that you have previously measured. This value of RJ is often measured using a shorter pattern. The Fix RJ and RJ Value fields can be configured from any of the advanced eye RJ, DJ, Jn, or TJ setup dialog boxes.

Note

Changing the Fix RJ or RJ Value setting in any of the RJ, DJ, Jn, or TJ setup dialog boxes changes the setting in the remaining three dialog boxes.


Advanced Eye RJ (rms)

Advanced Eye measurement tools Option 401, Advanced Eye Analysis. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Use the Select Measurement Settings dialog box to configure the RJ measurement. The Fix RJ field selects to perform jitter decomposition using an entered RJ Value that you have previously measured. This value of RJ is often measured using a shorter pattern. The Fix RJ and RJ Value fields can be configured from any of the advanced eye RJ, DJ, Jn, or TJ setup dialog boxes.

Note

Changing the Fix RJ or RJ Value setting in any of the RJ, DJ, Jn, or TJ setup dialog boxes changes the setting in the remaining three dialog boxes.


Advanced Eye RN (rms) Result

Advanced Eye measurement tools Option 401, Advanced Eye Analysis. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Random noise (RN) is noise that is uncorrelated to the pattern and follows Gaussian statistics. The corresponding jitter measurement is Random Jitter (RJ). Random noise is displayed in the current vertical channel units or Unit Amplitude as selected in the Amplitude Measurements tab of the Configure Jitter Measurements dialog box. The RN measurement result is reported for both One and Zero levels. You can select the one/zero level definitions to be based on an average level or on minimum Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels.

RN is measured using the following steps:

  1. A particular bit is chosen from the pattern. Each time the measurement is made, a different bit is chosen.
  2. The instrument acquires 4096 samples at the measurement location, which is normally the center of the bit. These samples are acquired precisely periodic in time at a rate close to the maximum instrument sample rate of 40 kHz.
  3. The power spectral density of the resulting waveform is obtained. Because the signal is under-sampled, all periodic components are aliased down below 20 kHz.
  4. The RN is calculated as the area of the power spectral density excluding any peaks in the spectrum (for example, the baseline noise of the power spectral density).
  5. The above steps are repeated, and the power spectra from acquisition to acquisition are averaged together. The data from the one levels and zero levels are not combined.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


Advanced Eye TI Result

Advanced Eye measurement tools Option 401, Advanced Eye Analysis. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Total Interference (TI) is the width of the one (or zero) level distribution at a low probability or bit error rate (BER). TI is always measured at the same BER as the Total Jitter measurement. By default this is a BER of 1E-12 (1 x 10–12), which is a probability of occurrence of less than 1 part per trillion. You can change the BER setting to any value between 1E-1 to 1E-18 by changing the TJ/TI Measurement BER setting that is located in the Advanced Tab of the Configure Jitter Mode Measurements dialog box.

The TI measurement result is reported for both One and Zero levels. You can change the parameters for making this measurement on the Amplitude Measurements tab of the Configure Jitter Measurements dialog box. For example, the one/zero level definitions can be based on an average level or on minimum Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels. The measurement are displayed in the current vertical channel units or Unit Amplitude.

The TI measurement is derived from the Deterministic Interference (DI) and Random Noise (RN) measurements. The DI and RN values are combined according to a dual dirac model. This model is converted to a BER curve which is then evaluated at the desired BER to obtain the TI measurement.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


Advanced Eye TJ

Advanced Eye measurement tools Option 401, Advanced Eye Analysis. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Use the Select Measurement Settings dialog box to configure the TJ measurement. The Fix RJ field selects to perform jitter decomposition using an entered RJ Value that you have previously measured. This value of RJ is often measured using a shorter pattern. The Fix RJ and RJ Value fields can be configured from any of the advanced eye RJ, DJ, Jn, or TJ setup dialog boxes.

Note

Changing the Fix RJ or RJ Value setting in any of the RJ, DJ, Jn, or TJ setup dialog boxes changes the setting in the remaining three dialog boxes.

Use the Measurement BER field to set the probability at which to measure TJ. The default value is 1.0 x 10–12. The entered value is shown with the measurement label in the displayed measurement results table.


Eye Mode Mask Testing

  • <
  • i
  • Quick Start
  • Meas.
  • Masks
  • Adv. Eye
  • FlexEye

Mask Testing Toolbar

Location of Mask Files

Mask files are stored in the \Masks user data folder.

XML FILE FORMAT

FlexDCA mask files (*.mskx) are XML files, which are a different format than 86100D mask files (*.msk). FlexDCA can read and load .msk files, but cannot convert these files to the new .mskx format.

Available only in Eye/Mask mode, mask testing allows you to verify that a displayed eye diagram complies with industry-standard definitions for electrical and optical waveforms. To comply with the industry standard, the input waveform must remain outside the shaded mask regions. As shown in the following picture, mask regions are shown in light gray. Mask margin regions are shown in dark gray. Data points that falls inside a mask region appears in red and are logged as a mask test failure.

Masks are similar to limit lines in Oscilloscope and TDR/TDT modes. Masks are applied to eye diagrams while limit lines are applied to single-valued waveforms. Masks (and limit lines) always display the pass / fail status which indicates if any data points have occurred outside of the boundaries. You can apply limit testing to masks (and limit lines). Limit testing stops data acquisition based on broad range of acquisition, measurement, or data point conditions. Masks (and limit lines) are defined in ASCII XML files, which you can create using any text editor. However, masks require different XML elements as compared to limit lines.

Limit Lines and Masks Compared
 | Instrument Mode
 | Oscilloscope | TDR/TDT | Eye/Mask | Jitter
Masks |  |  | ♦ |
Limit Lines | ♦ | ♦ |  |
 | Available Limit Testing
 | Limit-Line Test Limits | Mask-Test Limits | Acquisition Limits | Measurement Limits
Masks |  | ♦ | ♦ | ♦
Limit Lines | ♦ |  | ♦ | ♦

Mask Toolbar

Mask Toolbar
 | Load Mask | Exit Mask Test
 | Mask Test Margins | Mask Test Scaling

Mask Topics

  • Creating masks
  • Limit testing
  • Optical channel filter for mask testing

Mutiple Mask Tests

You can apply parallel mask tests to multiple eye diagrams, which can save valuable test time on multilane devices. You can even apply more than one mask to the same eye diagram.

In the Mask results panel, click the arrow buttons shown in the following picture to cycle through the display of test results for each mask. The Source entry indicates the eye diagram to which the mask is applied. You can move the mask to a different eye diagram by clicking the Source Change button.

To Perform a Mask Test

DRAG & DROP DATA

You can drag-and-drop a panel's tabular data directly into Microsoft Excel and Word. On the Windows desktop size FlexDCA and the target application so that both are open and visible. Click on the panel's tab and drag the panel to the other application. On the 86100D, you can accomplish this by adding a second display.

  1. Display an eye diagram and click Auto Scale on the menu bar.
  2. On the Mask Test toolbar, click Load Mask to load a mask file. If multiple eye diagrams are displayed, you will be prompted to select the waveform.

    3. Many standard mask files are included with FlexDCA for you to use.

Results are shown on a Mask Test results table. When the mask is loaded the following automatically occurs:

  1. The mask aligns both the horizontal and vertical axis.
  2. Mask testing begins.

You can optionally apply mask scaling or mask margins. Click Exit Mask Test on the toolbar when you are finished testing.

A waveform must be displayed for a loaded mask to be visible on the display. After a mask is loaded, it remains loaded until you perform a default setup or load a different mask. This feature allows you to load a mask only one time if testing multiple devices against the same mask. Masks are aligned according to settings located in the Mask Test Scaling dialog box.

A fixed voltage mask, such as XAUI, has a fixed amplitude. A fixed voltage mask is used to verify that your electrical waveform complies with an industry standard waveform shape. You can apply a fixed voltage mask to a differential signal using any dual electrical module. When using mask margins, only the center region of the mask can be adjusted. The top and bottom regions of the mask remain fixed.

Measurement Database and Masks

Mask tests use a measurement database which consists of all displayed data samples. Every time a display sample point is acquired on a display coordinate, the counter for that coordinate is incremented. The maximum count for each counter is 232. The measurement database continues to build until the instrument stops acquiring data. To reset the measurement database, click Clear on the menu bar. Changing a channel's vertical scale, vertical offset, horizontal position, horizontal scale, and filter status (on or off), trigger settings, or performing an Auto Scale will also reset the measurement database.

The measurement database is active when the color grade persistence display mode (or gray scale persistence) is used and during the performance of histogram measurements. Therefore, mask testing is only possible in the Eye/Mask mode.

The following events do not reset the measurement database:

  • Using Stop/Single acquisition (Stop/Single on the menu bar)
  • Using Run acquisition (Run on the menu bar)
  • Loading a new mask
  • Starting a new mask test
  • Turning on mask margins
  • Changing mask margins
  • Scaling the mask
  • Executing an eye diagram measurements
  • Performing a histogram measurement


Mask Test Scaling

Use the Mask Test Scaling dialog box to specify how a mask is positioned and scaled against the eye diagram. Notice that the dialog box's title identifies which of 16 possible masks is being scaled. You don't have to scale a mask every time a mask test is performed. Masks "track" the waveform, and as you change the waveform's vertical and horizontal scale or position, the mask moves with the waveform. If there is more than one eye diagram on the display, the mask is aligned to the first zero crossing point.

Changes made in this dialog box modify the displayed mask, but do not alter the mask file. After changing the scaling in this dialog box, you will no longer be using a standard mask and the Mask Test panel includes the notation "modified" next to the mask name. Click Reset/Reload Mask to re-apply the mask file thus removing any modifications.

Click Measure > Configure Base Measurements to open this dialog box.

Delta T

Delta T establishes the absolute shape of the mask width. Delta T is automatically set to the inverse of the data rate, which is the second eye-crossing time. This is true unless the value is specified in the mask file. Every standard mask has a predefined absolute width. These values can be specified in the mask file to any allowable time value.

Horizontal Alignment

Use the Horizontal Alignment field to position the mask along the graticule's horizontal axis. The mask can be automatically positioned relative to either the NRZ Eye or the Eye Cross Mean. NRZ Eye aligns the mask reference point to the first displayed eye crossing for NRZ measurements and is the default method. Eye Cross Mean aligns the mask reference point to the eye crossing mean of the rise and fall time at waveform average power at the first eye crossing point for NRZ eye measurements. Click Manual if you want to Position the mask to a specific time. If not specified in the mask file, Position is automatically set to the first eye crossing time.

Vertical Alignment

Use the Vertical Alignment field to position the mask along the graticule's vertical axis. The mask can be automatically positioned relative to either the Display, which is the eye's Vtop and Vbase values or to the Eye Boundaries, which is the eye's one and zero levels. The default method is to align to the Eye Boundaries. Click Manual if you want to position the mask to a specific value.

Each logic level moves independently of the other unless Logic Level Track is selected. When you enable logic level tracking, the logic levels are dependent upon each other, allowing you to manually move the mask up and down on the display. For example, if you adjust the logic 1 level by 5 mW, the logic 0 level will also move by 5 mW. When you disable logic level tracking, the logic levels can be moved independent of each other.

Note

Generally, it is not recommended to align to the Display (Vtop , Vbase). Y-axis mask align does not apply to fixed-voltage masks.

Note

When aligning a fixed voltage mask (for example, XAUI), only mask position is adjusted. The logic 1 and logic 0 levels remain unaffected.

Note

Changing the mask parameters does not affect the waveform data on the display.


Mask Test Margins

Use the Mask Test Margins dialog box to specify the compliance margin for a standard or scaled mask. (Click Measure > Eye/Mask Mode > Mask Test Margins.) Margins indicate areas that are to contain a specified number of hits (violations within the mask region) in order to comply with testing standards. You can use this information to determine at what level the waveform begins to fail to comply with industry standards.

Once you have defined your margins, select Mask Test Margins On to apply your margins. Mask regions are shown in light gray and mask margins are shown in dark gray. Any acquired data point that falls inside a mask margin appears in red.

Margin Type: Auto

In the Margin Type field, select Auto to automatically set the mask margins based on your entered target Hit Count or target Hit Ratio. Selecting Hit Count sets the margins so that:

Selecting Hit Ratio causes the margins to be sized to achieve the entered Auto Margin Hit Ratio. Use Hit Ratio based mask testing with measurement limit testing (based on percent uncertainty) to reduce test times while increasing test repeatability. This is especially important in testing high-volume optical transceivers. Click on the following link to discover how Hit Ratio based mask testing works. Use the following procedure to set up your testing.

  • An explanation of how Hit Ratio mask testing works

Running a Hit-Ratio based mask-margin test

  1. Click Measure > Eye/Mask Mode > Mask Test Margins to open the Mask Test Margins dialog box.
  2. In the Margin Type field, select Auto.
  3. Select Hit Ratio as the Auto Mask Margin Settings and enter the desired Auto Margin Hit Ratio. Typically this is 5.0E−5 (allows 1 violation in every 20000 samples).
  4. Close the dialog box.
  5. Click Measure > Limit Tests > Measurement Limits to open the Measurement Limit Test dialog box.
  6. In the dialog box, click Turn All Off.
  7. In the Available Measurements field, select Margin Uncertainty. Enter the remaining settings as shown in the following figure. Set the Lower Limit and Upper Limit to set the percentage range of margin uncertainty that you want to stop the mask margin testing. In this picture, ±3% is entered. When the uncertainty drops within this limit, the testing stops.
  8. Close the dialog box.

  9. Click Stop/Single on the menu bar to stop data acquisition.
  10. Click Clear on the menu bar to clear the display.
  11. Click Run on the menu bar to run the test.
  12. When the limit test completes, in the Mask Test results panel you'll notice that a red dot is shown next to the +/− entry. This entry shows the uncertainty percentage that stopped the testing. Notice also that in this case 338,670 samples were acquired. Increasing the test limits will shorter the test times.

Margin Type: Manual

When Manual Margin Type is selected, you can specify positive or, negative mask margins:

  • Positive margins (0% to +100%) determine how much larger you will be able to increase the mask size before violations occur.
  • Negative margins (0% to −100%) determine how much smaller you have to decrease the mask size before violations no longer occur.

The margin percent setting is determined according to the following equation: violations = BER (samples/UI)

where UI is the unit interval.

The following pictures give examples of positive and negative margins used to verify that the waveform can comply to a standard mask with a 20% margin. You can then increase the size of the margin by increasing the percentage until violations occur. Margin and standard mask violation counts appear on the Mask Test results table.

Positive Mask Margins (+20% margin)

For positive mask margins:

  • Total Standard Mask Violations show the number of data points sampled in the mask regions (mask failures). This count does not include any point within the margin area
  • Total Margin Mask Violations show the number of data points sampled in the mask margin regions (margin failures). This count does include any point within the standard mask area.

Negative Mask Margins appear inside the mask regions. (–20% margin)

For negative mask margins:

  • Total Standard Mask Violations show the combined number of data points sampled in the mask regions and mask margin regions (mask failures). This count does include points within the margin area.
  • Total Margin Mask Violations show the number of data points sampled in the mask margin regions (margin failures). This count only includes points within the margin but not outside the margin area into the standard mask area.


How Hit Ratio Mask Testing Works

An eye diagram is displayed with infinite persistence so that data samples are continuously acquired and added to the database. As more waveform samples are collected, the likelihood of observing outlier samples is increased as is the likelihood of mask failures. In the following figure the sample population is small and failures have not yet occurred.

Small Sample Population without Failures

However in the following figure, a larger population size has resulted in mask violations. This results in repeatability issues and inconsistent in test results. Clearly, this approach to gauge the quality of a transmitter by simple pass/fail criterion is inadequate.

Large Sample Population with Failures

Testing to a mask margin, even when setting the mask margin to the largest dimension possible without mask violations, is subject to the same repeatability problems that are due to sample size.

Mask Margins with Failures

Recent communications standards alleviate the repeatability problem by allowing a specific and very small percentage of the waveform samples to result in mask margin violations. For example, many optical communications standards allow 1 in every 20000 samples (5 X 10−5) to violate the mask. Test results are consistent from test to test, as the observation of an extreme outlier does not dominate the results. Because testing can represent a significant element in the overall cost of producing high volume optical transceivers, reducing sample size directly reduces test times and cost of test. The use of mask margins coupled with the allowance of a finite percentage of failed samples presents an opportunity to reduce sample size and yet still be confident in the test results.

The following steps are a direct method for testing to a hit ratio (finding the largest margin such that there is at most 1 hit in every 20000 samples):

  1. Take a sufficient amount of data.
  2. Apply the eye mask to the acquired eye-diagram data.
  3. Expand the mask dimensions until any further expansion would result in a violation of the hit ratio limit. For example, if 500000 samples have been collected, the mask dimensions are expanded until more than 25 samples violate the mask.
  4. The mask dimensions are then reduced to the largest value that results in fewer than 25 violations.

Determining how much data is sufficient is a challenging task. Could the mask margin be accurately determined with a much smaller population than 500000 samples? Ideally, a minimum amount of data should be acquired to achieve the shortest test time. But, if too little data are used, the measurement will be inaccurate, giving misleading results. Existing solutions rely on the user estimating in advance how many samples should be acquired. An alternative approach is to apply the mask when the sample population is small and continuously monitor the results as new data are added to the eye-diagram. A key element of this approach is to provide an accuracy metric that allows an appropriate stop condition to be determined. Data no longer need to be collected once the desired accuracy has been achieved.

For mask testing to a hit ratio, there are two measurements to consider: the mask margin percentage that results in a specific hit ratio and the hit ratio at a specific mask margin percentage. To simplify the analysis, each sample used in the mask test is assumed to be a Bernoulli trial with the failure probability equal to the hit ratio. Using that assumption, the number of mask hits follows a binomial distribution. Using Bayes' Law it is straight forward to derive a probability distribution for the hit ratio conditional on the number of mask hits and the total number of samples tested.

Note

ITU G.957, �Optical interfaces for equipments and systems relating to the synchronous digital hierarchy� International TelecommunicationsUnion Series G: Transmission Systems and Media, Digital Systems and Networks (2006), pp. 10, 11.

Where hr is the hit ratio, k is the total number of mask/margin hits, and n is the total number of samples used in the mask test. The error term for the hit ratio measurement can be derived as:

Unfortunately, this only provides information about the uncertainty of the hit ratio measured at a particular margin. This uncertainty information about the measured hit ratio needs to be transformed into an uncertainty about the mask margin that achieves this measurement.

The dependence of hit ratio on mask margin can be mapped by sweeping the margin percentage from −100% to +100%. Using this mapping, a fit function can be found and used to convert from hit ratio to percent mask margin. The function can be assumed to follow a Gaussian distribution in the vicinity of the target hit ratio, since for reasonable target hit ratios the function will be dominated by the random noise and jitter components of the signal under test. By converting the hit ratios to a Q-scale, the fit function will be a straight line. A simple linear least squares regression can be used to determine the function that maps hit ratio to percent mask margin.

Log Scale of Hit Ratio vs. Mask Margin

Q Scale of Hit Ratio vs. Mask Margin

Not only does this mapping function provide a means to get the mask margin uncertainty, but it can also be used to extrapolate the mask margin for a desired hit ratio with a very small number of points. To determine a hit ratio of less than 1 in 20000 with high confidence, it would be expected to take more than 100,000 samples. Using the described method, a reasonable result can be found with approximately 50,000 samples. The actual mask margin will deviate from the confidence interval discribed in the following figure with a probability of less than 1 x 10−6.

Mask Margin Measurement vs. Number of Samples

Extrapolating to Mask Margin

Similar to Bit-Error-Ratio (BER) measurements, where the confidence in the BER value is increased as more bits are observed, the uncertainty in mask margin values is reduced as more waveform samples are added to the eye diagram database. However, the error magnitude limits around the true value rapidly diminish and there is little value in acquiring a large sample population. A manufacturing engineer can benefit from this by taking only enough data to be confident that a transmitter is able to achieve a desired mask margin. Knowing both the mask margin percentage and the measurement error provides an opportunity to significantly reduce test times, which in turn can increase test system throughput and reduce the effective cost of test.

  • Setting up a mask-margin test based on Hit Ratio


To Run a Hit-Ratio Based Mask-Margin Test

  1. Click Measure > Eye/Mask Mode > Mask Test Margins to open the Mask Test Margins dialog box.
  2. In the Margin Type field, select Auto.
  3. Select Hit Ratio as the Auto Mask Margin Settings and enter the desired Auto Margin Hit Ratio. Typically this is 5.0E−5 (allows 1 violation in every 20000 samples).
  4. Close the dialog box.
  5. Click Measure > Limit Tests > Measurement Limits to open the Measurement Limit Test dialog box.
  6. In the dialog box, click Turn All Off, which is located in the top-right corner of the dialog box.
  7. Along the dialog box's left side, click one of 16 available (tab label is Off) limit test definitions.
  8. In the top of the panel, select Enable limit test on the following measurement as shown in the following figure.
  9. If there is more than one Mask turned on, select the mask in the Measurement Type list. In the associated Measurements list, select Margin Uncertainty (Mask X), where "X" is the number of the mask.
  10. Enter the remaining settings as shown in the following figure. Set the Lower Limit and Upper Limit to set the percentage range of margin uncertainty that you want to stop the mask margin testing. In this picture, ±3% is entered. When the uncertainty drops within this limit, the testing stops.
  11. Close the dialog box.

  12. Click Stop/Single on the menu bar to stop data acquisition.
  13. Click Clear on the menu bar to clear the display.
  14. Click Run on the menu bar to run the test.
  15. When the limit test completes, the Mask Test results panel includes a red dot next to the +/− entry as shown in the following figure. This entry shows the uncertainty percentage that stopped the testing. Notice also that in this case 153,900 samples were acquired. Increasing the test limits will shorter the test times.


Available Standard Masks

Location of Standard Mask Files

Standard mask files are stored in subfolders in the \Masks user data folder.

The following tables list the available standard mask files that are provided with FlexDCA. When multiple files are available for a particular standard, select the file with the date listed in the table; revision 1 files have an earlier creation date and are retained for those who, for historical reasons, prefer testing with them.

  • Mask testing

Masks Listed by Standard

Ethernet Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
125 Mb/s | 100BASE-LX10 100BASE-BX10 | 100BASE-BX/LX10 | 000.1250 - 100BASE-BX_LX10.mskx
 | 100BASE-BX10 | 100BASE-BX10 | 000.1250 - 100BASE-BX10_September_2004.mskx
1.250 Gb/s | GB Ethernet | GB Ethernet | 001.2500 - 01xGbEthernet.mskx
 | 1000BASE-LX10 | 1000BASE-LX10 | 001.2500 - 1000BASE-LX10_September_2004.mskx
2.500 Gb/s | 2XGB Ethernet | 2xGB Ethernet | 002.5000 - 02xGbEthernet.mskx
3.1250 Gb/s | 10BASE-LX4 | 10 GBASE-LX4 | 003.1250 - 10GBASE-LX4.mskx
9.953 Gb/s | 10GB Ethernet | 10GbE 9.953 | 009.95328 - 10GbE_9_953_May02.mskx
10.3125 Gb/s | 10GB Ethernet | 10Gb Ethernet | 010.3125 - 10GbEthernet_10_3125.mskx (Revision 1 of the standard)
 | 10GB Ethernet | 10GbE 10.3125 | 010.3125 - 10GbE_10_3125_May02.mskx (Revision as of May, 2002)
 | 10G BASE LRM | 10 G Base LRM | 010.3125 - 10_G_Base_LRM_May_2006.mskx
 | 802.3ba | CAUI | 010.3125 - CAUI_Tx.mskx
 | 10.3125 Gb Ethernet SFP+ Rx C' | SFP+_Rx_C' | 010.3125 - SFP+_Rx_C'_10GE.mskx
 | 10.3125 Gb Ethernet SFP+ Tx B | SFP+_Tx_B | 010.3125 - SFP+_Tx_B_10GE.mskx
 | 10.3125 Gb Ethernet XFP B' | XFP_B' | 010.3125 - XFP_B'_10GE.mskx
 | 10.3125 Gb Ethernet XFP C' | XFP_C' | 010.3125 - XFP_C'_10GE.mskx
 | 40G-LR4 | 40G-LR4 | 010.3125 - 40GBASE-LR4_Tx_Optical_D31.mskx
 | 40G-SR4 | 40G-SR4 | 010.3125 - 40GBASE-SR4_Tx_Optical_D31.mskx
 | 40G-SR10 | 100G-SR10 | 010.3125 - 100GBASE-SR10_Tx_Optical_D31.mskx
 | 100G-SR10 | 100G-SR10 10.3125 | 010.3125 - 100GbE_100GBASE-SR10.mskx
12.5000 Gb/s | 10xGB Ethernet | 10xGB Ethernet | 012.5000 - 10xGbEthernet_12_5.mskx
25.78125 Gb/s | 100G-ER4 | 100G-ER4 | 25.78125 - 100GBASE-ER4_Tx_Optical_D31.mskx
 | 100G-LR4 | 100G-LR4 | 25.78125 - 100GBASE-LR4_Tx_Optical_D31.mskx
 | 100G-SR4 | 100GE-SR4 | 25.78125 - 100GBASE-SR4_Rx_SEC_Optical.mskx
 | 100G-SR4 | 100GE-SR4 | 25.78125 - 100GBASE-SR4_Tx_Optical.mskx
 | 100G-CLR4 FEC | 100G-CLR4 FEC | 025.78125 - 100G-CLR4_FEC.mskx
 | CLR4 - Alliance | 100G-CLR4 | 025.78125 - 100G-CLR4.mskx
 | CWDM4 MSA Technical Specification | 100G-CWDM4 | 025.78125 - 100G-CWDM4.mskx
27.952493 Gb/s | OTU4 G.959.1 | OTU4 | 027.952493 - OTU4_G959_1.mskx
Fibre Channel Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
133 Mb/s | FC133 | FC133 | 000.1328 - FC0133.mskx
266 Mb/s | FC266 | FC266 | 000.2656 - FC0266.mskx
531 Mb/s | FC531 | FC531 | 000.5310 - FC0531.mskx
1.063 Gb/s | FC1063 | FC1063 | 001.0625 - FC1063.mskx (Revision 1 of the standard)
 |  | FC1063 PI Rev13 | 001.0625 - FC1063_PI_R13_Dec01.mskx Revision as of Dec., 2001
2.125 Gb/s | FC2125 | FC2125 | 002.1250 - FC2125.mskx Revision 1 of the standard
 | FC2125 | FC2125 PI Rev13 | 002.1250 - FC2125_PI_R13_Dec01.mskx Revision as of Dec., 2001
4.2500 Gb/s | 4GFC | DR_4FC | 004.2500 - 4FC_DeltaR.mskx
 | 4GFC | DT_4FC | 004.2500 - 4FC_DeltaT.mskx
 | 4GFC | DT_4FCN | 004.2500 - 4FC_DeltaT_Norm.mskx
 | 4GFC | FC4250 PI Rev13 | 004.2500 - FC4250_PI_R13_Dec01.mskx
8.500 Gb/s | 8GFC | DR_8FC | 008.5000 - 8FC_DeltaR.mskx
 | 8GFC | DT_8FC | 008.5000 - 8FC_DeltaT.mskx
 | 8GFC | 8G_FC_MM | 008.5000 - FC-PI-4 Multimode.mskx
10.51875 Gb/s | 10GFC | 10x Fiber Channel | 010.51875 - 10xFiberChannel.mskx
 | 10GFC, SFP+Rx C' | SFP+_Rx_C' | 010.51875 - SFP+_Rx_C'_10GFC.mskx
 | 10X Fibre Channel, SFP+Tx B | SFP+_Tx_B | 010.51875 - SFP+_Tx_B_10GFC.mskx
 | 10X Fibre Channel, XFP B' | XFP_B' | 010.51875 - XFP_B'_10GFC.mskx
 | 10X Fibre Channel, XFP C' | XFP_C' | 010.51875 - XFP_C'_10GFC.mskx
14.025 Gb/s | 16x Fibre Channel | DR_16FC | 014.0250 - 16FC_DeltaR.mskx
 | 16x Fibre Channel | DT_16FC | 014.0250 - 16FC_DeltaT.mskx
 | 16x Fibre Channel - MM | 16GFC-MM | 014.025 - 16xFC-MM_Tx_Optical_Rev1.0.msk
 | 16x Fibre Channel - SM | 16GFC-SM | 014.025 - 16xFC-SM_Tx_Optical_Rev1.0.msk
28.050 Gb/s | FC-PI6-Rev3.10 | 32G_FC_MM | 028.0500 - 32GFC_MM_Tx.mskx
 | FC-PI6-Rev3.10 | 32G_FC_SM | 028.0500 - 32GFC_SM_Tx.mskx
G.984.2 Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
155.52 Mb/s | 155.52 Mb/s ONU | 155.52Mbps | 000.15552 - 155.52_G.984.2_Upstream_March_2003.mskx
622.08 Mb/s | 622.08 Mb/s ONU | 622.08Mbps | 000.62208 - 622.08_G.984.2_Upstream_March_2003.mskx
1.244.16 Gb/s | 1244.16 Mb/s ONU | g.984_1244.16Mbps Downstream | 001.24416 - 1244.16_G.984.2_Downstream_March_2003.mskx
 | 1244.16 Mb/s ONU | 1244.16Mbbs | 001.24416 - 1244.16_G.984.2_UpStream_March_2003.mskx
2.488.32 Gb/s | 2488.32 Mb/s ONU | g.984 2488.32Mbps | 002.48832 - 2488.32_G.984.2_Downstream_March_2003.mskx
Infiniband Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
2.500 Gb/s | InfiniBand 2.500 Gb/s | InfiniBand | 002.5000 - InfiniBand_Jun01.mskx
2.5 Gb/s | InfiniBand | SDR 2.5 | 002.5000 - InfiniBand_SDR.mskx
5.0 Gb/s | InfiniBand | DDR 5.0 | 005.0000 - InfiniBand_DDR.mskx
10.0 Gb/s | InfiniBand | QDR 10.0 | 010.0000 - InfiniBand_QDR.mskx
014.0625 Gb/s | InfiniBand | FDR_Cab_In | 014.0625 - Infiniband_FDR _Cable_In_Limiting.mskx
 | InfiniBand | FDR_Cab_Out | 014.0625 - Infiniband_FDR _Cable_Out_Limiting.mskx
 | InfiniBand | FDR_Host_Out | 014.0625 - Infiniband_FDR_Host_Out_Limiting.mskx
 | InfiniBand | FDR_Stress_In | 014.0625 - Infiniband_FDR_Stressed_In_Limiting.mskx
25.78125 Gb/s | InfiniBand | EDR_Cab_In | 025.78125 - Infiniband_EDR _Cable_In_Limiting.mskx
 | InfiniBand | EDR_Cab_Out | 025.78125 - Infiniband_EDR _Cable_Out_Limiting.mskx
 | InfiniBand | EDR_Host_Out | 025.78125 - Infiniband_EDR_Host_Out_Limiting.mskx
 | InfiniBand | EDR_Stress_In | 025.78125 - Infiniband_EDR_Stressed_In_Limiting.mskx
OIF-CEI (Optical Internetworking Forum Common Electrical I/O) Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
6.375 Gb/s | OIF-CEI | CEI 6G-LR 6.375 | 006.3750 - OIF_CEI-6G-LR.mskx
 | OIF-CEI | CEI 6G-SR 6.375 | 006.3750 - OIF_CEI-6G-SR.mskx
11.2 Gb/s | OIF-CEI | CEI-11G-LR/MR 11.2 | 011.2000 - OIF_CEI-11G-LR-MR.mskx
 | OIF-CEI | CEI-11G-SR 11.2 | 011.2000 - OIF_CEI-11G-SR.mskx
Serial ATA (SATA) Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
1.4999 Gb/s | SATA TX 250 Cycles, 1.5 Gb/s | SATA 1.5Gb TX 250 Cyc | 001.5000 - SATA 1.5Gb TX 250 Cycles.mskx
 | SATA TX 5 Cycles, 1.5 Gb/s | SATA 1.5Gb TX 5 Cyc | 001.5000 - SATA 1.5Gb TX 5 Cycles.mskx
SFF-8431 Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
10.3125 Gb/s | SFF-8431 | SFF-8431 Host Receiver Test Signal 10.3125 | 010.3125 - SFF-8431_Host_Receiver_Test_Signal.mskx
 | SFF-8431 | SFF-8431 Host Transmit 10.3125 | 010.3125 - SFF-8431_Host_Transmitter.mskx
 | SFF-8431 | SFF-8431 Module Receiver Output | 010.3125 - SFF-8431_Module_Receiver_Output.mskx
SONET/SDH Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
51.8 Mb/s | STM0/OC1 | STM0/OC1 | 000.05184 - STM000_OC1.mskx
 | STS1 Eye | STS1 Eye | 000.05184 - STS1Eye.mskx This electrical mask does not have supported alignment methods. You can load these masks and align them manually, but eye measurements will not be supported.
155.5 Mb/s | STM1/OC3 | STM1/OC3 | 000.15552 - STM001_OC3.mskx
 | STM3 Eye | STS3 Eye | 000.15552 - STS3Eye.mskx This electrical mask does not have supported alignment methods. You can load these masks and align them manually, but eye measurements will not be supported.
621.8 Mb/s | STM4/OC12 | STM4/OC12 | 000.62208 - STM004_OC12.mskx
1.244 Gb/s | STM8/OC24 | STM8/OC24 | 001.24416 - STM008_OC24.mskx
2.488 Gb/s | STM16/OC48 | STM16/OC48 | 002.48832 - STM016_OC48.mskx
2.4876 Gb/s | STM16/G.691 | STM16 G.691V2.0 | 002.48832 - STM016_G.691_V2.0.mskx
9.953 Gb/s | STM64/OC192 | STM64/OC192 | 009.95328 - STM064_OC192.mskx
10.664 Gb/s | STM-64/OC-192 FEC | STM-64/OC-192 FEC | 010.66432 - STM64_OC192FEC_10_664.mskx
10.709 Gb/s | STM-64/OC-192 FEC | STM-64/OC-192 FEC | 010.70900 - STM64_OC192FEC_10_709.mskx
10.70900 Gb/s | OTU2 | OTU2 | 010.70900 - OTU2_10_709.mskx
11.0957 Gb/s | OTU2e | OTU2e | 011.09570 - OTU2e_11_0957.mskx
12.5 Gb/s | STM-64/OC-192 Super FEC | 10xGB Ethernet | 012.50000 - STM64_OC192SuperFEC_12_5.mskx
39.812 Gb/s | STM256/OC-768 | STM256/OC768 | 039.81312 - STM256_OC768.mskx
XAUI Masks
Data Rate | Standard | Mask Name in Results Panel | File Name
3.1250 Gb/s | XAUI-E Far | XAUI-E Far | 003.1250 - XAUI-E_Far_May02.mskx
 | XAUI-E Near | XAUI-E Near | 003.1250 - XAUI-E_Near_May02.mskx


Exit Mask Test

Click Exit Mask Test to exit and end the mask test. You can also click Measure > Eye/Mask Mode > Mask Test > Exit Mask Test. After you exit a mask test, mask testing stops, the currently loaded mask is cleared from the display, and the mask test results panel is closed.


Optical Channel Filters

SONET/SDH, Gigabit Ethernet, and Fibre Channel standards specify both a mask and a specific channel frequency response for consistency in standard measurements. This bandwidth is achieved using the filters in a module's optical channels. Available filters are dependent upon the type of plug-in module used. To turn on an optical filter, open the Channel Setup dialog box and select Filter On in the Reference Filter field. Using a standard mask with a standard frequency response allows you to verify transmitter performance for standard compliance.


Load Mask File

Click Load Mask File to load a standard digital communications masks or to open one of your own mask files. You can also click Measure > Eye/Mask Mode > Mask Test > Load Mask File. Mask files use the filename extension .mskx. If you have created your own custom masks, use the drop-down to navigate to the file location of your custom masks. When a mask is opened, FlexDCA scales the mask X and Y parameters to the waveform. After the mask is loaded, you can change the waveform's vertical or horizontal scale or position without affecting the mask. The mask tracks the waveform as the waveform's parameters are modified.

To Load a Mask

  1. In the Mask Test toolbar, click the Load Mask File button.
  2. In the Open Mask File dialog box, click the Masks button. The contents of the default folder for storing masks will be viewed.
  3. Shortcuts to the folders that contain standard digital communications masks should be visible. To open a standard mask, open one of these folders and select a mask file. To open a custom mask file that you have made, navigate to the file and select it.
  4. Click Open to load the mask. The dialog box closes and, if a waveform is visible, the mask appears on the display.

Note

After a mask is loaded, it remains loaded until you perform a default setup or load a different mask. This feature allows you to load a mask only one time if testing multiple devices against the same mask.

Note

Any change to the waveform setup resets the measurement database and starts the acquisition of new data. The mask test also stops and restarts with the waveform and mask hits counts reset to zero. Changing a channel's vertical scale, vertical offset, horizontal position, horizontal scale, and filter status (on or off), trigger settings, or performing an Auto Scale will also reset the measurement database.

User File Locations on 86100D

When FlexDCA is installed and embedded on the 86100D, the default location for user mask files is in the D:\User Files\Masks folder as shown in this picture. Be sure to back up your user files to prevent accidental loss of important data.

The available mask files that are provided with FlexDCA are located in the following folder:

C:\Program Files\Keysight\FlexDCA\Masks

This folder is not available for storing user files, but mask files can be copied from this folder. Shortcuts in the D:\User Files\Masks folder provide quick access to these files.

Because standard masks, the instrument application, and the operating system are located on the C: drive, keep all of your files on the D: drive and avoid making modifications to the files or folders on the C: drive.

User File Locations on PC

When FlexDCA is installed on a PC, the default location for user files is the My Documents\Keysight\FlexDCA folder as shown in this picture. Be sure to back up your user files to prevent accidental loss of important data. You can, of course, save your files to any folder on any accessible drive that you want.

The available mask files that are provided with FlexDCA are located in the following folder. Shortcuts in the My Documents\Keysight\FlexDCA folder provide quick access to these files.

C:\Program Files\Keysight\FlexDCA\Masks


Mask Test Results

DRAG & DROP RESULTS

When using FlexDCA Remote Access, you can drag-and-drop a FlexDCA results panel directly into Microsoft Excel and Word. On the Windows desktop size FlexDCA and the target application so that both are open and visible. Using the pointing device (mouse), click on the panel's tab-heading and drag the panel to the speadsheet or document. In FlexDCA embedded on the 86100D, you can accomplish this by adding a second display using Windows Extended Display mode.

The Mask Test panel is displayed whenever a mask test is started. The panel's mask identification area identifies the source waveform, the currently loaded mask, the mask standard (if identified in the mask file), date, and data rate. Click Change to select a different displayed waveform for mask testing. The Change button is only displayed if there is more than one waveform displayed.

The mask status area displays the waveform Source, Test Status, and the Align Method used: NrzEye, EcMean, or NONE. NrzEye indicates that the mask's reference point is aligned to the first eye crossing on screen for non-return to zero (NRZ) measurements. EcMean indicates that the mask's reference point is aligned to the eye crossing mean of the rise and fall time at waveform average power at the first eye crossing point. This is currently applicable to 10 GbEthernet masks. NONE specifies no alignment takes place.

Waveforms shows the number of waveforms acquired for the mask test. Samples shows the number of acquired data samples.

Mask Violations are shown for each mask region. If mask margins are enabled, Margin Violations are displayed for each mask region.

In the Mask Test Margin dialog box, if the mask margins are set to be automatically sized according to an entered hit ratio, then the panel shows both the entered Hit Ratio and the calculated percent of confidence (+/−%) of the margin setting for the entered hit ratio. These entries are shown in the above figure. The Hit Ratio sizes the margins so that:

Where Total Samples is the number of samples in one UI and not the total samples acquired.

On the displayed mask, a blue number identifies each mask region listed in the results panel. (Note that the following picture is not from the same mask test as the above results table.)

For Positive Mask Margins

  • Total Standard Mask Violations show the number of data points sampled in the mask regions (mask failures). This count does not include any point within the margin area
  • Total Margin Mask Violations show the number of data points sampled in the mask margin regions (margin failures). This count does include any point within the standard mask area.

Positive Mask Margins (+20% margin)

For Negative Mask Margins

  • Total Standard Mask Violations show the combined number of data points sampled in the mask regions and mask margin regions (mask failures). This count does include points within the margin area.
  • Total Margin Mask Violations show the number of data points sampled in the mask margin regions (margin failures). This count only includes points within the margin but not outside the margin area into the standard mask area.

Negative Mask Margins appear inside the mask regions. (–20% margin)

Panel Buttons

In the results panel, click the Limits button to apply mask limit testing to any specific mask region or mask margin region. This opens the Measurement Limit Test dialog box. All values shown in the mask measurements results area (except for Align Method, Test Status and Source) can be selected for limit testing. To test for the total violations from all mask and mask margin regions, use the Mask Test Limits dialog box. Click Measure > Limit Tests > Mask Test Limits.

Click the Details button to open this help topic for the selected panel item.


Creating Masks

GRAPHICAL MASK TOOL

If you want to create an NRZ mask using a graphical user interface, use the Create NRZ Mask tool. This tool is available in the legacy user interface of 86100D instruments. Be sure to save the mask file in the .msk format. You can then load the .msk file into FlexDCA to perform mask testing, but you cannot save the file in the new .mskx format. You can manually convert an .msk file into a .mskx file using an ASCII editor as described in this topic.

When an available standard mask is not suitable for your application, you can create a new custom mask using an ASCII editor, such as Microsoft® Notepad. Or, you can edit a copy of any of the available standard masks. FlexDCA mask files (*.mskx) use an XML-based format that is very different from the legacy 86100D's ASCII mask files (*.msk). You build your XML file using the elements documented in this topic. If you're not familiar with writing XML, there are many widely available introductory books as well as web sites that you can consult. This topic is not intended to teach XML.

Note

The XML elements that are used to define masks are not the same as the elements used for creating limit lines in Oscilloscope and TDR/TDT modes.

XML Elements and Hierarchy

Using a text editor, open any FlexDCA mask file. If you are familiar with XML, you'll notice that mask files do not include an XML declaration at the top of the file. XML is case sensitive. All content in mask files must be enclosed by an element. Each element must begin with an opening tag and end with a closing tag. Opening tags are enclosed in < > characters, for example, <Mask>. Closing tags are enclosed in </ > characters, for example </Mask>. <Mask> is the root element, and it is a required element that must begin every file.

The following list shows the XML elements and their hierarchy, which allows you to visualize that, for example, <Polygon> is the child of <Region> and the parent of <Vertex>. Click on the elements to learn about their use.

  • <Mask>
  • <Title>
  • <Standard>
  • <Date>
  • <DataRate>
  • <Region>
  • <Polygon>
  • <Vertex>
  • <Setup>
  • <MaskAlignMethod>
  • <MaskYAlignMethod>
  • <MaskAlignmentOptimize>
  • <MaskX1>
  • <MaskYTrack>
  • <MaskScaleMode>
  • <MaskY1>
  • <MaskY2>

Comments

You can add comments to your mask files to document the mask's use and construction. To create a comment use the <!-- and --> delimiters as shown here:

<!-- This is my comment! -->

Comments can be on their own line, at the end of a line, or extend over several lines.

  • <Mask>
  • <Title>10GbE 10.3125</Title>
  • <Standard>Ethernet</Standard>
  • <Date>05/01/2002</Date>
  • <DataRate>1.031250e+010</DataRate>
  • <!-- Center Mask Region -->
  • <Region Number="1"> <!-- Mask Region 1 -->
  • …
  • …
  • </Region>
  • …
  • …
  • </Mask>

Mask File Preamble

The <Mask> root element should be followed by three metadata elements and the <DataRate> element. The three metadata elements are <Title>, <Standard>, and <Date>. The following example shows the first five lines of any mask file:

  • <Mask>
  • <Title>10xGB Ethernet</Title>
  • <Standard>Ethernet</Standard>
  • <Date>Oct 23, 2010</Date>
  • <DataRate>1.250000e+010</DataRate>
  • …
  • …
  • </Mask>

Creating Mask Violation Areas

Each mask violation region is defined with the <Region> element. The following picture shows a mask that has three regions. Each region in a mask must define three polygons using three separate <Polygon> elements. One <Polygon> draws the standard polygon, one <Polygon> draws the maximum mask-margin polygon, and one <Polygon> draws the minimum mask-margin polygon.

The <Vertex> element is used to define the X and Y coordinates of each vertex of a polygon. A polygon must have at least three vertices. A relative coordinate system is used based on an eye diagram's zero level, one level, and crossing points. For more information, refer to the <Vertex> element topic.

There are no elements for defining mask margins.

Mask File <Setup> Element

Every mask file ends with the <Setup> element. The available child elements configure the mask settings of the Mask Test Scaling dialog box and the Configure Measurements dialog box's Mask Test tab.


<DataRate> Element

The <DataRate> element is required, as the inverse of the data rate establishes the Delta Time setting in the Mask Test Scaling dialog box. This specifies the bit period in seconds. This is the time difference between the eye-diagram's crossing points. The data rate is also written on the Mask Test panel as shown in the following figure. The data rate string should be written in exponential notation as shown in the example at the end of this topic. Notice that the proper units have been appended on the label. The label string is automatically truncated to fit the available space on the panel. If the element is missing or its content is empty, 0 b/s is written on the Mask Test panel.

Parent Elements

Mask

Child Elements

None.

Attributes

None.

Example

  • <DataRate>1.031250e+010</DataRate>


<Date> Element

The <Date> metadata element provides the date that the associated standard was established. It should not represent the date that the mask file was created. The content is a string that is written on the Mask Test panel as shown in the following figure. The content string should be in the form month/day/year. The day must be a value of 01 to 31 and cannot be omitted. For example, if the date is May of 2002, the string should be written as:

<Date>05/01/2002</Date>

Do not write the string as:

<Date>05/2002</Date>

or,

<Date>05/00/2002</Date>

The element's contents can be empty. Although this element is optional, it is recommended that you include it in all your mask files as additional uses for this tag may be supported by future FlexDCA revisions.

Parent Elements

  • <Mask>

Child Elements

None.

Attributes

None.

Example

  • <Date>05/01/2002</Date>


<Mask> Element

<Mask> is the root element. This element is required and is the ancestor of all other elements. This element should immediately be followed by the three metadata elements <Title>, <Standard>, and <Date> and then by the <DataRate> element as shown in the following example.

Parent Elements

None.

Child Elements

All other elements.

Attributes

None.

Example

  • <Mask>
  • <Title>10GbE 10.3125</Title>
  • <Standard>Ethernet</Title>
  • <Date>05/01/2002</Date>
  • <DataRate>1.031250e+010</DataRate>
  • …
  • …
  • </Mask>


<MaskAlignmentOptimize> Element

The <MaskAlignmentOptimize> element enables (ON) or disables (OFF) optimization of the placement of the center mask region during mask alignment. It affects the operation of mask alignment (<MaskAlignMethod>). When optimization is on, during mask alignment the center region (region 1) is offset along the X-axis to achieve the best mask test margin. The amount of offset is in the range of ±25% of the unit interval. The default state is off whenever a mask file is loaded.

Note

Not all mask test standards allow optimization. Optimization is enabled in mask files provided by Keysight Technologies as allowed by relevant standards. To ensure conformance, consult appropriate standards documents before enabling optimization.

Parent Elements

  • <Setup>

Child Elements

None.

Attributes

None.

Example

  • <MaskAlignmentOptimize>ON</MaskAlignmentOptimize>


<MaskAlignMethod> Element

The element's content specifies the alignment used to align a mask. The elements contents can be NRZEYE, ECMEAN, or NONE. NRZEYE aligns the mask reference point to the first eye crossing on screen for non-return to zero (NRZ) measurements. It is the default method. ECMEAN aligns the mask reference point to the eye crossing mean of the rise and fall time at waveform average power at the first eye crossing point. This is currently applicable to 10 Gb Ethernet masks. NONE specifies no alignment takes place.

This element sets the Alignment Method field in the the Configure Measurements dialog box (Measure > Configure Base Measurements > Mask Test tab). It also labels the Mask Test panel as shown in the following figure.

Note

The masks provided for SONET STS1 and STS3 include the AMIEYE and CMIEYE alignment method strings. These alignment methods are not currently supported by FlexDCA and, when the mask loads, result in the message "This mask file is not fully supported".

Parent Elements

  • <Setup>

Child Elements

None.

Attributes

None.

Example

  • <MaskAlignMethod>NRZEYE</MaskAlignMethod>


<MaskScaleMode> Element

The element's content specifies the mask scaling mode to ensure that the mask will be properly loaded and adjusted on the screen. The elements contents can be XANDY or XONLY. XANDY specifies that when a mask is loaded and aligned, the time value reference point (X) and vertical scaling points (Y) are adjusted. XANDY applies to all non fixed-voltage masks and is the default setting. XONLY specifies that only the time value reference point (X) is adjusted. The vertical scaling points (Y) remain fixed. XONLY applies to fixed voltage masks and must be specified for fixed-voltage masks.

This element sets the Mask Scale Mode field in the the Configure Measurements dialog box (Measure > Configure Base Measurements > Mask Test tab).

Parent Elements

  • <Setup>

Child Elements

None.

Attributes

None.

Example

  • <MaskScaleMode>XANDY</MaskScaleMode>


<MaskX1> Element

Use this element to shift the X-axis starting position for a mask from the eye diagram's first eye crossing. This element sets the Position field in the the Mask Test Scaling dialog box (Measure > Eye/Mask Mode > Mask Test Scaling).

Parent Elements

  • <Setup>

Child Elements

None.

Attributes

None.

Example

  • <MaskX1>60e-012</MaskX1>


<MaskY1> Element

Use this element to shift the mask's Y-axis position as it sets the voltage level of a logic 0. The mask vertices are defined in relation to the specified logic 0 and logic 1 levels. Use the <MaskY2> element to set the logic 1 level. The element's value is the logic 0 level in Volts. For example, entering a value of "−0.2" indicates −200 mV as shown in the example in this topic.

The element sets the <MaskScaleMode> to XONLY. It also sets the Logic 0 Level in the the Mask Test Scaling dialog box (Measure > Eye/Mask Mode > Mask Test Scaling).

Parent Elements

  • <Setup>

Child Elements

None.

Attributes

None.

Example

  • <MaskY1>-0.2</MaskY1>


<MaskY2> Element

Use this element to shift the mask's Y-axis position as it sets the voltage level of a logic 1. The mask vertices are defined in relation to the specified logic 0 and logic 1 levels. Use the <MaskY1> element to set the logic 1 level. The element's value is the logic 1 level in Volts. For example, entering a value of "+0.2" indicates 200 mV as shown in the example in this topic.

The element sets the <MaskScaleMode> to XONLY. It also sets sets the Logic 1 Level in the the Mask Test Scaling dialog box (Measure > Eye/Mask Mode > Mask Test Scaling).

Parent Elements

  • <Setup>

Child Elements

None.

Attributes

None.

Example

  • <MaskY2>+0.2</MaskY2>


<MaskYAlignMethod> Element

The element's content specifies the mask's Y-axis alignment according to the eye's display or boundaries. Elements contents can be DISP or EWIN. DISP sets the alignment to the display (Vtop and Vbase). EWIN sets the alignment to the Eye Boundaries (Vone and Vzero). This element sets the Y-Axis Mask Align Measurement Area field in the the Configure Measurements dialog box (Measure > Configure Base Measurements > Mask Test tab).

Parent Elements

  • <Setup>

Child Elements

None.

Attributes

None.

Example

  • <MaskYAlignMethod>EWIN</MaskAlignMethod>


<MaskYTrack> Element

The element's content enables or disables tracking between the Y1 and Y2 levels. Tracking ON links the y-axis scaling of the logic 0 and 1 levels. For example, if the logic 1 level increases, the logic 0 level increases by the same amount. The contents can be OFF or ON (default value).

The element sets the <MaskScaleMode> to XONLY. It also sets the Logic Levels Track setting in the the Mask Test Scaling dialog box (Measure > Eye/Mask Mode > Mask Test Scaling).

Parent Elements

  • <Setup>

Child Elements

None.

Attributes

None.

Example

  • <MaskYTrack>OFF</MaskYTrack>


<Polygon> Element

The <Polygon> element defines the shape of a mask violation region. Each <Region> should contain three <Polygon> elements: one with an attribute value of Standard, one with an attribute value of MinMargin, and one with an attribute value of MaxMargin.

The Standard polygon defines the basic shape for the mask region. The MinMargin and MaxMargin polygons define the minimum and maximum limits of the mask margin adjustment range. During mask testing, the actual mask margin is entered using the Mask Test Margins dialog box (Measure > Eye/Mask Mode > Mask Test Margins); there is no element for setting the mask margin in the mask file.

The Standard polygon defines the basic shape for the mask region. This picture shows a 10 Gb Ethernet mask with mask margins turned off (0%) in the Mask Test Margins dialog box.

Entering positive values in the dialog box expands the margin from the standard shape (0%) to the shape drawn by the MaxMargin polygon (+100%). This results in a guard band that increases the possibility of a test failure due to margin violations. This picture shows 50% mask margins.

Enterning negative values cause the margin to encroach into the standard shape drawn by the MinMargin polygon (–100%). This results in a relaxed test that decreases the possibility of a test failure due to mask violations. This picture shows –50% mask margins.

If the mask file does not include the MinMargin and MaxMargin polygons definitions, the "Missing mask margin definition for region X" message is displayed when the mask is loaded and you will not be able to use mask margins. The actual shape of polygons are drawn using the <Vertex> element.

Parent Elements

  • <Region>

Child Elements

  • <Vertex>

Attributes

Name | Value | Description
Type | Standard | Draws the standard mask violation polygon.
 | MinMargin | Draws the minimum mask margin polygon.
 | MaxMargin | Draws the maximum mask margin polygon.

Example

Refer to the <Vertex> element to learn how to specify the X and Y coordinates.

  • …
  • …
  • <Region Number="1">
  • <Polygon Type="Standard">
  • <Vertex>0.22, 0.5</Vertex>
  • …
  • </Polygon>
  • <Polygon Type="MinMargin">
  • <Vertex>0.5, 0.5</Vertex>
  • …
  • </Polygon>
  • <Polygon Type="MaxMargin">
  • <Vertex>0, 0.5</Vertex>
  • …
  • </Polygon>
  • </Region>
  • <Region Number="2">
  • <Polygon Type="Standard"> … </Polygon>
  • </Region>
  • …
  • …


<Region> Element

Each mask violation area (polygon shape) in your mask is defined by a <Region> element. Every mask file must define at least one region. When defining mask regions it is a common and recommended practice to label the center region as region 1. Each <Region> must contain contain three <Polygon> elements, one with an attribute value of Standard, one with an attribute value of MinMargin, and one with an attribute value of MaxMargin.

Parent Elements

  • <Mask>

Child Elements

  • <Polygon>

Attributes

Name | Value | Description
Number | integer | This is a unique identifier for a polygon shape.

Example

  • <Region Number="1">
  • <Polygon Type="Standard">
  • …
  • …
  • </Polygon>
  • <Polygon Type="MinMargin">
  • …
  • …
  • </Polygon>
  • <Polygon Type="MaxMargin">
  • …
  • …
  • </Polygon>
  • </Region>
  • …
  • …


<Setup> Element

The child elements of the <Setup> element configure settings in the Mask Test tab of the Configure Measurements dialog box and the Mask Test Scaling dialog box as shown by the following figures. The child element <MaskAlignmentOptimize> does not have an equivalent dialog box setting. Also, there is no element for the Configure Measurements dialog box's Alignment Timing selection.

Figure. Elements for Mask Test Tab of Configure Measurements Dialog Box

Figure. Elements for Mask Test Scaling Dialog Box

Note

If you do not define a mask setup section in your mask file, the setup data from the last mask that was loaded will be used. This could cause unexpected or erroneous positioning of the mask.

Parent Elements

  • <Mask>

Child Elements

  • <MaskAlignMethod>
  • <MaskYAlignMethod>
  • <MaskAlignmentOptimize>
  • <MaskX1>
  • <MaskYTrack>
  • <MaskScaleMode>
  • <MaskY1>
  • <MaskY2>

Attributes

None.


<Standard> Element

The optional <Standard> metadata element provides the name of the standard that the mask tests against. The content is a string that is written on the Mask Test panel as shown in the following figure. The string is truncated to fit the available space on the panel. The element's contents can be empty. Although this element is optional, it is recommended that you include it in all your mask files as additional uses for this tag may be supported by future FlexDCA revisions.

Parent Elements

  • <Mask>

Child Elements

None.

Attributes

None.

Example

  • <Standard>Ethernet</Title>


<Title> Element

The required metadata element <Title> identifies the mask by placing a label on the Mask Test panel as shown in the following figure. For example, the text "10Gb Ethernet" is shown in the picture. The string is automatically truncated to fit the available space on the panel.

Parent Elements

  • <Mask>

Child Elements

None.

Attributes

None.

Example

  • <Title>10Gb Ethernet</Title>


<Vertex> Element

The contents of the <Vertex> element defines one vertex of a polygon region. You need an element to define each vertex of your polygon. For example, drawing a hexagon requires six <Vertex> elements. You must list your vertices in clockwise or counter-clockwise order around the polygon's shape starting at any vertex. Listing vertices in a random order results in an invalid mask file.

Contents

The content of this element consists of two comma-separated numbers. The first number is the vertex's X coordinate. The second number is the vertex's Y coordinate. The vertex values are normalized to simplify using the masks for different data rates and logic levels. For example, if you halve the period of the waveform, you need only adjust the ΔX value to set up the mask for the new waveform.

X Value

The vertex's X value represents the vertex's position as a ratio of the ΔX distance measured from the X scaling position. Unless the <MaskX1> element is used, the X scaling position is located at the eye diagram's first crossing point. The <DataRate> element establishes the ΔX time which is the span between the crossing points. For example, an X vertex value of 0.5 would position the vertex half of the ΔX time from the X scaling position.

Tvertex = (Xvertex × TΔX) + TX

Where:

  • Tvertex equals the time at the vertex.
  • Xvertex is the vertex's horizontal position as a ratio of the ΔX time measured from the X scaling position.
  • TX is the X scaling position in seconds.
  • TΔX is the ΔX time in seconds.

For example, if you set Xvertex to .100, TΔX to 100 ms, and TX to 100 ms, the time at the vertex (Vvertex) is 110 ms.

Y Value

The vertex's Y value represents the vertex's position expressed as a ratio of the difference between the logic 1 and logic 0 values. For example, a value of 0.5 would position the vertex midway between the logic levels. Specifying a vertex's Y value of 0 would place it at logic level 0. Specifying a vertex's Y value of 1 would place it at logic level 1. The following equation gives the relationship between logic levels, the vertex's Y value, and the voltage level at the vertex. The Y value can also be set to Infinity or –Infinity.

Vvertex = Yvertex (VY2 − VY1) + VY1

Where:

  • Vvertex equals the voltage level at the vertex.
  • Yvertex is the vertex's vertical position expressed as a ratio of the difference between the logic 1 and logic 0 values.
  • VY2 is the logic 1 voltage.
  • VY1 is the logic 0 voltage.

For example, if you set VY1 to 100 mV, VY2 to 1V, and Yvertex to 0.100, the voltage level at the vertex (Vvertex) is 190 mV.

Parent Elements

<Polygon>

Child Elements

None.

Attributes

None.

Example

The following example creates the mask region shown in this picture. The vertex labels on this picture are provided for this example only and are not on the actual displayed mask. The comments in the following example code identify their associated vertex in the picture.

  • …
  • …
  • <Region Number="1">
  • <Polygon Type="Standard">
  • <Vertex>0.22, 0.5</Vertex> <!-- vertex 1 -->
  • <Vertex>0.375, 0.8</Vertex> <!-- vertex 2 -->
  • <Vertex>0.625, 0.8</Vertex> <!-- vertex 3 -->
  • <Vertex>0.78, 0.5</Vertex> <!-- vertex 4 -->
  • <Vertex>0.625, 0.2</Vertex> <!-- vertex 5 -->
  • <Vertex>0.375, 0.2</Vertex> <!-- vertex 6 -->
  • </Polygon>
  • </Region>

Note

For Y values, the special value MIN automatically defines the bottom graticule, and MAX automatically defines the top graticule even when scaling is changed from the front panel or remote commands.


Average Power

Average Power is a measure of the true average component of an optical signal. A waveform annotation label is placed on the average power result. Since the average power is calculated over the entire display graticule, you will notice that this label tracks the average power result across the graticule. This measurement is commonly used when identifying the fundamental parameters of a lightwave transmitter. However, it differs from other measurements because it does not rely on the waveform display in order to determine the measurement. You can measure the average power of an eye diagram. Average power is a measure of the true average component of an optical signal.

Note

The average power measurement is only available when using the modules with integrated optical detectors (optical/electrical modules). Average power measurements cannot be made on simulated channels.

To determine average power, the internal photo detector receives the optical signal and converts this waveform to an electrical signal. The DC component of the photocurrent is measured. The photo detector is calibrated based on the wavelength selected, to give an accurate measurement of average power. The average power is determined as follows:

The measurement units (Watts or dBm) are selected at the time that the measurement is turned on. If Watt is selected, the instrument applies the appropriate prefix, relative to the signal size, to the linear power units. For example, the results of an average power measurement may be displayed as 10 mW.

Note

In order to get an accurate average power measurement, you must select a factory calibrated wavelength or a user-defined wavelength (within the wavelength range of the selected module). These selections are made in a Channel Setup dialog box's Advanced section. If you define a wavelength, you must perform an optical channel user calibration, which compensates for a module's photodetector responsivity at the specified wavelength. This calibration must be performed on the 86100D and can not be made from within FlexDCA.

Note

If an extremely large value for average power is measured, the module may have lost the factory optical channel calibration. For example, a value of 260W may be displayed for a 100 mW signal. You can also perform an optical responsivity calibration for a user-defined wavelength.

Configurable Measurement Parameters

This measurement is not affected by setting in the Configure Base Measurements dialog box.

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Average Power button.
  4. Click the button.
  5. Select dBm or Watts for the measurement units.


Bit Rate

Bit rate is the inverse of bit period (1/bit period). Two annotation labels are placed at the crossing points of the eye diagram. The bit period is a measure of the horizontal opening of an eye diagram at the crossing points of the eye. The crossing points of the eye are first located. One waveform annotation label is placed on the rising edge of the waveform as it crosses the middle threshold. The other label is placed on the falling edge as it crosses the middle threshold. Then a vertically thin measurement window is placed horizontally through the crossing points. The data within this measurement window is analyzed. This measurement window is created to be extremely small so that the width of the crossing points is not affected by the rise time and fall time of the waveform. Once the bit period has been determined, the inverse value is calculated to determine the bit rate (bit rate = 1 / bit period).

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Bit Rate button.
  5. Click the button.


Crossing Percentage

Crossing percentage is a measure of the amplitude of the crossing points relative to the one level and zero level. Five annotation labels are placed on the eye diagram: one label at the eye crossing point and the remaining two sets of level labels at the mean value of the one level and the mean value of the zero level. The one and zero level measurements are made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period.

A vertically thin measurement window is placed horizontally through the crossing points, and a horizontal histogram is used to determine the mean location (in time) of the crossing point.

A narrow vertical histogram is used to determine the amplitude of the crossing points.

The mean derived from the horizontal and vertical histogram results in the amplitude of the crossing point . Crossing percentage is then determined by the following:

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Crossing % button.
  5. Click the button.


Crossing Time

Crossing time is a measure of time from the horizontal reference point to the eye diagram's crossing point. The horizontal reference point defines a specific delay value relative to the trigger event and is marked by the gray triangle shown on the top left or top center edge of the graticule. Crossing time is the time when the crossing data point was sampled, relative to the trigger event.

A vertically thin measurement window is placed horizontally through the crossing point, and a horizontal histogram is used to determine the mean location (in time) of the crossing point.

This measurement is not available on the standard 86100D user interface.

Configurable Measurement Parameters

None.

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Crossing Time button.
  5. Click the button.


Database Peak Hits

Database Peak Hits identifies the measurement database location that has recorded the highest (peak) number of hits. The measurement database consists of all data samples displayed on the display. Every time a display sample point is acquired on a display coordinate, the counter for that coordinate is incremented. This database bucket which records the highest number of hits is annotated on the waveform as shown in the picture to the right. As time progresses and more measurement points are recorded in the database, the database bucket with the peak hits changes and the Peak annotation moves to reflect this. The number of peak hits for the current annotated database location is listed in the Measurement Results table as shown in the following picture, which in this example is 214 hits.

Note

This measurement is not available on the standard 86100D user interface.

Configurable Measurement Parameters

None.

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Database Peak Hits button.
  5. Click the button.


Delta Time

Use Δ Time (Delta Time) to measure the time differences between two waveforms as measured at the first crossing points. If only one waveform is displayed, the measured Δ Time is 0s. Annotation labels are placed at each crossing point. When this measurement is selected, you must choose which waveform is Signal 1 (Start measurement annotation) and which waveform is Signal 2 (Stop measurement annotation). If the waveforms are selected such that the Stop annotation occures in time before the Start annotation, the measured time will be a negative value.

This measurement is not available on the standard 86100D user interface.

Configurable Measurement Parameters

None.

To measure

  1. Select Eye/Mask Mode.
  2. Display two waveforms.
  3. Click the toolbar's Eye Meas tab.
  4. Click Auto Scale in the menu bar.
  5. Click the More button to locate the Δ Time button.
  6. Click the button.
  7. Select which waveform is Signal 1 (Start measurement annotation) and which waveform is Signal 2 (Stop measurement annotation).


Duty Cycle Distortion

Duty Cycle Distortion is a measure of the time separation between the rising edge and falling edge at the 50% level of the eye diagram (middle threshold). Duty Cycle Distortion is caused by ones having a different duration than zeros. Two annotation labels are placed at the middle threshold of the eye diagram. One label is positioned on the rising edge of the waveform as it crosses the middle threshold. The other label is placed on the falling edge as it crosses the middle threshold. A histogram is constructed that records the time at which the rising edge and falling edge cross the middle threshold. Ideally, both the rising and falling edges intersect precisely at the 50% threshold level, which would be the result of zero duty-cycle distortion.

Duty cycle distortion is then determined as follows:

Note

This algorithm is dependent upon the edge that crosses the threshold first. Therefore, the falling edge may occur prior to the rising edge.

You can choose to view duty cycle distortion expressed as time or percentage of the time difference relative to the full bit period. The duty cycle distortion is then determined by the following:

If time format is selected, the measurement is listed in the table as DCD[Time]. If percent format is selected, the measurement is listed in the table as DCD[%].

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab
  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Duty Cycle Distortion button.
  5. Click the button and select the Duty Cycle Distortion Format: Time or %.


Extinction Ratio

Extinction ratio is the ratio of the one level and the zero level of an eye diagram of an optical signal.

Dark Calibration

The accuracy of the extinction ratio measurement can be affected by offsets, including the dark level, generated within the instrument electronics, typically following the photodiode. Offsets add to the incoming signal changing the values of the one and zero levels. This may decrease or increase the measurement result. To minimize extinction ratio measurement errors due to offsets, first perform a dark calibration.

Note

Perform an extinction ratio calibration if there is no current calibration. If you have previously performed an extinction ratio calibration and a change to the environment of the instrument occurs, you may want to perform a new extinction ratio calibration to ensure the accuracy of the earlier calibration. These environment changes are as follows:· vertical scale is modified, vertical offset is modified, module is installed/removed, ± 1°C temperature change from calibration temperature, approximately 8 of hours of continuous operation is exceeded, or power is cycled.

Note

The vertical scale setting affects the magnitude of the dark level offset. For best accuracy, perform the extinction ratio calibration at the vertical scale at which you will make your measurement.

Extinction-Ratio Correction Factors

Use extinction-ratio correction factors is to compensate for the frequency response of a module's internal reference receiver filter for an optical channel. The 86105C module has recommended correction factors for each of the module's reference receiver filters. When you select an 86105C filter, the recommended correction factor is automatically selected for the extinction-ratio measurement. Correction factors are also useful when an external photodetector is connected to an electrical channel. Use the Extinction Ratio tab of the Configure Measurements dialog box, to apply extinction ratio correction factors. Whenever a correction factor value is applied to a measurement, the entered value is displayed using the ERCF annotation on the measurement Results panel (for example, ERCF: 0.2%).

If the entered correction factor value results in an invalid measurement (negative value), the term CorrFactor? is shown on the panel instead of the measurement result.

Measurement Algorithm

This measurement is made in a section of the eye referred to as the eye window boundaries. The default value for NRZ eye window boundaries is the central 20% of the bit period (40% for Eye Boundary 1 and 60% for Eye Boundary 2 ). You can redefine the boundaries in the Eye Boundary tab of the Configure Base Measurements dialog box. Histograms are constructed using the sampled portions of the eye diagram within the eye window boundaries. One histogram is comprised of data points from only the upper half of the eye diagram (one level). The second histogram is comprised of data points from the lower half of the eye (zero level). The histograms are analyzed to determine the histogram means.

The following graphic illustrates how the histogram is constructed on an eye diagram that is pattern dependent. Pattern dependency is the behavior of a waveform as it is influenced by the preceding data pattern. For example, a logic level one that follows a logic level zero may have a different amplitude than a logic level one that follows a previously generated logic level one.In this example, there are two distinct one levels. A histogram is constructed using the data points from the one level and the histogram mean is determined.

Increasing the vertical scale sensitivity for a large eye diagram display typically yields a more accurate measurement. With a valid extinction ratio calibration, the extinction ratio measurement is computed and can be displayed in one of the three following formats:

Since the extinction ratio measurement is based on the histogram means of the one and zero levels, noise on the waveform typically does not have a significant effect on the accuracy of the measurement.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Extinction Ratio tab
  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode and set the vertical scaling to the desired level for the signal.
  2. Click Tools > Calibrations.
  3. Select Vertical Calibration for the required module.
  4. When the calibration is complete, select and run the Dark Calibration.
  5. Click the toolbar's Amplitude tab.
  6. Click the toolbar's More buttons to locate the Extinction Ratio button.
  7. Click the button.


Eye Amplitude

Eye amplitude is the difference between the logic 1 level and the logic 0 level histogram mean values of an eye diagram. This measurement is made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period. Two pairs of annotation labels are placed on the eye diagram. The instrument positions one pair at the one level. The other pair is placed at the zero level.

A histogram is constructed using the sampled portion of the eye diagram within the eye window. This histogram is comprised of data points from the upper and lower halves of the eye diagram and is used to determine the mean values of the logic 1 and logic 0 levels. The eye amplitude is determined as follows:

eye amplitude = one level histogram mean − zero level histogram mean

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Eye Amplitude button.
  5. Click the button.


Eye Height

Eye height is a measure of the vertical opening of an eye diagram. An ideal eye opening would be measured from the one level to the zero level. However, noise on the eye will cause the eye to close. The eye height measurement determines eye closure due to noise. Four annotation labels are placed at the eye opening. Two labels are placed at the mean value of the one level and two at the mean value of the zero level. Each set of labels resides on the eye boundaries. In order to make an accurate eye height measurement, histograms are constructed to characterize both the one and zero levels and their noise levels within the eye window boundaries. The one and zero level measurements are made in a section of the eye referred to as the eye window boundaries. The default value for NRZ eye window boundaries is the central 20% of the bit period.

The one and zero levels are the relative means of the histograms. The noise is measured through the histograms as three standard deviations from both the one level and zero level into the eye opening.

The eye height is determined as follows:

You can also choose to view eye height as a ratio of the Eye Height to Eye Amplitude measurements, which indicates how much the eye diagram has closed due to noise. If Amplitude format is selected, the measurement is listed in the table as Eye Height[Ampl]. If ratio format is selected, the measurement is listed in the table as Eye Height[Ratio].

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the button and select the measurement format: Amplitude or Ratio.


Eye Width

Eye Width is a measure of the horizontal opening of an eye diagram. Two coordinate annotation labels are placed at the eye crossings. One label is placed at the left side crossing and the other label at the right eye crossing. Ideally, the eye width would be measured between the crossing points of the eye. However, jitter may appear on the waveform and influence the eye opening. To compute eye width, the crossing points of the eye are first located. Then a vertically thin measurement window is placed horizontally through the crossing points. The data within this measurement window is analyzed. This measurement window is created to be extremely small so that the width of the crossing points is not affected by the rise time and fall time of the waveform.

The eye width is determined by measuring the noise through the histograms as 3σ (standard deviation) from both the crossing points into the eye opening.

You can also choose to view eye width as a ratio of the time difference between the 3 σ points of the crossing point histograms relative to the time between adjacent crossing points (bit period).

If time format is selected, the measurement is listed in the table as Eye Width[Time]. If ratio format is selected, the measurement is listed in the table as Eye Width[Ratio].

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Eye Width button.
  5. Click the button and select the measurement format: Time or Ratio.


Fall Time

Fall Time is a measure of the mean transition time of the data on the downward slope of an eye diagram. The data crosses through the following three data thresholds: the upper, middle, and lower thresholds, as well as through the eye crossing points. Annotation labels are placed on the upper level and the lower level thresholds. The default setting for the threshold levels are the 10% to 90% points on the transition.

This measurement uses the top and base levels of the signal to compute the location of the lower, middle, and upper threshold levels. A histogram is first constructed to find the V top and V base values from which the mean location of the crossing points are located relative to the V top and V base . Histograms are then constructed at each of the three threshold levels (for example, the 10%, 50%, and 90% points on the transition). Each histogram is analyzed to determine the histogram mean at which the data crosses the separate threshold levels. Once the mean location for each threshold crossed is determined, the fall time is computed.

Note

If the fall time relative to the time/division is a small value, the data acquired at the threshold levels on the falling edge will not yield accurate measurement results. (The falling edge will appear very steep on the display screen.) If the falling edge of the eye diagram is steep, decrease the horizontal time base scale so that the falling edge covers at least half a graticule division.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab
  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Fall Time button.
  5. Click the button.


Jitter

Jitter is the measure of the time variances of the rising and falling edges of an eye diagram, as these edges affect the crossing point of the eye.

One annotation label is placed at the start of the jitter and one on the end of the jitter. The labels are dependent upon the units defined. To compute jitter, the level of the crossing point of the eye is first determined. Then a vertically thin measurement window is placed horizontally through the crossing point, and a time histogram is generated. The histogram mean determines the center of the crossing points.

If you have the enhanced jitter analysis option installed, take a look at the powerful Jitter Mode feature. Jitter Mode quickly separates jitter into its components and displays measurement results using tables and graphs.

Note

It is possible to set the horizontal timebase setting too wide for a valid Jitter measurement to be made. In this case, zoom in on one edge of the waveform so that the trace width shows enough points for the instrument to construct an accurate histogram.

The measurement window is kept extremely small so that the width of the crossing point is not influenced by the rise time and fall time of the waveform. The amount of jitter on the waveform is directly related to the width of the crossing point. The histogram is analyzed to determine the amount of jitter. Jitter is measured and displayed in either of the following formats:

  • Jitterp-p is equal to the full width of the histogram at the eye crossing point.
  • JitterRMS is defined as ±1σ (standard deviation) of the crossing point histogram

If the RMS format is selected, the measurement is listed in the table as Jitter[rms]. If Peak-to-Peak format is selected, the measurement is listed in the table as Jitter[p-p].

Configurable Measurement Parameters

None.

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Jitter button.
  5. Click the button and select the jitter format: Root-Mean-Square or Peak-to-Peak.


One Level

One Level is a measure of the mean value of the logical 1 of an eye diagram. Annotation labels are placed at the logical 1 level. This measurement is made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period.

A histogram is constructed using the sampled portion of the eye diagram within the eye window. This histogram is comprised of data points from only the upper half of the eye diagram. The histogram mean is located.

The following graphic illustrates how the histogram is constructed on an eye diagram that is pattern dependent. Pattern dependency is the behavior of a waveform as it is influenced by the preceding data pattern. For example, a logic level one that follows a logic level zero may have a different amplitude than a logic level one that follows a previously generated logic level one.

You will notice when there is a vertical spreading to waveform and you are in gray scale display mode, some regions of the waveform are brighter in color than others. The brighter areas indicate a higher number of hits or sampled data points. The one level is equal to the mean of the histogram. All data at the zero level is disregarded.

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the One Level button.
  5. Click the button.


Rise Time

Rise time is a measure of the mean transition time of the data on the upward slope of an eye diagram. The data crosses through the following three thresholds: the lower, middle, and upper thresholds, as well as through the eye crossing point. Annotation labels are placed on the lower level and the upper level thresholds of the data on the upward slope of an eye diagram. The labels are dependent upon the threshold levels you have configured. The default setting for the threshold levels are the 10% to 90% points on the transition.

This measurement uses the top and base levels of the signal to compute the location of the lower, middle, and upper threshold levels. A histogram is first constructed to find the Vtop and Vbase values from which the mean location of the crossing points are located relative to the V top and Vbase. Histograms are then constructed at each of the three threshold levels (for example, the 10%, 50%, and 90% points on the transition). Each histogram is analyzed to determine the histogram mean at which the data crosses the separate threshold levels. Once the mean location for each threshold crossed is determined, the rise time is computed.

Note

If the rise time relative to the time/division is a small value, the data acquired at the threshold levels on the rising edge will not yield accurate measurement results. (The rising edge will appear very steep on the display screen.) If the rising edge of the eye diagram is steep, decrease the horizontal time base scale on the display so that the rising edge covers at least half a graticule division.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab
  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Rise Time button.
  5. Click the button.


Signal-to-Noise Ratio

Signal-to-Noise Ratio is the ratio of the signal difference between one level and zero level relative to the noise present at both levels. Four annotation labels are placed on the eye diagram. Two labels annotate the mean values of the one and zero levels, and two labels annotate the one level (minus RMS noise) and the zero level (plus RMS noise). The one and zero level measurements are made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period. Signal-to-Noise Ratio is similar in construction to a Q-factor measurement. However, because noise levels contributed by the instrument cannot be removed, a slightly pessimistic Q-factor measurement may result.

To define the signal, histograms are constructed using the sampled portions of the eye diagram within the eye window boundaries. One histogram is comprised of data points from only the upper half of the eye diagram (one level). The second histogram is comprised of data points from the lower half of the eye (zero level). The histogram means and standard deviations are determined.

The noise is defined as 1 σ (standard deviation) of the histogram at the one and zero levels.

Signal-to-noise ratio is computed as:

This measurement does not remove the effect of noise generated by the instrument. If the noise on the signal being tested is of a magnitude similar to that of the instrument or smaller, the signal-to-noise measurement error will be significant.

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Signal-to-Noise Ratio button.
  5. Click the button.


TDEC

TDEC (Transmitter and Dispersion Eye Closure) is a measurement of the quality of an optical transmitter with its optical link. TDEC is often used as a replacement for a Transmission Dispersion Penalty measurement. This measurement can be used with FlexDCA's Rapid Eye feature. If pattern lock is selected, ensure that Acquire Entire Pattern is selected.

Requirements

  • Minimum required FlexDCA software version is A.05.00.
  • N1010A-500 Productivity Package License

TDEC is the optical power penalty of the measured optical transmitter compared to an ideal transmitter. It measures the increase of optical power required for the measured optical transmitter to achieve the same eye opening of the ideal optical transmitter. The lower the TDEC measurement, the higher the quality of the measured transmitter. In the TDEC measurement, the oscilloscope acts as a reference receiver. The following optical input modules are recommended:

  • 86105D Option 281 (34 GHz optical BW)
  • 86115D Option 282 (28 GHz optical BW)

Reference Filter and Compliance Measurements

When making TDEC compliance measurements, a reference receiver 25 Gb/s filter (effective 12.6 GHz BW) is needed. The 86105D and 86115D modules with option 168 include the required filter. To select the filter, open the optical channel setup dialog box and in the Reference Filter field, select the TDEC (12.6 GHz) filter. This filter is not needed for non-compliance TDEC measurements.

When FlexDCA is not in pattern lock, additional data is acquired in the histogram window to decrease the measurement time. The histogram window is configured using the TDEC Histogram Width setting in the TDEC tab of the Configure Measurements dialog box.

When you select the TDEC measurement, you are prompted to choose the source of an OMA (Optical Measurement Amplitude) measurement value which is used to calculate TDEC. This value can be user defined or measured:

User Defined
This is the recommended selection. You must enter an OMA measurement that you have measured using the Oscilloscope mode's OMA measurement. OMA is the difference between the optical power of an NRZ one pulse and the optical power of an NRZ zero pulse. The pattern used for the OMA measurement should contain consecutive runs of ones and zeros as called out in many standards. This pattern allows the one and zero levels to settle out to minimize the effect of level transitions.
Estimated
The OMA value is derived during the TDEC measurement from the eye diagram's one and zero levels. Since these levels are not based on a pattern of consecutive ones and zeros, the resulting TDEC measurement can be too optimistic.

The TDEC measurement is affected by the settings that are located in the TDEC tab of the Configure Measurements dialog box (click Measure > Configure Base Measurements):

  • TDEC Histogram Width
  • TDEC Target BER
  • Modal Noise Factor
  • Mode Partition Noise Factor

To measure

  1. Select Eye/Mask Mode.
  2. If you are performing TDEC compliance measurement, click Setup > Modules > Channels to open the optical channel setup dialog box. In the Reference Filter field, select TDEC (12.6 GHz) filter.
  3. Select Oscilloscope Mode and perform an OMA measurement according to the applicable standard. (recommended step)
  4. Select Eye/Mask Mode.
  5. Use the TDEC tab of the Configure Measurements dialog box to customize the configuration of the measurement.
  6. Click the toolbar's Eye Meas tab.
  7. Click the TDEC button and enter the OMA measurement if performed in step 3 above.


Zero Level

Zero Level is a measure of the mean value of the logical 0 of an eye diagram. Annotation labels are placed at the logical 0 level. This measurement is made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period.

A histogram is constructed using the sampled portion of the eye diagram within the eye window boundaries. This histogram is comprised of data points from only the lower half of the eye diagram. The histogram mean is located.

The following graphic illustrates how the histogram is constructed on an eye diagram that is pattern dependent. Pattern dependency is the behavior of a waveform as it is influenced by the preceding data pattern. For example, a logic level zero that follows a logic level one may have a different amplitude than a logic level zero that follows a previously generated logic level zero.

You will notice when there is a vertical spreading to the waveform and you are in gray scale display mode, some regions of the waveform are brighter in color than others. The brighter areas indicate a higher number of hits or sampled data points. The zero level is equal to the mean of the histogram. All data at the one level is disregarded.

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Eye Boundary tab

To measure

  1. Select Eye/Mask Mode.
  2. Click the toolbar's Eye Meas tab.
  3. Click Auto Scale in the menu bar.
  4. Click the More buttons to locate the Zero Level button.
  5. Click the button.


File Management

XML FILE FORMAT

The FlexDCA files have a different format than 86100D files. Although 86100D files are not compatible with FlexDCA, some types (such as mask files) can be converted on import. FlexDCA files are identified by the letter x used in the file name extension. For example, FlexDCA setup files end in .setx instead of .set. Also, 86100D instruments can not import FlexDCA files. Refer to the table at the end of this topic for more information.

Use the File Management dialog box to manage FlexDCA folders and files and to open and import files into FlexDCA. You can also use the File > Open. command. Use the File > Save menu commands to save instrument setups, waveforms, color-grade/gray-scale memory, jitter data, JSA data, and masks. In FlexDCA, the format of the files as well as file name extensions are different from the 86100D's legacy format.

Click File > File Management to open this dialog box.

Note

Remember to always copy important settings and waveforms to an external memory device. If your original files are damaged or lost, you can restore the files from the backup.

Note

The following four types of 86100D classic files can be opened in FlexDCA. See the sidebar "XML FILE FORMAT" in this topic.

  • ASCII waveform files (*.txt)
  • ASCII pattern files (*.csv)
  • Color Grade-Gray Scale files (*.cgs)
  • mask files (*.msk)

Common File Types

Doc.
Wizard

Waveforms

Eye Diagram
Waveforms

Eye Mode
Masks

Instrument
Setups

Jitter Mode
Data

JSA Data

Limit Line Tests

S-Parameters

Screen
Images

SCPI Scripts

SIRC
Calibrations

TDR
Calibrations

User
Applications

Table of Available File Types

Location of User Files

All of the subfolders described in the table are located in the user data folder.

The following table describes the available file types and their default folders and file name extensions. When FlexDCA is installed and embedded on the 86100D, the default location for user files is on the "D" partition. FlexDCA and the legacy 86100D user interface use the same D:\User Files folders to save user files. FlexDCA files can be identified by the letter "x" in the file name extension. FlexDCA does not support MATLAB measurements or scripts, so the MATLAB Measurements and MATLAB Scripts folders are not used.

Back up your user files to prevent accidental loss of important data.

Because the 86100D's instrument application and operating system are located on the C: drive, it is best to keep all of your files on the D: drive and avoid making modifications to the files or folders on the C: drive.

Available Instrument Files for Data
Data | File Name Extension | Standard GUI |  | Legacy GUI |  | Subfolder | Description
 |  | Save | Open | Save | Open
Color Grade - Gray Scale | .cgs |  | ♦ | ♦ | ♦ | \Colorgrade-Grayscale | Saved and opened from File menu.
 | .cgsx | ♦ | ♦ |  |
De-Embedding Network Setup | .tf2, .tf4 | ♦ | ♦ |  |  | \De-Embedding Networks | On FlexDCA, opened and saved from Waveform Signal Processing's embedding and de-embedding Simulation Operators.
Documentation Wizard | .zip | ♦ | ♦ |  |  | \Documentation Results | On FlexDCA, saved from File > Documentation Wizard and Setup > Configure Multi-Purpose Wizard.
Instrument Setup | .set |  |  | ♦ | ♦ | \Setups | Saved and opened from File menu.
 | .setx | ♦ | ♦ |  |
Jitter Data | .jd |  |  | ♦ | ♦ | \Jitter Data | Saved by File > Save > Jitter Data. Opened by File > Jitter Data Memory.
 | .jdx | ♦ | ♦ |  |
 | .csv |  |  | ♦ |
Jitter Spectrum Analysis Data | .jsax | ♦ | ♦ |  |  | \Jitter Data | JSA requires an 86108A/B module be installed. JSA data is saved from File > Save > JSA Data. Loaded into JSA memory by File > JSA Data.
Limit Line Tests | .lltx |  | ♦ |  |  | \Limit Lines | Open from Measure > Oscilloscope > Amplitude > Add Limit Line Test Open from Measure > TDR/TDT > Amplitude > Add Limit Line Test
Limit Test Summaries | .sum | ♦ |  | ♦ |  | \Limit Summaries | Saved from Measure > Limit Tests.
Masks | .msk |  | ♦ | ♦ | ♦ | \Masks | Saved and opened from File menu. Can also be saved from Create Mask dialog box.
 | .mskx | ♦ | ♦ |  |
 | .pcm |  |  | ♦ | ♦
MATLAB Filter Scripts | .m |  |  | ♦ | ♦ | \MATLAB Scripts | Unavailable from FlexDCA. On 86100D's standard instrument interface, saved and opened via Measure > Signal Processing > MATLAB Filter.
Pattern Waveforms | .wfm |  |  | ♦ | ♦ | \Waveforms | Saved and opened from File menu. Before saving the waveform, open the Acquisition Setup dialog and check the box, "Acquire Entire Pattern (Requires Pattern Lock)".
 | .wfmx | ♦ | ♦ |  |
 | .csv | ♦ | ♦ | ♦ | ♦
S-Parameter Data | .s1p, .s2p, .s4p, .txt | ♦ | ♦ | ♦ |  | \S-Parameter Data | Saved from FlexDCA's TDR mode into Touchstone files. Imported into FlexDCA Waveform Signal Processing's s2p and s4p operators. On 86100D's legacy instrument interface, saved via File > Save > S-Parameter Touchstone.
 | .cti, .cit |  | ♦ |  |
SIRC Calibrations | .xml |  | ♦ |  |  | \SIRC Calibrations | Files provided with optical modules having option IRC. Loaded from optical channel dialog box.
SCPI Scripts | .scpi | ♦ | ♦ |  |  | \SCPI Scripts | Recorded, saved, and opened from Tools > SCPI Recorder.
Screen Image | .bmp, .gif, .jpg, .pcx, .tif, .ps, .eps |  |  | ♦ |  | \Screen Images | Saved from File menu.
 | .bmp, .gif, .jpg,.png, .tif | ♦ |  |  |
TDR/TDT Calibration | .tdrx |  |  | ♦ | ♦ | \TDR calibration | TDR Calibration files are saved as part of the calibration that is performed using the TDR Calibration Setup dialog box
Waveforms | .wfm |  |  | ♦ | ♦ | \Waveforms | Saved and opened from File menu. Verbose, XY verbose, and Y values formats
 | .wfmx | ♦ | ♦ |  |
 | .txt | ♦ | ♦ | ♦ | ♦
User Measurements | .xml, .m, or .py | ♦ | ♦ |  |  | \User Measurements | User-defined measurements in Eye, Oscilloscope, and TDR/TDT modes. Can be defined from Matlab or Python scripts.


Location of Files

Location of User Files

As shown in the following pictures, a \User Files folder is provided that includes a subfolder for each of the types of files that you can save from either a dialog box or programmatically. These folders are the default location for saving specific types of files. For example, instrument setup files that you save are, by default, saved in the \Setups subfolder. You can always save files to any folder that you wish including those on a network or external drive.

Note

To protect you user files, it is recommended that you backup this folder to an external or network drive.

Location of User Files
FlexDCA Running Embedded on 86100D | N1010A Running on Windows 7 PC
Subfolder Definitions
Subfolder | Contents | Remote Commands
Adapter Definitions | Saved TDR/TDT-mode adapter definitions for ECal modules. These definitions are created and selected in the Add New Adapter wizard (Configure ECal Adapters for DUT dialog box). | :TDR:ADAPters:STARt
Colorgrade-Grayscale | Saved eye-mode database files (.cgsx) that usually contain eye-diagram data. These files can be loaded into eye memory. | :DISK:EYE:SAVE :DISK:EYE:RECall
De-Embedding Networks | Saved de-embedding network files (.tf4) files created using waveform signal processing's 2-port and 4-port de-embeding operators. Using remote programming commands, you can load but cannot create and define networks. | :SPRocess:DEMBed:FNAMe :SPRocess:DDEMbed:FNAMe
Documentation Results | Saved Documentation Wizard report files (.zip). Documentation files can be configured and saved from the GUI. Remotely, they can be configured but not saved. | :DISK:DWIZard:FNAMe
Jitter Data | Saved jitter-mode database files (.jdx, .csv). These files can be recalled into the jitter memory. | :DISK:JDATabase:SAVE :DISK:JDATabase:RECall
 | Saved Jitter Spectrum Analysis (JSA) files (.jsax) from an 86108A/B module with option JSA. These files can be saved from oscilloscope, eye, and jitter modes. These files can be recalled into the JSA memory. | :DISK:JSANalysis:SAVE :DISK:JSANalysis:RECall
Limit Lines | Saved limit line definitions for Oscilloscope and TDR/TDT modes. | :LLINe:LOAD:FNAMe :LLINe:SFILe
Limit Summaries | Saved Summary Report files (.sum) from measurement and mask limit testing. | :LTESt:MEASure:SSUMmary:FNAMe :LTESt:MTESt:SSUMmary:FNAMe
Masks | Supplied or modified eye-mode mask definition files (.mskx, .msk). These files can be loaded in eye mode. | :MTESt:LOAD
User Measurements | User-defined measurements in Eye, Oscilloscope, and TDR/TDT modes. Can be defined from Matlab or Python scripts. | :MEASure:EYE:USER:CFILe :MEASure:OSCilloscope:USER:CFILe :MEASure:TDR:USER:CFILe
Presets | Saved mini-setup files for:
 | 86108A/B Clock Recovery Configuration and 83496A/B Clock Recovery Configuration. | :CRECovery:PRESets
 | Decision Feedback Equalizer (DFE) function configuration. | :SPRocess:DFEQualizer:PRESets
 | Continuous Time Linear Equalizer (CTLE) function configuration. | :SPRocess:CTLequalizer:PRESets
 | Linear Feedforward Equalizer function configuration | :SPRocess:FFEQualizer:PRESets
 | TDEC (Transmitter and Dispersion Eye Closure measurement) | :MEASure:TDEC:PRESet
SCPI Scripts | Saved recorded SCPI scripts (.scpi) that can be loaded and saved. | :SYSTem:MPButton:FUNCtion
Screen Images | Saved image files of the screen. | :DISK:SIMage:SAVE command
Setups | Saved instrument setups. | :DISK:SETup:SAVE :DISK:SETup:RECall
SIRC Calibrations | Downloaded Option IRC SIRC (System Impulse Response Capability) data files for 86105C, 86105D, 86115D, or 86116C modules. These files cannot be saved or loaded via GUI or remote interface. | :CHANnel:SIRC
S-Parameter Data | Saved TDR/TDT-mode S-parameters Touchstone files. | :DISK:SPARameter:SAVE
TDR Calibration | Saved TDR/TDT-mode calibration files. These files are saved automatically during a calibration and can be loaded at a later date. | :TDR:CALIbration:DUT:LOAD
User App Menu Items | Place your own custom file and PC application shortcuts in this folder. These items will automatically appear on FlexDCA's Apps menu. | none
Waveforms | Saved oscilloscope-mode single-valued waveforms. | :DISK:WAVeform:SAVE :DISK:WAVeform:RECall


Saving Screen Image Files

Multi-Purpose Button

You can configure the 86100D's front-panel Multi-Purpose button to save screen image files.

Use the Save Screen Image dialog box to save an image of the display in a graphic file. Click File > Save > Screen Image. As seen in the figure below, you can select from the following options to specify the appearance of the saved image. If none of the options is selected, the entire application window is saved. The default user data folder for saving screen images is \Screen Images.

Note

If a displayed dialog box is outside FlexDCA's window, it will not be included in the screen image capture. Use the Windows Print Screen function instead.

Monochrome Option

Saves the screen as a black and white image. Selecting Monochrome automatically selects Invert Graticule Area Background Color.

Invert Graticule Area Background Color Option

Saves the entire application window but colors the graticule black and the graticule background white. The waveform colors remain unchanged. If combined with Graticule Area Only, this option is especially useful when printing a hard copy of the waveform as it saves ink or toner. If the Invert Signal Display Windows in the Display Setup dialog box is selected, the backgrounds of all windows that display signals is inverted from black to white regardless of the Invert Graticule Area Background Color setting.

Include Metadata (jpg, tiff) Option

When Include Metadata is selected for a jpg or tiff file, additional metadata fields are added to the saved image file. Cameras and graphic editing applications often place metadata in a file, such as camera exposure settings or comments. FlexDCA can also add its own metadata to these two image types. By default, this option is turned off. If you plan to place you screen capture in a web page or informal document, a jpg image is the best selection. If you plan to print your screen capture or need maximum quality, save a tiff image. FlexDCA does not support saving metadata in the bmp, png, or gif file formats.

To view or edit the metadata placed in your screen image file, you can right click on the file in Window's File Explorer and from the shortcut menu select Properties. In the Properties dialog box, click the Details tab as shown in this picture. To edit the metadata fields for your image, click on the Value entree shown on the dialog box. The following table lists the metadata fields that FlexDCA populates.

Metadata Added to Screen Captures
Metadata Field | Value Examples
Subject | Screen Capture
Comments | 86100D (S/N USXXXXXXXX) Modules: Slot 1 Module(86108B LBW,232,300,400,JSA) (MYXXXXXXXX)
Date taken | 7/10/2015 4:32 PM
Program name | FlexDCA (A.05.00.000)
Camera maker | Keysight Technologies
Camera model | FlexDCA (A.05.00.000)
Name | ScreenCapture.jpg

Include in screen capture Option

With this option, you can select to save the entire display (including menu bars, toobars) or a single displayed waveform content window: Waveform, Magnitude, Phase, or Delay. The content window's tab must be shown on the screen. The default setting captures a waveform content window. If multiple waveforms are displayed in the selected content window, use the second drop-down list to restrict the screen image to showing a particular waveform.

Entire Display | Single Content Window

Note

When saving an image to an external memory device, never remove the device during the writing process as this may result in an error.

Available Graphics Formats

  • .bmp (24-bit color bitmap file format). Bitmap, or .bmp, is typically used for storing bit mapped graphic files.
  • .png (Portable Network Graphics) format that is not compressed.
  • .jpg (24-bit color Joint Photographic Experts Group file format). .jpg is a graphics format that is compressed. This compression creates smaller files but may affect image quality. For example, data points may be erased due to the image compression. If file size is not an issue, use the .png format instead. The application uses the .jpg software written by the Independent JPEG Group.
  • .gif (Graphics Interchange File format). .gif is a standard graphics format (256 color) used to store bit mapped graphic files. For .gif files, this application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability
  • .tif (256 color Tag Image File format). .tif is a format of choice for storing master copies. It provides better quality, but larger files. This format is widely supported across platforms (PC, Mac, UNIX). This application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.


Saving Setup Files

Multi-Purpose Button

You can configure the 86100D's front-panel Multi-Purpose button to load your instrument setup files.

Default User Folder

The default user data folder for saving instrument setup files is \Setups.

.SETX Versus .SET

FlexDCA setup files (.setx) are different from 86100D instrument setup files (.set). FlexDCA instrument setup files are XML files and include the current definition of the waveform signal processing functions.

FlexDCA allows you to save the current setup. When loading back into FlexDCA, it restores the application's settings to those in place at the time that the file was saved. You can save the setup to the instrument's internal hard disk or an external memory device.

  • To save a setup file, click File > Save > Instrument Setup.
  • To open a setup file, click File > Open > Instrument Setup.

When you save a setup, all the FlexDCA's settings are saved to the file you have selected, including:

  • Type of measurements currently running
  • Markers (if used)
  • Horizontal and vertical settings
  • Trigger configuration
  • Display setup
  • waveform signal processing functions
  • Fixture Deskew data (if saved at the end of the deskew procedure)
  • Extended module configuration
  • TDR/TDT Mode deskew values
  • Displayed Waveform content windows

The FlexDCA automatically assigns a new file name to the setup. This file name is incremental from 1 to 99. Each time you save a setup, the number in the file name is automatically incremented by one or by whatever is necessary to reach the next available open number. This ensures that the setup will always be saved to a new file and protects you from inadvertently overwriting an existing file. If you want to assign a specific name to a setup file, you can use an optional keyboard, or you can click the File name: box to open the instrument keyboard. The number of setups you can save is limited only by the available space on the internal hard disk or external memory device. Each setup uses approximately 14 kB of disk space.

Setup files include information on any extended module configurations including settings for simulated modules. When opening a setup file, clear the Include Extended Module Configuration selection if you do not want to have the setup file potentially change your extended module configurationss.

Note

Ensure your setup files have the extension, .setx. If you do not specify an extension or use a different extension, the instrument may not recognize the file as a setup file, therefore you may have trouble saving or finding the setup file.

Note

Be sure to save an instrument setup file when saving jitter data or color grade-gray scale memory files. This is because horizontal scale and delay information are not saved in jitter data or color grade-gray scale memory files. If you plan on loading these memory files back into the FlexDCA, you will also need to load the associated FlexDCA setup file.

Note

FlexDCA maintains its current settings in a system file, which is not the same as a setup file that you can save and open. To ensure that the settings are correctly saved, close the FlexDCA application from the File menu using the Exit command.


Saving Color Grade-Gray Scale Files

Default User Folder

The default user data folder for saving Eye-mode waveform files is \Colorgrade-Grayscale.

  1. Click File > Setup > Display Setup and select Color Grade or Gray Scale. Before a data can be saved, color grade or gray scale waveform persistence must be selected.
  2. Click File > Save > Color Grade-Gray Scale. The files use a .cgsx file extension. Files can not be saved in the legacy .cgs format.
  3. In the dialog box under Waveform, select as the source:
    • Channel (if gray scale or color grade display mode is on)
    • Color grade memory (must be displayed first)
    • Math function
  4. Click Save.

Note

Horizontal scale and delay information are not saved in color grade-gray scale memory files. If you plan on loading these files back into memory, be sure to also save the instrument setup. You will need to load (restore) the instrument settings when you load the memory file.


Saving Waveforms Files

Saving Waveform Files

Default User Folder

The default user data folder for saving Oscilloscope-mode waveform files is \Waveforms.

Click File > Save > Waveform to open the Waveform Save dialog box from which you can save a single-valued waveform to a file. Later, you can load this waveform file into FlexDCA's waveform memory by cllicking File > Waveform Memory. Waveforms can be saved in the formats shown in the following table. As shown in the table waveform files are not available in Jitter mode. In Oscilloscope and Eye/Mask modes, ASCII waveforms files can either be txt or csv depending on the Acquire Entire Pattern setting in the Acquisition Setup dialog box. Acquiring the entire pattern requires pattern lock turned on.

Waveform Types Versus Instrument Modes
Available Waveform Type | Oscilloscope Mode |  | Eye/Mask Mode |  | TDR/TDT Mode | Jitter Mode
Acquire Entire Pattern: | Off | On | Off | On
Internal (.wfmx) | ♦ | ♦ | ♦ | ♦ | ♦ |
Y-value (.txt) | ♦ |  | ♦ |  | ♦ |
XY-value (.txt) | ♦ |  | ♦ |  | ♦ |
Pattern (.csv) |  | ♦ |  | ♦ |  |
  • To save eye diagrams in Eye/Mask mode (.cgsx)
  • To save jitter data in Jitter mode (.jdx, .csv)

Internal-Format Waveform Files (.wfmx)

Working Offline

Use FlexDCA's simulated Extended Modules to work offline with waveform files (.wfmx).

The internal-format waveform files (.wfmx) are XML files comprised of an ASCII header followed by the binary waveform data. The file includes vertical and horizontal scaling parameters of the waveform. Therefore, when you load the waveform into a waveform memory, you can still perform automatic measurements and use markers on that waveform. The internal format is binary, so you can not directly display the file contents in a word processing or spreadsheet program. However, you can convert an internal format file to a text file (.txt) for use in a spreadsheet or word processing program, by loading the file into waveform memory and then re-saving the waveform in either Y-values format or XY-values format.

Note

The internal format files use less disk space than the Y-Values Format or XY-Values files.

Example Internal-Format File

<?xml version="1.0" encoding="utf-8"?>
<DcaFile>
  <Header>
    <FileType>WaveformPatternInternal</FileType>
    <Revision>1</Revision>
    <Instrument>N1010A</Instrument>
    <SwVersion>P.05.00.127</SwVersion>
    <SerialNumber>sn ?</SerialNumber>
    <Date>4/30/2015 7:43:31 AM</Date>
    <SourceName>Channel 5A</SourceName>
  </Header>
  <Points>4063</Points>
  <SignalType>NRZ</SignalType>
  <XOrg>0</XOrg>
  <XInc>3.1404412777560016E-12</XInc>
  <BitRate>9953280000</BitRate>
  <SamplesPerBit>31.992125984251967</SamplesPerBit>
  <PatternLength>127</PatternLength>
  <Resolution>2.3024991928895451E-09</Resolution>
  <Bandwidth>15000000000</Bandwidth>
  <YMax>0.0007624000000000001</YMax>
  <YMin>-0.00026191999999999996</YMin>
  <WaveformStatus>None</WaveformStatus>
  <XUnits>Second</XUnits>
  <YUnits>Watt</YUnits>
  <XDisplayRange>1.2759612911522633E-08</XDisplayRange>
  <XDisplayStart>7.111E-11</XDisplayStart>
  <YDisplayRange>0.0008536</YDisplayRange>
  <YDisplayStart>-0.00017656</YDisplayStart>
  <Status />
  <Data Lengths="4063,
  <Data Lengths="4063, 1">X and Y binary data for 2048 data points</Data>
</DcaFile>

Y-Value Waveform Files (.txt)

Y-value waveform files are ASCII files (.txt) comprised of a header followed by amplitude values for each data point. The ASCII amplitude values are in volts or Watts and are separated by a carriage return and line feed. This format is convenient for transferring data to other software applications, as you can import this file into many spreadsheet or word processing programs.

Y-value format is designed for waveforms in which the data points are separated by equal time increments. Do not use Y-value format if any the following conditions are true. Use the XY-value format instead:

  • The waveform is a pattern waveform,
  • A precision timebase is used, or
  • The waveform is the output of the versus operator in a waveform signal processing function.

Note

Y-value format files use more disk space than internal format files (.wfmx).

The following is an example of a Y-value format file. Although the file does not include time values for each data point, proper X-axis scaling is achieved by XOrg (X-axis origin) and XInc (X-axis time increment) values contained in the preamble. Because individual time values are not included, this format creates smaller files than the XY-Values format.

Example Y-Value Format File

File Format, WaveformYValues
Format Version, 1
Instrument, N1010A
SwVersion, A.01.60
SerialNumber, sn XXXXXX
Date, 09/07/2011 08:58:06

Points, 2048
XOrg, 0
XInc, 9.765625E-14
X Units, Second
Y Units, Volt
Data,
0.137924194335938
0.131973266601563
0.108322143554688
.
.
.

XY-Value Waveform Files (.txt)

XY- value waveform files are ASCII files (.txt) comprised of a header followed by voltage and time values for each data point. The ASCII amplitude values are in volts or Watts while the X-axis values are in time. Each value is separated by a carriage return and line feed. Like the Y-value format, this format can be imported into many spreadsheet or word processing programs.

XY-value format is designed for waveforms that have been sampled using unequal time separations between adjacent data points. Unequal time separations occur when any of the following conditions are true:

  • The waveform is a pattern waveform,
  • A precision timebase is used, or
  • The waveform is the output of the versus operator in a waveform signal processing function.

Note

XY-value format files use more disk space than internal format files (.wfmx).

Example XY-Value Format File

File Format, WaveformXYValues
Format Version, 1
Instrument, N1010A
SwVersion, A.01.60
SerialNumber, sn XXXXXX
Date, 09/07/2011 08:58:30

Points, 2048
X Units, Second
Y Units, Volt
Data,
0, 0.137924194335938
9.765625E-14, 0.131973266601563
1.953125E-13, 0.108322143554688
2.9296875E-13, 0.143295288085938
3.90625E-13, 0.14312744140625
4.8828125E-13, 0.14013671875
1.9970703125E-10, 0.140792846679688
.
.
.

Pattern Waveform Files (.csv)

The instrument must be pattern locked to save pattern waveforms. Pattern waveforms are long, single-valued waveforms that span multiple bits, up to the entire pattern length. The pattern waveform ASCII files (.csv) includes a header followed by amplitude (y) values for each data point. Click File > Save > Waveform to open the Waveform Save dialog box from which you can save a pattern waveform.

The following limits apply to saving pattern waveforms:

  • Up to 4096 points can be saved for each bit.
  • Pattern lengths up to 2 23 can be saved.

Because of the large number of bits and high resolution (points-per-bit) possible, pattern waveforms may require a large amount of memory. Since pattern waveforms are saved in ASCII files, you can import then into spreadsheet, math, and text editing applications. Pattern waveforms can also be imported back into color gray-scale memory as an eye diagram. If you plan on loading a pattern waveform back into the instrument, be sure to also save the instrument setup. You will need to load (restore) the instrument settings at the same time that you load the associated pattern waveform.

The ability to save pattern waveforms requires the following features:

  • Eye/Mask or Oscilloscope instrument mode with pattern lock triggering
  • At least one channel or function (invert, subtract, or magnify) turned on

Note

Option N1010A-201 / 86100D-201, Advanced Waveform Analysis License, is not required in order to save pattern waveforms.

To save a pattern waveform

  1. Establish a pattern lock.
  2. Click Setup > Acquisition Setup.
  3. In the Acquisition Setup dialog box's Waveform tab, select Acquire Entire Pattern.
  4. Close the dialog box.
  5. Click File > Save > Save Waveform.
  6. In the Files of Type drop-down list, select Pattern Waveform (*.csv) or Waveform Files (Internal) (*.wfmx).
  7. Click Save.

Saving pattern waveforms is slower when the 86107A or 86108A precision timebase is active. For faster saves, turn off the precision timebase.

Note

Patterns that include a large number of bits and high resolution involve large amounts of data. Saving these files may require several hours and one or two gigabytes (GB) of memory.

Note

If you plan on loading a saved pattern waveform back into the instrument, be sure to also save the instrument setup. You will need to load (restore) the instrument settings at the same time that you load the associated pattern waveform.

To load a pattern waveform into waveform memory

  1. Click File > Waveform Memory. Pattern waveform files have the file extension .csv or .wfmx.
  2. Select the Memory tab.
  3. Click Load From File.
  4. In the Files of Type drop-down list, select Pattern Waveform (*.csv) or Waveform Files (Internal) (*.wfmx).
  5. Select the file and click Open.
  6. In the Waveform Memories dialog box, click the Display On/Off button to display the waveform.

Pattern waveform file

The pattern waveform data is saved in an ASCII comma separated file (csv). The pattern waveform file includes a header of setup information, as shown in the following example:

File Format, WaveformPattern
Format Version, 1
Instrument, N1010A
SwVersion, P.05.00.127
SerialNumber, sn ?
Date, 04/30/2015 09:50:31
SourceName, Channel 1A

Points, 4063
SignalType, NRZ
XOrg, 2.5515935636143E-12
XInc, 3.140441277756E-12
Bit Rate (b/s), 9953280000
Points/Bit, 31.992125984252
Pattern Length, 127
X Units, Second
Y Units, Volt
Data,
0.251523551089926
0.23619174793557
0.211299805497137
.
.
.

More Information

  • Waveforms
  • Main topic for Waveforms and Memory


Finding Topics via the Display

To learn about the FlexDCA Remote Access controls, click on the following picture. To provide more room for the following picture, consider clicking this toolbar icon (located at the top of this help window) to close the navigation pane. Then, maximize the help window. Click Setup > Display Setup to configure the display.

Note

This is a composite picture showing FlexDCA's features. Many of the items shown can not be displayed at the same time. For example, measurement regions are only available in Oscilloscope mode and are not available in Eye/Mask mode.

Click different areas of this picture!


Finding Topics Via Front and Rear Panels

Finding Topics Via 86100D Panels

Click on these pictures!

Figure. Front-Panel View

Figure. Rear-Panel View

Note

For information on the rear-panel TRIGGER GATE connector, refer to the 86100D help.


Finding Topics via Menus

  • File
    • Open Instrument Setup…
    • Save
      • Instrument Setup…
      • Screen Image…
      • Waveform…
      • Color Grade Gray Scale…
      • Jitter Data
        • Internal Format
        • Comma Separated Values
      • JSA Data…
      • Export S-Parameters…
    • Documentation Wizard…
    • Waveform Memory…
    • Color Grade-Gray Scale Memory…
    • Jitter Data Memory…
    • S-Parameter Memories…
    • JSA Memory…
    • File Management…
    • Exit
  • Setup
    • Undo
    • Redo
    • History
    • Mode
      • Eye/Mask
      • TDR/TDT
      • Oscilloscope
      • Jitter/Noise
    • Default Setup
    • Factory Preset
    • Modules
      • Channels...
      • Clock Recovery
      • Precision Waveform Analyzer
      • Precision Timebase…
    • Configure Extended Modules…
    • Configure Multi-Purpose Button
    • Timebase Setup…
    • Trigger Setup…
    • Acquisition Setup…
    • Display Setup…
    • TDR DUT Based Setup…
    • TDR Basic Control Setup…
    • DCA Connection Setup
  • Measure
    • Eye/Mask
      • Eye Meas
      • Mask Test
        • Add Mask Test
        • Exit Mask Test
        • Mask Test Margins
        • Mask Test Scaling
      • Adv Eye
      • PAM
      • User
      • Mask Test Margins
      • Mask Test Scaling
    • TDR/TDT
      • Setup
      • Time
      • Amplitude
      • User
    • Oscilloscope
      • Time
      • Amplitude
      • PAM
      • User
    • Jitter
      • Time
      • Amplitude
      • Meas
    • Markers
    • Limit Tests
      • Acquisition Limits
      • Measurement Limits
      • Mask Test Limits
      • Limit Line Test Limits
    • Configure Base Measurements
    • Configure Jitter Mode Measurements
    • Waveform Signal Processing (Math)
    • Histograms
    • Measurement Regions
  • Tools
    • Jitter Diagnostics
      • Edge Model Graph
    • Virtual Front Panel
    • Calibrations
    • Front Panel Cal Output…
    • Deskew Fixture/Cables Wizard
    • SCPI Programming Tools
      • SCPI Recorder…
      • Interactive SCPI Command Tree…
      • SCPI Server Setup…
    • Limit Line Test Editor
    • Licenses
    • Find…
  • Apps
    • FlexEye Parallel Eye Analysis
    • Legacy UI
    • Automated Test Apps
      • Advanced Eye Analysis (401)
      • N108xA IEEE802.3 Test App
      • N1012A OIE CI 31
      • N1014A SFF-8431
  • Help
    • Contents…
    • View Message Log…
    • About FlexDCA…

This topic's menu mimics the FlexDCA's menu. Click on the above menu to open the relevant help topic.

If you need to close the navigation window for more space to view the menu commands, click this toolbar icon (located at the top of this window).

Keyboard Shortcuts
Command | Shortcut
Oscilloscope Mode | Ctrl + Alt + O
Eye/Mask Mode | Ctrl + Alt + E
Jitter/Noise Mode | Ctrl + Alt + J
Auto Scale | Ctrl + Alt + A
Acquisition |
Run | F5
Stop/Single | F6
Clear Display | F7
Find Bit Sequence | Ctrl + F
Undo | Ctrl + Z
Redo | Ctrl + Y
Screen Image | Ctrl + Shift + S
Exit | Ctrl + Shift + X


Finding Topics Via Subject

  • New Features
  • Introduction
  • ESD Precautions
  • Modules
  • Options
  • Instrument Architecture
  • Maintenance
  • Windows 7

Specifications

  • 86100D
  • Modules
  • Environmental

Basic Setup

  • Triggering
  • Pattern Lock
  • Timebase
  • Timebase (Precision)
  • Vertical Scale & Offset
  • Auto Scale
  • Module Setup
  • External Scaling
  • Calibration
  • Clock Recovery
  • Channels
  • FlexDCA Setup Files
  • File Management
  • Probes

Measurement Configuration

  • Base Measurements
  • Jitter Measurements
  • Histograms
  • Measurement Regions
  • Measurement Annotations
  • Waveform Acquisition

Measurements

  • JSA/CRE
  • Signal Processing
  • Limit Testing
  • Mask Tests
  • Markers
  • Results Panels
  • Waveforms and Memory

Remote Control

  • Introduction
  • SCPI Server Setup
  • SCPI Command Recorder
  • Interactive SCPI Command Tree
  • 86100D Commands and Equivalent FlexDCA Commands


Top 13 Features You Should Know About

Do you know about the following powerful productivity tools?

1. Multi-Purpose Button

Configure the 86100D's front-panel Multi-Purpose button to capture screen images, run recorded SCPI scripts, or load instrument setup files.

2. Documentation Wizard

Use the Documentation Wizard to place all of the following items into a zip file so that you can archive and transport them:

  • Screen capture
  • Instrument setup
  • Waveform window data
  • Results window data
  • System information

3. Copy-To-Clipboard

Right click on the display to use the Copy-To-Clipboard feature. This allows you to copy and paste waveforms and measurement results into other applications such as word processors and spreadsheets.

4. Change Values Using Mouse Wheel

If you have a scroll-wheel mouse, you can use it to swiftly change displayed values such as a channels scale and offset.

5. Find a Bit Sequence

Locate a specific sequence of bits within a pattern waveform. Easily find and observe how your device responds to a bit sequence, for example 1110. A sequence of up to 128 bits can be searched and the "?" wildcard character can be used.

6. SCPI Recorder and Macros

The SCPI Recorder allows you to change instruments settings while capturing the equivalent SCPI remote programming commands. When you've recorded your commands, you can play them back and save them as a macro.

7. Undo/Redo/History

As you change instrument settings, you can undo and redo your previous settings and traverse the history of your changes.

8. Full-Zoomed Mode

Full-zoomed mode formats the display for improved viewing when making presentations on a large screen. On the 86100D, you can connect a second, large display to the rear-panel connection.

9. Acquire an Entire Pattern

You can acquire data for an entire pattern. In Eye/Mask mode you can save the pattern in an ASCII file (*.csv) or internal format file (*wfmx).

10. Signals Palette

Use the Signals Palette to quickly turn waveforms on and off, adjust scaling, and change a waveform's color. The Signals Palette shows all available channels, simulated channels, functions, and memories.

11. Swap and Float Windows

You can drag and swap a measurement panel with the main waveform window. Simply click on the panel's tab (not the center of the panel) and drag it over the waveform. You can also float windows free of the main application.

12. Enhancing Waveforms for Presentations and Reports

Due to FlexDCA's high screen resolution, some waveforms may be difficult to view in screen captures printed in reports or when the waveforms are viewed at a distance, such as during a presentation. With Waveform pixel emphases, data points that are normally represented by one pixel are instead represented by several adjacent pixels. Essentially, this makes the traces appear thicker and so more easily seen.

13. Hot Swap Modules

You do not need to turn off the mainframe to install or remove a module. You can swap modules while the 86100D is turned on.

Do not remove a module from the 86100D during a calibration.

Note

To ensure the instrument meets all published specifications there must be a good ground connection between the module and mainframe. The RF connectors on the rear of the module are spring-loaded; therefore, finger-tighten the knurled screw on the front panel of the module to ensure the module is securely seated in the mainframe.


86100D FlexDCA Button

86100D Apps Button

To run FlexDCA on the 86100D, press the Apps button.

If FlexDCA is already running, pressing the Apps button open the Applications panel shown in the following picture. You can use this panel to launch 86100D DCA compliance applications and open user-specified files and applications that are located on the 86100D or PC where FlexDCA is installed.


Auto Scale Button

Press Auto Scale on the 86100D front panel or click FlexDCA's Auto Scale button to automatically scale the waveform vertically and horizontally and to adjust the trigger level in Oscilloscope, Eye/Mask, or Jitter Mode. Before using Auto Scale, turn on at least one channel and ensure a valid signal and trigger source is connected. After an Auto Scale is performed, you can adjust the waveform settings to your liking. On FlexDCA, you can click Setup > Auto Scale to undo a previous Auto Scale.

During an Auto Scale, the following three tasks are performed:

  1. Sets the vertical scale and offset of all the input channels that are turned on.
  2. Sets the trigger level and bandwidth.
  3. Sets the horizontal scale and position of the lowest numbered channel turned on.

If multiple eye diagrams are displayed, software delay can be applied to align the eye diagrams if the following conditions are true:

  • Option 500, Productivity Package License, must be installed and
  • Rapid Eye is turned on and Rapid Eye align is specified.

Auto Scale and Triggering

The Auto Scale function sets the trigger level, so a required trigger signal must be provided in addition to the input signal. You can connect a trigger signal to the front panel trigger input or use clock recovery. The trigger level is set to the mean value of the trigger input. For example, if the input trigger is 0 to 0.6V, Auto Scale sets the trigger level to 0.3V. Auto Scale also resets the trigger bandwidth if necessary. If the trigger bandwidth is set to DC–100 MHz, Auto Scale resets the bandwidth to DC–2.5 GHz. Performing an Auto Scale will not affect the trigger bandwidth if either the DC–2.5 GHz or 2.5–12 GHz (option ETR) bandwidth is selected.

Note

If a trigger input is not available or the trigger is in freerun, Auto Scale vertically centers the waveform on the display using scaling and offset.

Note

Auto Scale will fail if the precision timebase is on, gated trigger is on, and the instrument takes more than three seconds when acquiring a waveform. In this condition, a message appears to inform you that trigger gating is too slow.

Auto Scale and Y-axis (Vertical Scale)

The instrument evaluates the maximum and minimum values of all the input channels that are turned on and adjusts the vertical scale and offset to place the waveforms on the display screen. The waveform is moved so that it is centered in the middle of the display screen. The instrument then moves the waveforms so that the maximum value (Vmax) is positioned 2.5 divisions above the center of the display. The minimum value (Vmin) is positioned 2.5 divisions below the center of the display screen.

Note

The instrument places the waveform in the middle of the display screen, within 5 graticule divisions (Vp-p). However, if the input signal is out of the operating range of the plug-in module (large peak-to-peak amplitude or large DC offset), the instrument may not be able to center the waveform. Therefore, an Auto Scale will not be able to produce an optimum waveform display.

Auto Scale and X-axis (Horizontal Scale)

If there is more than one channel turned on, the instrument adjusts the horizontal time-per-division (or bits-per-screen) for the lowest number channel. For example, if all four channels are turned on, the instrument adjusts the horizontal time-per-division based on channel 1. While the instrument adjusts the horizontal scale based on the trigger source and input selected, the horizontal position of the waveform on the display screen differs for multi-valued and single-valued waveforms.

  • Multi-valued waveforms. The centers of the crossing points of the waveform are approximately positioned on the second and eighth horizontal divisions of the display screen.
  • Single-valued waveforms. The first two zero-crossings of the waveform are positioned on the first and fourth horizontal divisions to the right of the display's left edge. For clock signals, two cycles are displayed on screen, with a positive pulse centered on the display. When pattern lock is turned on, ten bits are displayed, and the left edge of the screen is aligned with the center of a bit.


86100D Computer Ports

Additional Information

  • Specifications for Front and Rear Panel Inputs and Outputs
  • To connect an external display


Vertical Scale and Offset

Module Vertical Scale and Offset Controls

861xx series plug-in modules have front-panel vertical scale and offset controls which provide the same function as the vertical scale and offset controls that are located on the 86100D. Turn the vertical scale knob to adjust the sensitivity of the currently selected channel. Turn the offset knob to adjust the vertical position of the waveform on the display screen without modifying the waveform itself. The offset value represents an absolute value on the display.


86100D ON/Standby Switch

Press the 86100D ON/Standby switch to turn the instrument on. When you turn on the instrument, the settings normally match those that were in effect at the time when you last placed the instrument in standby. To ensure that the settings are correctly saved, before pressing the ON/Standby switch, close the DCA application by clicking File > Exit.

Figure. Rear-Panel Mains Power-Cord Receptacle

Installation Category: Installation Categories (overvoltage categories) are determined by the transient overvoltage levels that may be expected. CAT I: Mains isolated. CAT II: Line voltage in appliance and to wall outlet. CAT III: Line voltage behind wall outlet to next level of distribution.

Note

The front-panel ON/Standby switch places the instrument in Standby. The instrument is still energized.

Note

The main power cord can be used as the system disconnecting device. It disconnects the mains circuits from the mains supply.

This is a Safety Class 1 Product (provided with a protective earthing ground incorporated in the power cord). The mains plug shall only be inserted in a socket outlet provided with a protective earth contact. Any interruption of the protective conductor inside or outside of the product is likely to make the product dangerous. Intentional interruption is prohibited.

Always use the three-prong AC power cord supplied with this instrument. Failure to ensure adequate earth grounding by not using this cord may cause product damage.

This instrument has autoranging line voltage input. Be sure the supply voltage is within the specified range.

This product is designed for use in INSTALLATION CATEGORY II and POLLUTION DEGREE 2 environment.

Install the instrument according to the enclosure protection provided. This instrument does not protect against the ingress of water. This instrument pro-tects against finger access to hazardous parts within the enclosure.

If the Infiniium DCA is mounted in a rack or cabinet, do not use the system's power switch to disconnect power from the Infiniium DCA. Instead, use the Infiniium DCA's front-panel power switch. Using the system power switch may corrupt the Windows XP registry requiring you to perform a recovery process to restore normal operation to the Infiniium DCA.

Note

Install the instrument so that the detachable power cord is readily identifiable and is easily reached by the operator. The detachable power cord is the instrument disconnecting device. It disconnects the mains circuits from the mains supply before other parts of the instrument. The front panel switch is only a standby switch and is not a LINE switch. Alternatively, an externally installed switch or circuit breaker (which is readily identifiable and is easily reached by the operator) may be used as a disconnecting device.

To prevent electrical shock, disconnect the Keysight Technologies model 86100D from mains before cleaning. Use a dry cloth or one slightly dampened with water to clean the external case parts. Do not attempt to clean internally.


Operating Modes

You can operate the 86100D in one of four modes: Eye/Mask, Jitter, Oscilloscope, or TDR/TDT. Use Eye/Mask Mode for eye diagram analysis and standards testing (for example, SONET/SDH, Gigabit Ethernet, and Fiber Channel). Use Oscilloscope mode for single-valued waveforms. Jitter Mode requires Option ETR Enhanced Trigger and Option 200 Enhanced Jitter Analysis Software. For additional Jitter Mode amplitude analysis capability, add Option 300 Advanced Amplitude Anysis/RIN/Q-Factor Software. TDR/TDT mode provides time-domain reflectometry and time-domain transmission measurements. Add Option 202 for S-Parameter and Time Domain Characterization. The following picture shows FlexDCA using the Classic Silver theme.


Probe Power Output

Use this connector to provide power to a recommended active probe. A probe power connector is provided on electrical and optical/electrical modules.


86100D USB Port

The front panel includes three low-power USB 2.0 Type A ports, which are provided for devices such as a keyboard or external memory. Each front-panel port provides up to 100 mA for devices such as pen drives, which you can use to save and load setups, waveforms, and screen images to and from the instrument's hard disk. If your device requires more power, connect it to one of the instrument's rear-panel USB ports.

The rear panel includes the following USB ports:

  • One USB 3.0 Type B ports
  • Two USB 3.0 Type A ports
  • Two USB 2.0 Type A ports


86100D User Control Knob

Note

The front-panel User knob is reserved for functionality that is to be added in a future instrument firmware version.


FlexDCA Ecosystem

The 86100D's Graphical User Interface (GUI) is called FlexDCA, and this help system documents FlexDCA. FlexDCA provides a rich measurement system with the following benefits:

  • Available N1010A FlexDCA applicaton which runs on a PC:
    • Uses same GUI and help system as runs on 86100D.
    • Use offline with simulated modules with waveforms.
    • Control 86100D over LAN via FlexDCA using identical controls and viewing live waveforms.
    • Use new N1055A TDR module (TDR mode) and N1045A electrical modules.
  • A remote program for FlexDCA with little or no modification can control:
    • N1010A FlexDCA on PC.
    • FlexDCA on 86100D.
    • FlexDCA on 86100D through FlexDCA on PC.
  • Example Python scripts and youtube instruction videos are available.
  • Add extended hardware modules, such as the N1010A DCA-M, to PC via USB.
  • Take advantage of a large selection of 86100D modules.
  • Change measurement mode with the click of a button:
    • Oscilloscope mode (single-values waveforms)
    • Eye/Mask mode (multi-valued waveforms)
    • Jitter mode (jitter and interference)
    • TDR/TDT


What is New in FlexDCA

What's New

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New

Minor software revisions may not necessitate an update to the product's learning products. Similarly, changes to the learning products may not necessitate a change to the software revision.

FlexDCA is compatible with Windows 7 and Windows 8 but is not compatible with Windows XP. FlexDCA on Windows 8 does not support VXi-11.

FlexDCA Revision A.05.40

New Features

  • Support for new N1092A/B/D DCA-M multiple-channel optical sampling oscilloscope extended module.
  • New FlexEye Parallel Eye Analysis.
  • In TDR/TDT mode, added N1930B PLTS Automatic Fixture Removal (AFR). Automatic Fixture Removal requires FlexDCA option N1010A-AFR.
  • When defining an external transducer, you can now indicate signal inversion (negative gain).
  • Added new 100G SR4 stressed receiver mask (25.78125 - 100GBASE-SR4_Rx_SEC_Optical.mskx) as an available mask in Eye/Mask mode.
  • Expanded offering of Python example programs.

CHANnel Subsystem

  • :CHANnel:TRANsducer:INVert (new)

DISK Subsystem

  • :DISPlay:DWIZard:T:OHMS:SDATa (new)
  • :DISPlay:DWIZard:T:PERCent:SDATa (new)
  • :DISPlay:DWIZard:T:VOLTs:SDATa (new)
  • :DISPlay:DWIZard:TOHMs:SDATa (deprecated)
  • :DISPlay:DWIZard:TPERcent:SDATa (deprecated)
  • :DISPlay:DWIZard:TVOLts:SDATa (deprecated)

DISPlay Subsystem

  • :DISPlay:TSMode (new)

FEYE Subsystem (new)

  • :FEYE:CHANnel:ENABled (new)
  • :FEYE:CHANnel:SID (new)
  • :FEYE:DIFF:ENABled (new)
  • :FEYE:DIFF:SID (new)
  • :FEYE:SAMPles (new)
  • :FEYE:STATe (new)

FlexDCA Revision A.05.31

General Comments

  • Improved the ability of the 86108A and 86108B to lock clock recovery to PAM-4 signals.

Defects Fixed

  • Fixed a defect that could cause the eye diagram to be mis-aligned in Jitter Mode when SIRC or other signal processing was in use.
  • Fixed a defect in differential de-embedding when a block was defined as "Dual 2-port" and the second port pair was a combination of sub-circuits.

FlexDCA Revision A.05.30

New Features

  • Single-ended and differential de-embedding of TDR/TDT responses
  • N1010A FlexDCA on a PC can now connect directly to the FlexDCA application running on the 86100D. This is known as running Flex-on-Flex. As a result, N1010A FlexDCA supports TDR/TDT mode and all mini one-slot modules such as the N1055A TDR/TDT. The firmware version of N1010A FlexDCA and the 86100D's FlexDCA should be the same version (≥ A.05.30).
  • Draw eye contours on eye diagrams with Eye/Mask mode's Advanced Eye or PAM-4.
  • New limit-line tools for creating and editing limit-lines in TDR/TDT and oscilloscope mode. The editor allows you to create and edit limit lines using a graphical user interface rather than directly modifying ASCII limit-line definition files in a text editor.
  • Added DI, RN, and TI Advanced Eye measurements for NRZ signals. If the PAM-4 license is also installed these measurements can also be made on PAM-4 signals.
  • For DJ, Jn, RJ, and TJ Advanced Eye measurements added the ability to select an individual eye within an eye diagram on which to perform the measurement. These measurements work with NRZ signals and PAM-4 signals (if fhe PAM-4 license is also installed).
  • Simplified selection of TDR/TDT mode's measurement setup. The two setup tools, TDR DUT Based Setup and TDR Basic Control are still available, however the TDR DUT Based Setup has been emphasized while the TDR Basic Control setup can now only be accessed from the menu (click Setup > TDR Basic Control). The TDR DUT Based Setup is the recommended methods to use.
  • Display of in-phase and quadrature input waveforms on the setup dialog boxes for precision timebase references such as the 86100D-PTB, 86108B-PTD, and 86107A. To remotely query the waveform data, use the :WAVeform:SOURce command.
  • Documented support for new N1055A TDR/TDT module option FS1 (fast sample rate). Option FS1 is automatically included on new N1055A modules.
  • Documented N1090A electrical input connector (N1090A Option EEC).
  • Added to this help nine example programs for controlling FlexDCA. These are Python examples provided for both Python 3.4 and 2.7.

CHANnel Subsystem

  • :CHANnel:BANDwidth:FREQuency (added command form)
  • :CHANnel:BANDwidth:FREQuency:MAXimum (new)
  • :CHANnel:BANDwidth:FREQuency:MINimum (new)
  • :CHANnel:BANDwidth:FREQuency:VSET? (new)
  • :CHANnel:FSELect:RATe (added command form)
  • :CHANnel:FSELect:RATe:MAXimum (new)
  • :CHANnel:FSELect:RATe:MINimum (new)
  • :CHANnel:FSELect:RATe:VSET? (new)
  • :CHANnel:WAVelength:VALue (added command form)
  • :CHANnel:WAVelength:VALue:VSET? (new)

DISK Subsystem

  • :DISK:DWIZard:ECResults:SDATa (new)
  • :DISK:FILE:ASCii:READ? (new)
  • :DISK:FILE:EXISts? (new)
  • :DISK:FILE:READ? (new)
  • :DISK:FILE:SIZE? (new)
  • :DISK:FILE:WRITe? (new)
  • :DISK:FILE:BFILe (deprecated)
  • :DISK:FILE:TFILe (deprecated)

DISPlay Subsystem

  • :DISPlay:WINDow:ECLegend (new)
  • :DISPlay:WINDow:TIME:LEGend:ECEXpand (new)

ECONtour Subsystem (new)

  • :ECONtour:BERates (new)
  • :ECONtour:DISPlay (new)
  • :ECONtour:PSPec (new)
  • :ECONtour:RJSTabilize (new)
  • :ECONtour:RJSValue:EYE (new)
  • :ECONtour:RNSTabilize (new)
  • :ECONtour:RNSValue:LEVel (new)
  • :ECONtour:SOURce (new)

LLINe Subsystem

  • :LLINe:SFILe (new)
  • :LLINe:SFName (new)

MEASure Subsystem (Acquisition)

  • :MEASure:ACQuire:ECOunt? (new)

MEASure Subsystem (Advanced Eye)

  • :MEASure:EYE:DI (new)
  • :MEASure:EYE:DI:LEVel (new)
  • :MEASure:EYE:DI:LOCation (new)
  • :MEASure:EYE:DI:RNSTabilize (new)
  • :MEASure:EYE:DI:RNSValue:LEVel (new)
  • :MEASure:EYE:DI:SOURce (new)
  • :MEASure:EYE:DI:STATus (new)
  • :MEASure:EYE:DI:STATus:REASon (new)
  • :MEASure:EYE:DJ:EYE (new)
  • :MEASure:EYE:DJ:RJSValue:EYE (new)
  • :MEASure:EYE:DJ:RJSValue (deprecated)
  • :MEASure:EYE:JN:EYE (new)
  • :MEASure:EYE:JN:RJSValue:EYE (new)
  • :MEASure:EYE:JN:RJSValue (deprecated)
  • :MEASure:EYE:RJ:EYE (new)
  • :MEASure:EYE:RJ:RJSValue:EYE (new)
  • :MEASure:EYE:RJ:RJSValue (deprecated)
  • :MEASure:EYE:RN (new)
  • :MEASure:EYE:RN:LEVel (new)
  • :MEASure:EYE:RN:LOCation (new)
  • :MEASure:EYE:RN:RNSTabilize (new)
  • :MEASure:EYE:RN:RNSValue:LEVel (new)
  • :MEASure:EYE:RN:SOURce (new)
  • :MEASure:EYE:RN:STATus (new)
  • :MEASure:EYE:RN:STATus:REASon (new)
  • :MEASure:EYE:TI (new)
  • :MEASure:EYE:TI:LEVel (new)
  • :MEASure:EYE:TI:LOCation (new)
  • :MEASure:EYE:TI:RNSTabilize (new)
  • :MEASure:EYE:TI:RNSValue:LEVel (new)
  • :MEASure:EYE:TI:SOURce (new)
  • :MEASure:EYE:TI:STATus (new)
  • :MEASure:EYE:TI:STATus:REASon (new)
  • :MEASure:EYE:TI:TIBer (new)
  • :MEASure:EYE:TJ:EYE (new)
  • :MEASure:EYE:TJ:RJSValue:EYE (new)
  • :MEASure:EYE:TJ:RJSValue (deprecated)

MEASure Subsystem (PAM 4)

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize (new)
  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSValue:EYE (new)
  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize (new)
  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel (new)
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize (new)
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue:EYE (new)
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize (new)
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel (new)

MEASure Subsystem (Limit Tests)

  • :MEASure:LTESt:ACQuire:COUNt? (new)

PTIMebase Subsystem

  • :PTIMebase:VPTBsignals (new)

RDCA Subsystem

  • :RDCA:CONNect:MODE (new)
  • :RDCA:CONNect:TSETtings (new)
  • :RDCA:DISConnect:TSETtings (new)

SLOT Subsystem

  • :TRIGger:BRATe
  • :TRIGger:BRATe:AUTodetect (new)
  • :TRIGger:DCDRatio (new)
  • :TRIGger:DCDRatio:AUTodetect (new)
  • :TRIGger:PLENgth (new)
  • :TRIGger:PLENgth:AUTodetect (new)
  • :TRIGger:TRACking (new)

SYSTem Subsystem

  • :SYSTem:ERRor:COUNt? (new)
  • :SYSTem:UTCNow? (new)

TDR Subsystem

  • :TDR:DEEMbed:DUT:Enable (new)
  • :TDR:DEEMbed:DUT:PORT:DPORt (new)
  • :TDR:DEEMbed:DUT:PORT:FIXTure (new)
  • :TDR:DEEMbed:DUT:PORT:TPORt (new)
  • :TDR:DEEMbed:FCOMponent:CLEar (new)
  • :TDR:DEEMbed:FCOMponent:LOAD (new)
  • :TDR:DEEMbed:FCOMponent:LOAD:FNAMe (new)
  • :TDR:DEEMbed:FCOMponent:NOPorts? (new)
  • :TDR:DEEMbed:FCOMponent:PORDer (new)
  • :TDR:DEEMbed:FCOMponent:STATus? (new)
  • :TDR:DEEMbed:FCOMponent:STATus:REASon? (new)

TIMebase Subsystem

  • :TIMebase:PTIMebase:VPTBsignals (new)


Introduction

Quick Start

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New

To view a signal on the 86100D

The 86100D is an equivalent-time sampling oscilloscope that can simultaneously measure a variety of high speed digital communication waveforms from 50 Mb/s to over 80 Gb/s on up to 16 channels.

  1. Press the Default Setup button on the 86100D's front panel. A Default Setup configures the 86100D in a known startup condition including:
    • Oscilloscope mode
    • Front Panel triggering
    • Displays Channel A on the lowest numbered occupied slot for display. All other channel inputs turned off. For example if an N1045A module is installed in slot 3 and a DCA-M is installed in slot 6, Channel 3A will be the only displayed channel.
  2. Connect a signal to a front-panel channel input. In this example, the signal is connected to Channel 1A, since Default Setup will automatically select Channel 1A. Channel inputs are located on the front-panel of plug-in modules.
  3. Connect an external synchronous clock to the front-panel Trigger Input connector. The trigger signal must be a clock that is synchronous to the input signal or a pulse that indicates when the signal repeats.
  4. If the signal is not connected to Channel 1A, click the Signals button, located in the lower-right corner of the display, to open the Signals Palette. On the palette, click the button that represents the channel input that you want to display. Click Channel 1A to turn it off. The Signals Palette shows all available channels, simulated channels, functions, and memories.
  5. Press the 86100D's front panel Auto Scale button.
  6. If the signal resembles and eye diagram as shown in the above picture, change the instrument mode to Eye/Mask. In the display's upper left corner, click Oscilloscope and select Eye/Mask mode. Oscilloscope mode is designed for viewing single-values waveforms such as pattern waveforms. Eye/Mask mode is designed for multi-valued waveforms such as eye diagrams.

You can also provide a trigger using a hardware clock recovery module. When the trigger edge transitions through a predefined threshold (typically on the rising edge), the oscilloscope starts sampling and acquiring signal data and then reconstructs the waveform to display it on the screen.

Learn more about triggering…

Instrument Modes

The instrument can be placed in one of four instrument modes:

  • Eye/Mask Mode for eye diagram analysis and standards testing (for example, SONET/SDH, Gigabit Ethernet, and Fiber Channel).
  • Jitter/Amplitude Analysis Mode. Requires Option ETR Enhanced Trigger and Option 200. Also requires Option 300, if Amplitude Analysis is desired. Licenses can be purchased after the initial instrument purchase.
  • Oscilloscope Mode for single-valued waveforms.
  • TDR/TDT Mode for time domain reflectometry measurements. TDR/TDT Mode is not available from the FlexDCA application. To make TDR/TDT measurements, click File > Exit to open the standard 86100D interface.

The 86100D's graphical user interface is known as FlexDCA, and it is important to understand the different ways in which the 86100D and FlexDCA can be used.

  • FlexDCA Ecosystem

Note

For optimum measurement results, allow the temperature of the instrument to stabilize after applying power.

Oscilloscopes respond to trigger signals in different ways, depending on their architecture. Real-time oscilloscopes use a traditional oscilloscope architecture. The 86100D uses an equivalent-time sampling architecture to acquire and display wide bandwidth waveforms. The following sections explain both the real-time and the equivalent-time sampling architectures.


Introduction

Architecture

  • Home
  • Quick Start
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • 86100D
  • N1010A
  • M-Series
  • Architecture

Sampling vs Read-Time Scope Architecture

Data Acquisition on a Real-Time Oscilloscope

REAL-TIME SCOPE ADVANTAGES

  • Able to display one-time transient events
  • No explicit trigger needed
  • Does not require a repetitive waveform
  • Measures cycle to cycle jitter directly
  • Large record lengths/deep memory

A real-time oscilloscope, sometimes called a “single-shot” scope, captures an entire waveform on each trigger event. Put another way, this means that a large number of data points are captured in one continuous record. To better understand this type of data acquisition, imagine it as an extremely fast analog-to-digital converter (ADC) in which the sample rate determines the sample spacing and the memory depth determines the number of points that will be displayed. In order to capture any waveform, the ADC sampling rate needs to be significantly faster than the frequency of the incoming waveform. This sample rate, which can be as fast as 80 GSa/s, determines the bandwidth which currently extends to 63 GHz.

The real-time scope can be triggered on a feature of the data itself, and often a trigger will occur when the incoming waveform’s amplitude reaches a certain threshold. It is at this point that the scope starts converting the analog waveform to digital data points at a rate asynchronous and very much unrelated to the input waveform’s data rate. That conversion rate, known as the sampling rate, is typically derived from an internal clock signal. The scope samples the amplitude of the input waveform, stores that value in memory, and continues to the next sample as illustrated in Figure 1. The trigger’s main job is to provide a horizontal time reference point for the incoming data.

Figure 1. Waveform Acquisition Using a Real-Time Oscilloscope

Data Acquisition on an Equivalent-Time Sampling Oscilloscope (86100D)

SAMPLING SCOPE ADVANTAGES

  • Lower sampling rate allows higher resolution ADC conversion
  • Wider bandwidth
  • Lower noise floor
  • Lower intrinsic jitter
  • Can include front end optical modules
  • Can achieve solutions at a reduced cost

In contrast to the real-time scope, an equivalent-time sampling oscilloscope, sometimes simply called a “sampling scope,” only samples the input signal once per trigger. The next time the 86100D is triggered, a small delay is added and another sample is taken. This incremental delay time is determined by the time base setting and the number of sample points. The intended number of samples determines the resulting number of cycles needed to reproduce the waveform. The measurement bandwidth is determined by the frequency response of the sampler which currently can extend beyond 80 GHz.

The triggering and subsequent sampling of 86100D is different from a real-time oscilloscope in some very tangible ways:

  • An external trigger signal that is synchronous with the input data is required, as the 86100D can not synchronize directly to the signal being measured. You can also provide a trigger using a hardware clock recovery module.
  • The 86100D must be armed and an input channel must be turned on in order to respond to a trigger. The 86100D is armed when it is in the run mode or in single acquisition mode (press the 86100D's Stop Single button). Press the button repeatedly to rearm the 86100D.
  • A significant delay occurs between the time when the 86100D responds to a trigger and when the 86100D is armed and able to respond to another trigger. This delay (re-arm or setup-and-hold time) is on the order 25 µs. Therefore, while the rearming process occurs, many ignored trigger events can occur.
  • The displayed waveform consists of many sampled points, and each sampled point requires a trigger event (edge). For example, if a waveform trace consists of 500 points, then the 86100D must respond to at least 500 trigger edges.
  • A minimum time delay occurs between the time a trigger is received and when the data is actually sampled. This delay is on the order of 24 ns. Therefore, the signal at the trigger point (time zero) is usually not seen unless the data is delayed (through cable lengths/delay lines) relative to the trigger signal. You can change the amount of delay in the Timebase Setup dialog box.

There are two ways to trigger the 86100D and each results in a different data viewing format; either a bit stream or an eye diagram.

Viewing Bit Streams

Viewing the individual bits in the signal allows you to see the pattern dependencies in the system, but does not allow for high resolution with large numbers of bits. In order to view a bit stream, the trigger must only pulse once during the period of the input pattern and must be at the same relative location in the bit pattern for each event. The input signal is then sampled and upon the next trigger event, the incremental delay is added and the bit steam is sampled until the entire waveform is acquired. In order to view a bit stream on the 86100D, you must have a repetitive waveform; otherwise a real-time scope is needed. The triggering process to display a bit stream waveform is shown in Figure 3.

Figure 3. Sampling Process for a Bit Steam Pattern Waveform

Viewing Eye Diagrams

The other viewing mode is the eye diagram. This mode does not require a repetitive waveform and can help to determine noise, jitter, distortion, and signal strength among many other measurements. The eye diagram gives an overall statistical view of the system’s performance as it looks at an overlay of every combination of bits in the bit steam. The triggering required for this mode is a synchronous clock signal. At each trigger event, allowing for rearm time, the scope samples the data and builds the combination of all possible 1 and 0 combinations across the screen. Keep in mind the following points:

  • Full rate clocks as well as divided rate clocks can be used for the trigger, however if the length of the pattern is an even multiple of the clock divide ratio, the eye diagram will be missing combinations and will therefore be incomplete.
  • If the data is used as its own trigger, the eye diagram may appear complete, but the scope is only triggered on rising edges of the data pattern. This should be avoided to make accurate eye diagram measurements.

The triggering process to display an eye diagram is shown in Figure 4.

Note

An eye diagram can also be viewed with newer real-time oscilloscopes. These “real-time eyes” or “single-shot” eye diagrams are constructed using a software recovered clock or an external explicit clock provided by the user. The real-time scope slices the single long capture waveform at times equal to the recovered clock cycle and overlays these bits to recreate the eye diagram.

Figure 4. Sampling Process for an Eye Diagram Waveform

86100D Example 1. Square Wave (Repeating Signal)

The following figure shows a square wave to be measured as well as the trigger signal.

Note

This example illustrates how the signal to be measured can be split to also provide the trigger signal.

The square wave to be measured is a 1 GHz signal. The 86100D is configured to display 1001 points with a timebase scale of 100 ps/div (or 1000 ps across the full display). Therefore, the separation between points is 1 ps. When the 86100D is armed, it is ready to respond to the first rising edge of the square wave. After this trigger event occurs, the first sample is taken. The minimum delay between the trigger event and sample point 1 is 24 ns.

Note

The delay between the trigger event and sample point (minimum of 24 ns) is displayed on the left hand side of the display graticule.

The 86100D then rearms and waits for the next trigger event. When the next trigger is received, the delay between the trigger event and the sample for point 2 is 24 ns plus an additional 1 ps. The second sample is taken from a different location in the waveform, but its time position is precisely located relative to the trigger event. Thus when the samples are displayed on the screen, the first and second sample (and the 999 subsequent samples) are placed precisely 1 ps apart. The waveform is precisely reconstructed from samples taken at many separate locations of the waveform. The samples are not taken from many points sampled in one section of the waveform. This sampling and acquisition process illustrates the requirement for the waveform to be repetitive in order for the sampling scheme to be valid.

86100D Example 2. Data (Random, Non-Repeating Signal)

The following figure shows a random, non-repeating data signal. The trigger signal is a clock signal operating at the data rate. The rearm and delay times described in Example 1 apply to Example 2. The waveform is a 2 Gb/s signal; the instrument is configured to display 1001 points with a timebase scale of 100 ps/div. The first sample is taken as shown. The second sample is taken after the rearm and delay.

Due to the 25 µs rearm time, samples are acquired from arbitrary bits in the data stream. However, the timing of all samples is precisely known relative to the synchronous trigger edge. The displayed waveform is a precise reconstruction of samples taken from many bits in the digital waveform. The waveform is then a composite image of both high and low levels as well as the transitions between the two levels. This waveform is referred to as an eye diagram.

Note

Random data can produce an accurate eye diagram display, because the waveform is precisely synchronized to the clock signal used for a trigger.

Note

In this triggering and sampling scheme, an eye diagram can also be produced using a synchronous sub-rate clock signal as a trigger. For example, a 100 MHz clock can be used to trigger the instrument when measuring a 1 Gb/s waveform. Multiple rate clocks cannot be used.

86100D Example 3. Non-Random Signal with Repeating Pattern

The following graphic shows a digital waveform with a repeating pattern. It is not a random signal. The trigger signal is a pattern trigger. A pattern trigger is a signal that has a rising (or falling) edge that occurs only once per repetition of the pattern in a fixed position in time relative to the data pattern.

When the instrument is armed, it is ready to respond to the first trigger edge. After this trigger event occurs, the first sample point is taken. The minimum delay between the trigger event and sample point 1 is 24 ns. The instrument then rearms and waits for the next trigger event.

Note

The entire pattern is transmitted before the pattern trigger occurs a second time.

The second sample is then taken at a point in the pattern that is adjacent to the first sample point. Subsequent samples then follow continuously through a single section of the data pattern.

Note

If the pattern is long or the data rate is slow, the frequency of trigger events may be low. This results in a long period of time to measure and display the waveform.

Plug-in Modules

INSTALL or REMOVE MODULES

You do not need to turn off the mainframe to install or remove the modules. The module can be installed in either the left or right instrument. To ensure the instrument meets all published specifications there must be a good ground connection between the module and mainframe. The RF connectors on the rear of the module are spring-loaded; therefore, you must finger-tighten the knurled screw on the front panel of the module to ensure the module is securely seated in the mainframe.

Plug-in modules have two measurement channels (optical/electrical, dual optical, or dual electrical) and provide sampling for the instrument. Most modules occupy one of two mainframe slots and can be installed in either the left (channels 1 and 2) or right (channels 3 and 4) slots of the mainframe. The 86107A precision timebase module and the 86108A precision waveform analyzer module (includes a precision timebase) both improve the jitter performance of the instrument. This improved performance allows the instrument to measure the true jitter of your signal. The precision timebase module can also be installed in either slot of the mainframe.

Note

To ensure the module obtains the specified accuracy, perform a module calibration. The module calibration is recommended when the instrument power has been cycled, a module has been removed and then reinserted since the last calibration, a change in the temperature of the mainframe exceeds 1°C compared to the temperature of the last module (amplitude) calibration (ΔT > 1°C), or the time since the last calibration has exceeded 10 hours.

Block Diagrams

The following simplified block diagrams show the instrument's architecture for several different types of plug-in modules. They are not designed to show every feature. For example, only one representative input channel is shown.

Figure 5. 86100D with Receiver Module

Figure 6. 86100D with Clock Recovery Module

Figure 7. 86100D with 86107A Precision Timebase Module

Figure 8. 86100D with 86108A/B Precision Waveform Analyzer Module


Navigating the Help

As shown in the following picture, the help system includes a navigation window which you can open and close by clicking this icon: The navigation pane includes tabs for opening Contents, Index, Search, and Favorites panes. While viewing any help topic, you can use keyboard shortcuts to open any of the navigation panes (if not already open).

Help System Keyboard Shortcuts
Command | Shortcut
Open Contents pane | Alt + o
Selecting topics within topic list | Type first letter of topic name or use up and down arrow keys.
Open Index pane | Alt + n
Select keword entry field | Alt + w
Display selected topic | Alt + d
Selecting topics within topic list | Type first letter of topic name or use up and down arrow keys.
Open Search pane | Alt + s
Select search entry field | Alt + w
List topics that include the search text | Alt + l
Selecting topics within topic list | Type first letter of topic name or use up and down arrow keys.
Display selected topic | Alt + d
Search previous results | Alt + u
Match similar words | Alt + m
Search titles only | Alt + r
Open Favorites pane | Alt + i
Select topics field | Alt + p
Selecting topics within topic list | Type first letter of topic name or use up and down arrow keys.
Remove selected topic | Alt + r
Display selected topic | Alt + d
Select Current topic field | Alt + u
Add current topic to list of favorites | Alt + a
Print Topic | Ctrl + p


Undo, Redo, and History

The Undo, Redo, and History menu commands allow you to undo or re-apply previous actions that you have. Click Undo to undo the previous action. Click Redo to re-apply an Undo.

When you click on History, the History sub-menu appears, which lists each of your past actions, such as initiating an Autoscale or displaying a channel. Click on the listings in the sub-menu to return the instrument to a previous measurement setting. When you click on an Undo command, all intervening commands are also undone. You can erase all sub-menu listings by clicking the Clear History command.

Click Setup > Undo, Redo, and History to find these commands.

Hover the pointing device over an Undo or Redo command to view a small preview image that shows you the resulting display if you click the command.


Working in Comfort

Safety

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Safety
  • Work In Comfort
  • ESD
  • Connector Care

Work In Comfort

Note

The following information is subject to change without notice. Keysight Technologies makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Keysight Technologies shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material.

To optimize your comfort and productivity, it is important that you set up your work area correctly and use your instrument properly. With that in mind, we have developed some setup and use recommendations for you to follow based on established ergonomic principles. Improper and prolonged use of input devices are among those tasks that have been associated with repetitive strain injury (RSI) to soft tissues in the hands and arms. If you experience discomfort or pain while using the instrument, discontinue use immediately and consult your physician as soon as possible. You may also wish to consult your employer's human resources department or other relevant departments for guidance specific to your company.

About Repetitive Strain Injury

Because your comfort and safety are our primary concern, we strongly recommend that you use this instrument in accordance with established ergonomic principles and recommendations. Scientific literature suggests that there may be a relationship between injury to soft tissuesespecially in the hands and armsand prolonged improper use of input devices requiring repeated motions of the hands and forearms. This literature also suggests that there are many other risk factors that may increase the chance of such injury, commonly called Repetitive Strain Injury (RSI).

What is RSI? Repetitive Strain Injury (RSIalso known as cumulative trauma disorder or repetitive motion injury) is a type of injury where soft tissues in the body, such as muscles, nerves, or tendons, become irritated or inflamed. RSI has been a reported problem for those who perform repetitive tasks such as assembly line work, meatpacking, sewing, playing musical instruments, and computer work. RSI also has been observed in those who frequently engage in activities such as carpentry, knitting, housework, gardening, tennis, windsurfing and lifting children.

What causes RSI? The specific causes of RSI have not been established. Nevertheless, the incidence of RSI has been associated with a variety of risk factors, including

  • Too many uninterrupted repetitions of an activity or motion.
  • Performing an activity in an awkward or unnatural posture.
  • Maintaining static posture for prolonged periods.
  • Failing to take frequent short breaks.
  • Other environmental and psychosocial factors.

In addition, there have been reports associating the occurrence of RSI with the use of keyboards, mice, and other input devices. Also, certain medical conditions, such as rheumatoid arthritis, obesity and diabetes, may predispose some people to this type of injury.

What if I experience discomfort? If you are experiencing any discomfort, seek professional medical advice immediately. Typically, the earlier a problem is diagnosed and treated, the easier it is to resolve.

Mice and Other Input Devices

Various aspects of using mice and other input devices may increase your risk of discomfort or injury. Observing the following recommendations may reduce that risk.

  • Try to keep your hand, wrist, and forearm in a neutral position while using your mouse or other input device.
  • If you use your thumb to rotate the ball on a trackball, keep it in a relaxed, natural shape, and maintain a neutral posture in your hand, wrist, and forearm.
  • Hold the mouse gently by draping your fingers over it. Keep your hand relaxed and fingers loose. Do not grip the mouse tightly.
  • It takes very little pressure or force from your fingers to activate the buttons or scroll wheel on your mouse, scrolling mouse, trackball, or other input device. Using too much force can place unnecessary stress on the tendons and muscles in your hands, wrists, and forearms.
  • If you are using a scrolling mouse, be sure to keep your fingers and hand in a relaxed, neutral position when activating the scroll wheel. Also, this type of mouse features software that can minimize the number of mouse movements or button clicks.
  • When using a mouse, trackball, or other input device, position it as close to the keyboard as possible, and keep it at the same level as you do not have to stretch while using it.
  • Use a good quality mouse pad to enable the mouse to work most effectively and reduce unnecessary hand and wrist movements.
  • Be sure to keep your mouse and trackball clean. Regular removal of accumulated dust and dirt helps ensure proper tracking and reduces unnecessary hand and wrist motions.


General Safety Considerations

Safety

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New
  • Safety
  • Work In Comfort
  • ESD
  • Connector Care

Safety

When working on the 86100D, observe the safety information presented in the following topics. Addition safety information and installation instructions can be found in the 86100D Quick Start Guide which is located on the 86100D's documentation CD.

General Safety Considerations

This product has been designed and tested in accordance with the standards listed in the Manufacturer's Declaration of Conformity, and has been supplied in a safe condition. The documentation contains information and warnings which must be followed by the user to ensure safe operation and to maintain the product in a safe condition.

Safety Notice Definitions

WARNING denotes a hazard. It calls attention to a procedure which, if not correctly performed or adhered to, could result in personal injury or loss of life. Do not proceed beyond a warning note until the indicated conditions are fully understood and met.

CAUTION denotes a hazard. It calls attention to a procedure that, if not correctly performed or adhered to, could result in damage to or destruction of the product. Do not proceed beyond a caution note until the indicated conditions are fully understood and met.

Safety Notices

Note

The front-panel ON/Standby switch places the instrument in Standby. The instrument is still energized.

Note

The main power cord can be used as the system disconnecting device. It disconnects the mains circuits from the mains supply.

If this product is not used as specified, the protection provided by the equipment could be impaired. This product must be used in a normal condition (in which all means for protection are intact) only.

No operator serviceable parts inside. Refer servicing to qualified service personnel. To prevent electrical shock do not remove covers.

This is a Safety Class 1 Product (provided with a protective earthing ground incorporated in the power cord). The mains plug shall only be inserted in a socket outlet provided with a protective earth contact. Any interruption of the protective conductor inside or outside of the product is likely to make the product dangerous. Intentional interruption is prohibited.

To prevent electrical shock, disconnect the Keysight Technologies model 86100C from mains before cleaning. Use a dry cloth or one slightly dampened with water to clean the external case parts. Do not attempt to clean internally.

VENTILATION REQUIREMENTS: When installing the product in a cabinet, the convection into and out of the product must not be restricted. The ambient temperature (outside the cabinet) must be less than the maximum operating temperature of the product by 4°C for every 100 watts dissipated in the cabinet. If the total power dissipated in the cabinet is greater than 800 watts, then forced convection must be used.

Always use the three-prong AC power cord supplied with this instrument. Failure to ensure adequate earth grounding by not using this cord may cause product damage.

This instrument has autoranging line voltage input. Be sure the supply voltage is within the specified range.

Do not use too much liquid in cleaning the oscilloscope. Water can enter the front panel, damaging sensitive electronic components.

This product is designed for use in INSTALLATION CATEGORY II and POLLUTION DEGREE 2 environment.

Installation Category: Installation Categories (overvoltage categories) are determined by the transient overvoltage levels that may be expected. CAT I: Mains isolated. CAT II: Line voltage in appliance and to wall outlet. CAT III: Line voltage behind wall outlet to next level of distribution.

Install the instrument according to the enclosure protection provided. This instrument does not protect against the ingress of water. This instrument pro-tects against finger access to hazardous parts within the enclosure.

If the Infiniium DCA is mounted in a rack or cabinet, do not use the system's power switch to disconnect power from the Infiniium DCA. Instead, use the Infiniium DCA's front-panel power switch. Using the system power switch may corrupt the Windows XP registry requiring you to perform a recovery process to restore normal operation to the Infiniium DCA.

Avoid touching the screen with a sharp object, as this could result in damage to the display. Instead, use your finger.

Electrical channel input circuits and the trigger input circuit can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to the front-panel input connectors. Prior to connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure that the instrument is properly earth-grounded to prevent buildup of static charge. Wear a wrist-strap or heel-strap. More information can be found in the online help.

Optical channel fiber-optic connectors on plug-in modules are easily damaged when connected to dirty or damaged cables and accessories. When you use improper cleaning and handling techniques, you risk expensive instrument repairs, damaged cables, and compromised measurements. Before you connect any fiber-optic cable to the 86100C, refer to information in the online help.

Note

Install the instrument so that the detachable power cord is readily identifiable and is easily reached by the operator. The detachable power cord is the instrument disconnecting device. It disconnects the mains circuits from the mains supply before other parts of the instrument. The front panel switch is only a standby switch and is not a LINE switch. Alternatively, an externally installed switch or circuit breaker (which is readily identifiable and is easily reached by the operator) may be used as a disconnecting device.


Contacting Keysight

For technical assistance, contact your local Keysight Call Center:

  • In the Americas, call 1 (800) 829-4444
  • In other regions, visit www.keysight.com/find/assist

Before returning the instrument for service, you must first call the Call Center at 1 (800) 829-4444.

Colophon

This HTML help system, including topics and cascading style sheets, was created using Adobe Dreamweaver. Illustrations were created using a digital camera, Adobe Illustrator, Adobe Photoshop, and TechSmith's SNAGIT. The source files were compiled using The Helpware Group's FarHTML application.


Windows

CERTIFICATE of AUTHENTICITY

The Windows 7 "Proof of License / Certificate of Authenticity" sticker is attached to the instrument's rear panel. This sticker indicates that a valid copy of Windows 7 is installed on the instrument.

On your 86100D, you can access Windows 7 just as you would on your personal computer. Use Windows 7 to manage files and folders, add, remove, and setup printing, configure networking, and install additional applications. If the 86100D is connected to a network, it is recommended that you keep Windows 7 updated using the Control Panel's Automatic Update feature. Some firewall applications might block SICL/LAN communications.

FlexDCA running on the 86100D, uses the Windows versions shown in the following table.

Windows Version
86100D Serial Prefix | Windows
MY5415 and Above | Microsoft Windows Embedded Standard 7 (WES7 64 bit)
Below MY5415 | Microsoft Windows XP Pro

N1010A FlexDCA Remote Access is compatible with the following Windows versions:

  • Windows 7 and 8.1 (64-bit version)
  • Windows 7 and 8.1 (32-bit versions starting with FlexDCA version A.05.01)

The N1010A is not compatible with Windows XP.

If the Infiniium DCA is mounted in a rack or cabinet, do not use the system power switch to disconnect power from the instrument. Instead, use the Infiniium DCA front-panel power switch. Using the system power switch may corrupt the Windows 7 registry requiring you to perform the recovery procedure to restore normal operation to the Infiniium DCA.

Access Windows 7

To minimize the 86100D DCA application

  • Click the minimize button that is located at the top right-hand corner of the display.
  • Click File > Minimize.
  • Press ALT-spacebar on the keyboard.

To exit the 86100D DCA application

  • Click File > Exit.

To view the Windows Start Menu

  • Press the keyboard's Windows logo key.
  • Press CTRL-ESC on the keyboard.

To return to the 86100D Application

  • Click the taskbar button, if the application is minimized.
  • Double click the program icon, if you need to start the application.

Screen/Pen/Touch Calibration

Click here to learn how to calibrate the screen for touch and pen accuracy.

Do Not Change These Windows Settings

There are several Windows system settings that can be changed to suit your own personal preferences. However, there are some system settings that you should avoid changing because it will interfere with the proper operation of the instrument.

  • Do not change the Power Options.
  • Do not change the System Properties Hardware Tab settings.
  • Do not change the System Properties Advanced Tab settings.
  • Do not change the Regional and Language Options Advanced Tab settings.
  • Do not remove fonts.
  • Display Settings
  • Do not turn off the screen saver. The screen saver turns off the display's backlights extending their life.
  • Do not change the screen resolution from 640 by 480 pixels or the color quality from High (24 bit).
  • Do not use the Windows 7 Theme.
  • Do not change "Windows and buttons" from the "Windows Classic Style".
  • Do not change the Font size to Extra Large.
  • Do not change the menu font or size.
  • Do not modify "1. Digital Flat Panel (640x480) on Chips and Technologies (Asiliant) 65550".
  • Do not set "Intel (r) 82815 Graphics Controller" to "Use this device as the primary monitor".
  • Do not use the Administrative Tools to enable or disable Internet Information Services (Web Server).
  • Do not delete or modify the InfiniiumAdmin user account.

Before changing any Windows System settings outside of the Infiniium DCA application you should exit the 86100D application. Click File > Exit.

User Accounts

Windows 7 is configured with the following three user accounts: dca-admin, dca-user, and dca-service. The dca-service account is the only account that is password protected and is only provided for factor technicians. This account is not customer accessible. If the two remaining accounts are not sufficient for your needs, you can add your own user account using the following steps in Windows 7:

  1. Create the account.
  2. Open the account.
  3. Load the 86100D theme for the account. this theme can be located in C:\Keysight\86100D.themepack.

Installing Windows Applications

Although the 86100D is an instrument and not a personal computer, the operating system is accessible. This makes it possible for you to install applications such as virus protection software. If the performance of the Infiniium DCA application decreases while running other applications, you may need to close those applications that are demanding processor resources. It is also suggested that you schedule automatic virus scans for times when you are not making measurements.

If you install an application, it is possible that the application may not run properly. Installing an application may also disrupt the Infiniium DCA application, which may require you to recover the Infiniium DCA application.

Before installing any software, you should exit the Infiniium DCA application. Click File > Exit.

Screen Saver

By using the screen saver, you can extend the life of the display's backlight. This is useful if you are using remote measurements or leaving the instrument unattended for long periods of time. To use the Windows XP Professional screen saver utility.

  1. Click File > Exit.
  2. Click Start to view Windows Administrator.
  3. Click Control Panel and then click the Display icon.
  4. In the Display Properties dialog box, select the Screen Saver tab.
  5. Increase or decrease the wait time value.
  6. To reactivate the backlight:
    • touch the display screen
    • move the mouse (if applicable)
    • touch any button on the instrument front panel
    • turn any knob on the instrument front panel

Note

If you are operating the instrument remotely, you can turn on the backlight by pressing the Local button on the instrument front panel. This will reactivate the backlight and place the instrument in local operation. When the backlight is turned back on, the turn off time period is reset.

Networking, Printing, and Files

All network configuration tasks (including printing and file sharing) are performed directly from Windows 7. From Windows 7, you can configure networking for you 86100D as well as printing for networked printers. You can also share 86100D folders with computers in your network making file transfers easy. The following information will help you to learn about the Windows 7. For detailed information, refer to the many excellent books available at your local bookstore.

Because the network setup is different for every company, always have your company's network administrator configure your instrument for your network. This includes setting up the appropriate client, protocol, and configuration for your local area network (LAN) as well as setting up printing and file sharing.

  1. Click File > Exit to close the 86100D application.
  2. Click Start to view Windows Administrator.
  3. Click Help and Support to get detailed information.
  4. Click Search to locate files, folders, and computers.
  5. Click Printers and Faxes to install a print driver. For printers with Plug and Play capability, this will not be necessary as Windows will automatically recognize and install the printer.
  6. Click My Computer to set up a network connection, map a network drive, or share an 86100D folder. You can share any folder on the USER (D:) drive.

If you can not establish a connection to a network drive, install the Keysight IO Libraries LAN patch:

  1. Locate the file C:\InfiniiumInstaller\AgtInstIoLanPatch.msi.
  2. Double click on the file to run the patch.
  3. Follow the on-screen instructions. When the installation options are displayed, select the Repair option.


About FlexDCA

Click Help > About FlexDCA to view information about your version of FlexDCA. You can use this information when you need to contact Keysight Technologies technical support. For each module listed, the module options are included. Software options are also included for any listed software. The dialog box also provides the URL for locating the FlexDCA web page on Keysight.com. You can always download the latest firmware from http://www.keysight.com/find/86100D_download. In the unlikely event that you experience a problem with FlexDCA for which you need to contact Keysight support, click Save Support Info. This saves the file FlexDcaSupport.zip on the Windows desktop. This file contains important diagnostic information that may help Keysight support to resolve the issue.

The Graphics Performance entry shows the level of graphics support, which for the 86100D is always HIGH. If FlexDCA is installed on your PC, the performance level must be HIGH for you to use mode switching animation. If the level is MEDIUM or below, you will not be able to use this FlexDCA feature.


Trademark Acknowledgements

There are no trademark acknowledgements.


Technical Support

MAKE BACKUPS!

Remember to always make backups of important files. Data stored on the instrument hard disk may be erased after a repair. You can restore the files from the backup.

Always call the Keysight Technologies Instrument Contact Center to initiate service before returning the 86100D to a service office. This ensures that the repair (or calibration) can be properly tracked and that your instrument will be returned to you as quickly as possible. In the Americas, call the Instrument Contact Center, regardless of where you are located, at (800) 829-4444. In other regions, visit the Test and Measurement Web Sites by Country page at www.keysight.com/find/assist.

If the instrument is still under warranty or is covered by a maintenance contract, it will be repaired under the terms of the warranty or contract. If the instrument is no longer under warranty or is not covered by a maintenance plan, Keysight Technologies will notify you of the cost of the repair after examining the unit.

Preparing the Instrument for Shipping

  1. Write a complete description of the failure and attach it to the instrument. Include any specific performance details related to the problem. The following information should be returned with the instrument.
    • Type of service required.
    • Date instrument was returned for repair.
    • Description of the problem:
    • Whether problem is constant or intermittent.
    • Whether instrument is temperature-sensitive.
    • Whether instrument is vibration-sensitive.
    • Instrument settings required to reproduce the problem.
    • Performance data.
    • Company name and return address.
    • Name and phone number of technical contact person.
    • Model number of returned instrument.
    • Full serial number of returned instrument.
    • List of any accessories returned with instrument.
    • The original cal data disks.
  2. Cover all front or rear-panel connectors that were originally covered when you first received the instrument.

    3. Cover electrical connectors to protect sensitive components from electrostatic damage. Cover optical connectors to protect them from damage due to physical contact or dust.

    Instrument damage can result from using packaging materials other than the original materials. Never use styrene pellets as packaging material. They do not adequately cushion the instrument or prevent it from shifting in the carton. They may also cause instrument damage by generating static electricity.

  3. Pack the instrument in the original shipping containers. Original materials are available through any Keysight Technologies office. Or, use the following guidelines:
    • Wrap the instrument in anti-static plastic to reduce the possibility of damage caused by electrostatic discharge.
    • For instruments weighing less than 54 kg (120 lb), use a double-walled, corrugated cardboard carton of 159 kg (350 lb) test strength.
    • The carton must be large enough to allow approximately 7 cm (3 inches) on all sides of the instrument for packing material, and strong enough to accommodate the weight of the instrument.
    • Surround the equipment with approximately 7 cm (3 inches) of packing material, to protect the instrument and prevent it from moving in the carton. If packing foam is not available, the best alternative is S.D-240 Air Cap from Sealed Air Corporation (Commerce, California 90001). Air Cap looks like a plastic sheet filled with air bubbles. Use the pink (antistatic) Air Cap to reduce static electricity. Wrapping the instrument several times in this material will protect the instrument and prevent it from moving in the carton.
  4. Seal the carton with strong nylon adhesive tape.
  5. Mark the carton "FRAGILE, HANDLE WITH CARE".
  6. Retain copies of all shipping papers.


Glossary (A)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

ac Vrms (Oscilloscope Mode)

The AC Vrms is a modified rms (root-mean-square) measurement. It removes the DC component of the waveform from the calculation of the rms voltage.

Acquire Entire Pattern

The Acquire Entire Pattern feature is used in Eye/Mask mode to view averaged eye diagrams as well as a pattern's bits. On FlexDCA, there is no 86100D Eyeline mode selection on the Trigger Setup dialog box. Instead, Instead, use the Acquire Entire Pattern and Wrap Waveform selections in the Waveform Acquisition Setup dialog box is used.

Acquisition

Acquisition is the process of sampling an analog input waveform, then digitizing the sampled data, and finally storing the samples in memory. The stored values represent the waveform record that can be displayed as a waveform on the instrument display graticule and analyzed, or transferred to an external computer for further analysis. The Acquisition control allows you to define the way the instrument acquires data from the input waveform. You can set up the instrument to continuously acquire data, or you can acquire data in single cycles. Acquisition control also allows you to enable waveform averaging and select the number of averages and record length (points per waveform).

ADC

(Analog-to-Digital Converter) The part of the hardware acquisition system in an instrument that converts the analog input waveform into discrete digital values that make up the waveform record.

Aliased Waveform

A waveform is aliased when it is sampled at a frequency that is less than two times the highest frequency component of the waveform. For the best waveform fidelity, the sample rate should be at least four times the highest frequency component of the waveform.

Aliasing

The process of displaying a high frequency waveform that is sampled at too low of a sample rate. The waveform appears as a signal at a lower frequency.

Asynchronous Periodic Jitter

Asynchronous Periodic Jitter is periodic jitter that is uncorrelated to the data rate. It is one component of Periodic Jitter (PJ). The other component is Sub-Rate Jitter. Asynchronous PJ can be measured on instruments having Option 200, Enhanced Jitter Analysis Software, installed. Causes of Asynchronous PJ include power supply switching breakthrough and some instances of crosstalk.

Attenuation

The process of reducing the amplitude of a waveform without introducing significant distortion. For example, the input waveform to a standard 10:1 probe will be reduced, or attenuated, by a factor of 20 dB.

Auto Scale

Auto Scale is a control that is used for a quick, automatic vertical scale, horizontal scale, and trigger level adjustment. Auto Scale evaluates the input waveforms and adjusts the instrument's controls to get a stable waveform display. Auto Scale only works on channels that are turned on.

Average Power (Eye/Mask Mode)

Average power is a measure of the true average (dc) component of an optical signal. This measurement is commonly used when identifying the fundamental parameters of a lightwave transmitter. It differs from other eye measurements because it does not rely on the waveform display in order to determine the measurement.

Averaging

A waveform acquisition mode in which the instrument acquires waveforms from multiple data acquisitions and then averages the waveforms together, point by point. Averaging significantly reduces noise and improves resolution of the displayed waveform. The noise sources can average to zero over time while the underlying waveform is preserved. The effective resolution of the displayed waveform increases as more acquisitions are averaged together, provided that the input waveform is repetitive and has a stable trigger point. This improves the stability of both the display and waveform measurements.


Glossary (B)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Backlight Saver

An instrument control that turns off the display backlight after a defined period of inactivity (for example, 2, 4, 6, or 8 hours). Enabling this control will extend the life of the display backlight. This is useful if you are using remote measurements or leaving the instrument unattended for long periods of time.

Bandwidth Limit or BW Limit

The bandwidth limit is the instrument control that reduces the high frequency noise of a waveform by the use of a low-pass filter in the channel or trigger path of the instrument. Signals with high frequency content may be distorted when the bandwidth is limited.

Bitmap or .bmp

Bitmap, or .bmp , is a standard graphics format used for storing bit mapped graphic files that can be imported into other Window applications for documentation purposes. You can save the .bmp file to the internal hard disk or an external memory device. This is a 24-bit color file format.


Glossary (C)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Coherency

The optical power emitted from a laser diode after a specific current threshold is reached. Also known as Stimulated Emission.

Color Grade (Waveform Persistence)

The color grade persistence mode displays the sampled data points for an endless period of time. This persistence mode uses seven color levels to represent the total number (density) of data counts acquired on a pixel (time and amplitude display coordinate) of the display graticule. Every time a display is acquired on a display coordinate, the counter for that coordinate is incremented. Each color used for the color grade mode represents a range of data counts. As the total count increases, the range of hits represented by each color also increases. The maximum count for each counter is 63,488. If color grade is left on for a long time the waveform will become saturated with the color of highest hits.

You can use the color grade persistence mode to display waveforms that use the instrument's measurement database. This database consists of all data samples displayed on the screen. The measurement database provides the data for the construction of histograms and the generation of mask tests.

Connect Waveform Dots

An instrument control that draws a line between consecutive data points on the display graticule allowing you to view what the waveform actually looks like. Connect waveform dots is a display feature and has no affect on the waveform data stored in the channel memory. The Connect Waveform Dots mode is not available in Eye/Mask Mode.

Crossing Percentage (Eye/Mask Mode)

Crossing percentage is a measure of the amplitude of NRZ eye diagram crossing points relative to the one level and zero level.

Crossing Point (Eye)

The point in time, in an NRZ eye diagram, where the rising edge of a waveform intersects with the falling edge.

CSV Format

The CSV format is an ASCII text file format in which values are separated using the comma character. It is a common format for importing data into spreadsheet (as well as other) applications.


Glossary (D)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Dark Calibration

Dark calibration (extinction ratio calibration) is a calibration that allows the instrument to identify internally generated offset (dark level) signals and remove them during the extinction ratio measurment calculations.

Data Dependent Jitter

Data Dependant jitter (DDJ) is pattern-related jitter caused by the combined effects of Inter-Symbol Interference (ISI) and Duty Cycle Distortion (DCD). In Jitter Mode, Data Dependent Jitter is the peak-to-peak spread of the histogram of all edges as shown in the DDJ Histogram graph.

dc Vrms (Oscilloscope Mode)

The DC Vrms measurement is the typical method of making an rms (root-mean-square) voltage measurement.

Delta ( Δ )

Greek letter Δ (uppercase) used to represent a finite change in a variable.

Delta Time

Delta time is a measure of the edge-to-edge time differences on a single source or between two waveform sources.

Deterministic Interference

Deterministic Interference (DI) is a measure of the amount of vertical interference on a signal that is due to deterministic causes. The corresponding jitter measurement is Deterministic Jitter (DJ).

Deterministic Jitter

Deterministic Jitter (DJ) is data-related jitter. DJ is the combined effects of the Data Dependent Jitter (DDJ) and Periodic Jitter (PJ). Deterministic Jitter is bounded, meaning that measured values do not increase with longer measurement times. In Jitter Mode, the aggregate deterministic jitter is derived from the Total Jitter Histogram graph. This histogram is the probability density function of all of the measured correlated and uncorrelated jitter.

Dual-Dirac Delta Model

A histogram model with tails that accurately represent the measured amount of random jitter (RJ) or Periodic Interference (PI) present on the signal. The model is used for extracting certain jitter parameters from data histograms. The dual-Dirac model is defined as a pair of impulse functions convolved with a normal or Gaussian function that has a standard deviation of RJ or PI.

Duty Cycle Distortion

Duty Cycle Distortion (DCD) is the result of ones having a different duration than zeros. One example of a cause of DCD is poorly matched transistors in an output stage. In Eye/Mask mode, DCD is a measure of the time separation between the rising edge and falling edge at the 50% level of an NRZ eye diagram (middle threshold). The duty cycle distortion is then the difference in time between the intersecting edges. The duty cycle distortion can also be viewed as a percentage of the time difference relative to the full bit period or the time between adjacent crossing points.

Duty Cycle Distortions (Jitter Mode)

Duty Cycle Distortion (DCD) is the result of ones having a different duration than zeros. One example cause of DCD is poorly matched transistors in an output stage. In Jitter Mode, DCD is a component of Data Dependent Jitter (DDJ). The other component is Inter-Symbol Interference (ISI). Duty Cycle Distortion, is derived from the Composite DDJ Histogram graph. It is the difference between the mean of the histogram of the rising edge positions and the mean of the histogram of the falling edge positions.

Duty Cycle (Oscilloscope Mode)

Duty cycle is the average duration that a waveform remains above the mid amplitude point as a percentage of the waveform period.

Dynamic Range

Dynamic Range specifies the amplitude (size) of a signal that can be input into the instrument at a particular vertical scale without overdriving the front end, resulting in an inaccurate acquisition of data.


Glossary (E)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Edge Triggering

Edge triggering is the instrument's triggering mode. A trigger event is defined as a transitioning edge of a specified polarity (slope) crossing a specified voltage threshold (level).

Effective Sample Rate

In equivalent-time sampling, a waveform record is built up by interleaving samples taken from multiple trigger events. This process allows samples in the waveform record to be spaced more closely together for repetitive or synchronous waveforms. As a result, the waveforms appear to have been sampled at a much higher rate, sometimes referred to as an effective sample rate.

Encapsulated Postscript or .eps

Encapsulated postscript or .eps is a standard graphics file format for use in Windows applications for documentation purposes. This file format prints at the highest possible resolution and speed for your printer. You can save the .eps file to the internal hard disk or an external memory device.

Note: .eps files can only be viewed with a software application that supports indexed color space. You can insert .eps files into a Microsoft® Word 97 or later document, and use a postscript printer to print the files. If you are using Microsoft Windows NT, Microsoft has documented this known defect associated with Word 97 and Windows NT: "OFF97: EPS File Is Not Printed or Is Printed Incorrectly Under Windows NT". You must install service release upgrade of Word 97 in or to print .eps images.

Equivalent Time Sampling

Equivalent time sampling is a sampling mode in which a signal is reconstructed by sampling multiple repetitions of the waveform at a low rate. In the equivalent time sampling mode, a waveform record is built up by interleaving samples taken from multiple trigger events. This process allows samples in the waveform record to be spaced more closely together for repetitive or synchronous waveforms. As a result, the waveforms appear to have been sampled at a much higher rate, sometimes referred to as an effective sample rate. The equivalent time sampling mode is used with repetitive or synchronous waveforms that have a stable trigger as a means to increase the effective measurement bandwidth.

Extinction Ratio (Eye/Mask Mode)

Extinction ratio is the ratio of the one level and the zero level of an eye diagram. This measurement is made in a section of the eye referred to as the eye window. Histograms are constructed using the sampled portions of the eye diagram within the eye window. One histogram is comprised of data points from only the upper half of the eye diagram (one level). The second histogram is comprised of data points from the lower half of the eye (zero level). The instrument analyzes the histograms and determines the histogram means.

Eye Diagram

An eye diagram is a waveform display that is typically produced by triggering the instrument with a synchronous clock signal. Data points are sampled and stored in the measurement database.

Eye Height (Eye/Mask Mode)

Eye height is a measure of the vertical opening of an eye diagram.

Eye Width (Eye/Mask Mode)

Eye width is a measure of the horizontal opening of an eye diagram.

Eye Window

The eye window provides the time boundaries within which signal parameters for eye diagrams are measured.

Eyeline Mode

See Acquire Entire Pattern.


Glossary (F)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Fall Time

In Eye/Mask Mode, fall time is a measure of the mean one level to zero level transition time of the data of an eye diagram. The data crosses through the following thresholds: the upper, middle, and lower thresholds, as well as through NRZ eye crossing points. In Oscilloscope Mode, fall time is a measure of the transition time of a waveform as the falling edge passes through the upper, middle, and lower threshold or logic levels.

Fast Fourier Transform (FFT)

Fast Fourier Transform is a mathematical algorithm that takes the sample points of a waveform in the time domain and computes the frequency components.

Ferrule

The mechanical assembly, within a connector, that holds the glass fiber. The ferrule is made from metallic or ceramic material with a common diameter of 2.5 mm.

Functions (Math)

Functions are mathematical operations (such as Add, Subtract, Multiply, Integrate, Versus for XY plots) that can be performed on input waveforms, stored waveform memories, or even other functions.


Glossary (G)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Graphics Interchange format or .gif

Graphics interchange format or .gif is a standard graphics format used to store bit mapped graphic files that can be imported into other applications for documentation purposes. You can save the .gif file to the internal hard disk or an external memory device. This is a compressed, 256-color file format. For .gif files, this instrument uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.

GPIB (General Purpose Interface Bus)

GPIB (General Purpose Interface Bus), or IEEE 488 bus, is an interconnect bus and protocol that allows multiple test and measurement instruments to be linked together in a network under the control of a computer. GPIB transfers data and commands with eight parallel data lines and several control and handshake lines.

Graticule

The graticule is where all the waveform data and markers are displayed on the screen. The display graticule is also referred to as the display grid or waveform viewing area.

Gray Scale (Waveform Persistence)

The gray scale waveform persistence mode displays the sampled data points for an endless period of time. This persistence mode uses one hue that varies in saturation and luminosity to represent the number (density) of data counts acquired on a pixel (time and amplitude display coordinate) of the display graticule. Every time a display is acquired on a display coordinate, the counter for that coordinate is incremented. Each level of saturation and luminosity used for the gray scale mode represents a range of data counts. The peak density of data counts is represented by the by the brightest regions of the waveform.

You can use the gray scale persistence mode to display waveforms that use the instrument's measurement database. This database consists of all data samples displayed on the screen. The measurement database provides the data for the construction of histograms and the generation of mask tests.


Glossary (H)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Histogram

A statistical representation of a waveform that shows the distribution of acquired data within a user-definable window.

Horizontal Scale

Horizontal scale is an instrument control that controls the x-axis or time per division of displayed waveforms. Horizontal scale is often referred to as sweep speed in some instruments.

Horizontal (Time Base) Reference

The horizontal reference point defines a specific delay value relative to the trigger event. You can view any data point on the screen using the reference point and the horizontal scale. You can then determine when the data point was sampled, relative to the trigger event.

Hue

Hue is the color the eye perceives such as red, blue, and green. The Hue control sets the color of the chosen display element. As the value for hue is increased from 0, the color changes from red, to yellow, to green, to blue, to purple, then back to red again at the maximum value of 100.

Hysteresis

Hysteresis helps to prevent false triggers from occurring on a falling edge due to noise when the rising edge is selected as the trigger edge (or on a rising edge when the falling edge is selected as the trigger edge).

The voltage through which the trigger signal must pass before the instrument is ready to accept another valid trigger is known as the arming voltage level. Hysteresis is the voltage difference between the arming level voltage and the trigger threshold level voltage.


Glossary (I)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Infinite Persistence

Infinite persistence is a display mode in which acquired waveforms remain on the display until the display is cleared or instrument settings are changed. As sample points are acquired, the luminosity of the sample points changes in intensity. Newly acquired sample points are shown at full intensity while previously acquired points are displayed at half intensity. You can use infinite persistence to measure worst case characterization of signal noise, jitter, drift, and timing.

Inter-Symbol Interference (ISIJ)

Inter-Symbol Interference Jitter (ISIJ) is pattern-related jitter and is a component of Data Dependent Jitter (DDJ). It is a measure of how much the jitter on a bit depends on its location within the pattern. ISIJ can be caused by insufficient bandwidth on channels and reflections that are the result of poor impedance matches. The other DDJ component is Duty Cycle Distortion (DCD). In Jitter Mode, ISIJ is derived from the Composite DDJ Histogram graph. It is the peak-to-peak spread of the histogram of the rising edges or the falling edges (whichever is greater).

Inter-Symbol Interference (ISI)

Inter-Symbol Interference (ISI) is pattern-related interference and is a component of Deterministic Interference (DI). It is a measure of how much the amplitude of a bit depends on its location within the pattern.


Glossary (J)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Jitter

(Jitter Mode and Eye/Mask Mode) Jitter is the measure of the time variances of the rising and falling edges of an eye diagram as these edges affect the crossing points of the eye.

(Oscilloscope Mode) Jitter is a measure of the time variances of the rising or falling edges of a pulse waveform at the middle threshold.

Joint Photographic Experts Group or .jpg

Joint Photographic Experts Group file format, or .jpg , is a graphics file format that can be imported into other applications for documentation purposes. It can be greatly compressed, but because this compression is lossy, it can result in reduced image quality. This format is a good choice where file size is a more important factor than image quality. This is a 256-color file format.

Note: This instrument uses the .jpg software written by the Independent JPEG Group.


Glossary (K)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no glossary entries that begin with the letter K.


Glossary (L)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Linear Interpolation

Linear interpolation is another term for connect dots. This is an instrument control that draws a line between consecutive data points on the display graticule allowing you to view what the waveform actually looks like. Connect waveform dots is a display feature and has no affect on the waveform data stored in the channel memory. The Connect Waveform Dots mode is not available in Eye/Mask Mode .

Luminosity

Luminosity is the relative brightness of a color. The luminosity control sets the color brightness of the chosen display element. Maximum color brightness is at 100% luminosity. Pure black is 0% luminosity.


Glossary (M)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Markers

Marker lines are used to determine the position or amplitude of the selected point on the display graticule. Marker lines can be positioned on either

  • a selected waveform source (input channel, waveform memory or waveform function)
  • independently anywhere on the display graticule

There are two sets of marker lines (XY pairs). One pair consists of solid lines; the other pair consists of dashed lines. The numerical value of the position(s) of the marker(s) is displayed.

Mask

A template consisting of numbered, shaded regions on the instrument display screen. The input waveform must remain within these regions in order to comply with industry standards. The waveforms that intrude these regions are mask violations.

Mask Test

A test process used to verify that waveforms generated by a test device conform to with industry standards.

Math Functions

Math functions are mathematical operations (such as Add, Subtract, Multiply, Integrate, Versus for XY plots) that can be performed on input waveforms, stored waveform memories, or even other functions.

Multiple-Valued Waveform

A method of representing a signal in which every horizontal acquisition point can have associated with it multiple amplitude values. An eye diagram is an example of a multiple-valued waveform. In contrast, a single-valued waveform is displayed by measuring and displaying one and only one amplitude value for each horizontal acquisition point.


Glossary (N)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Noise

Noise is an unwanted disturbance (voltage or current) superimposed on a useful waveform.

NRZ

(Non-return to zero) A type of signal coding that ensures in any one bit period, the signal is turned on for the entire duration of a logical one pulse and turned off (or nearly off) for the entire duration of a logical zero pulse.


Glossary (O)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Offset

The offset value represents an absolute value on the instrument display. The offset is positioned at

  • the middle of the display screen for electrical channels
  • two graticules down from the middle of the screen for optical channels

The offset value, along with the vertical scale, allows you to determine the amplitude of any point of a waveform on the display screen. The position of a waveform on the display screen is always relative to the offset value.

One Level (Eye/Mask Mode)

One level is a measure of the mean value of the logical 1 of an eye diagram.

Overshoot (Oscilloscope Mode)

Overshoot is a distortion that follows a waveform edge transition. This distortion occurs after the edge crosses through the waveform threshold levels; it can occur on either the rising or falling edge.


Glossary (P)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Pan and Zoom

Pan and Zoom refers to the instrument's ability to display different portions of the acquired waveform for your analysis. The ability to pan (move horizontally) and zoom (expand or compress horizontally) is important because of the additional insight it can reveal about the captured waveform. You may want to view both the big picture and specific little picture details with pan and zoom.

Pan uses the horizontal position to move the display to the left or to the right. You can see more detail as you zoom in using the horizontal scale or delayed sweep mode, or less as you zoom out, again using the horizontal scale.

Parametric Mask Format or .pcm

Parametric format, or .pcm masks are described in terms of a fixed set of parameters instead of polygons, as with standard ( .msk ) mask files. The Infiniium DCA's Create Mask tool uses parametric masks to allow you to create, modify, and save masks from the instrument's front panel.

Pattern Dependency

Pattern dependency is the behavior of a waveform as it is influenced by the preceding data pattern. For example, a logic level one that follows a logic level zero may have a different amplitude than a logic level one that follows a previously generated logic level one.

Pattern Lock

Pattern Lock is the ability of instruments with the enhanced trigger option to internally generate and lock onto a pattern trigger. The pattern trigger is derived from the supplied clock by automatically detecting bit rate, pattern length, and trigger divide ratio. Pattern Lock is automatically turned on whenever Jitter Mode is entered and can be turned on in Eye/Mask Mode and Oscilloscope Mode. When Pattern Lock is turned off, the instrument triggers off the data rate.

Pattern Waveform

Pattern waveform is a long, single-valued waveform created by concatenating the waveform for multiple bits in a pattern. Because a large number of bits can be included in the pattern waveform, these waveforms may require a large amount of memory.

PC Paintbrush Format or .pcx

PC Paintbrush Format or .pcx is the standard file format used for storing bit mapped graphic files that can be imported into other applications for documentation purposes. You can save the .pcx file to the internal hard disk or an external memory device. This is a compressed file format.

Periodic Interference

Periodic interference (PI) is a measure of the interference that is uncorrelated to the pattern, yet is periodic. Interference caused by a switching power supply is an example of periodic interference. The corresponding jitter measurement is Periodic Jitter (PJ).

Periodic Jitter

Periodic Jitter (PJ) is one component of Deterministic Jitter (DJ). The other component is Data Dependent Jitter (DDJ). PJ is predictable and not data related and often has sinusoidal jitter as a component. PJ can be caused by power supply switching breakthrough and some instances of crosstalk. PJ can be separated into its Asynchronous PJ and Sub-Rate Jitter components. In standard instruments, any Sub-Rate Jitter is included in the values of either DDJ or PJ. In Jitter Mode, the uncorrelated periodic jitter is derived from the RJ,PJ Histogram graph using a dual-Dirac delta model that is constructed with two identical Gaussian distributions each defined by the RJ (rms) value.

Persistence

Persistence is a function that determines how long a data point is kept on the display before the instrument erases it from the display.

Position (Time Base)

Position is an instrument control that allows you to define the delay between the time a trigger is received and when the data is actually sampled. This time is defined relative to the horizontal reference point (left edge or center of the graticule). Adjusting the delay moves the position of the input waveform horizontally. As the delay increases, the waveform moves to the left of the display graticule. As the delay decreases, the waveform moves to the right of the graticule.

Postscript or .ps Files

Postscript or .ps files, is a graphics file format that stores bit mapped graphic files in an encapsulated postscript format for direct use with postscript printers. You can save the .ps file to the internal hard disk or use directly with a printer. Postscript files can only be viewed with a software application that supports indexed color space.

PRBS (Pseudo Random Binary Sequence)

A repetitive, random, digital signal pattern.

Preshoot

Preshoot is a distortion that precedes a waveform edge transition. This distortion occurs after the edge crosses through the waveform threshold levels; it can occur on either the rising or falling edge.


Glossary (Q)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Q-factor

Q-factor is a figure of merit for an eye diagram indicating the vertical eye opening relative to the noise at both the high and low logic levels. Q-factor measurements are closely approximated using the Signal-to-noise measurement in the instrument.


Glossary (R)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Random Jitter

Random Jitter (RJ) is jitter that is unpredictable and not data related. RJ is unbounded, meaning that measured values increase with longer measurement times. Causes of RJ include noise on power supplies and in amplifiers. In Jitter Mode, RJ is derived by applying a fast Fourier transform to the RJ,PJ Histogram graph to transform the jitter values to the frequency domain.

Random Noise

Random noise (RN) is noise that is uncorrelated to the pattern and follows Gaussian statistics. The corresponding jitter measurement is Random Jitter (RJ).

Record Length

Record length is the number of points per waveform trace acquired. You can set the record length of the data acquisition to a value of 16 to 16,200 points per waveform. This control can be found in the Acquisition dialog box.

Recovered Clock

The Keysight 8349x series Clock Recovery modules extract clock and data information from electrical digital communications signals. The resulting trigger signal is made available to the instrument mainframe by way of a connector located on the rear panel of the module. The data signal is passed, with minimal insertion loss, to the reference receiver module. The module's front panel outputs are optimized for use with bit-error-ratio testers. The recovered clock output has a lower jitter modulation bandwidth than the front-panel Clock Auxiliary Output located on the module. Because of the reduced jitter modulation bandwidth on the mainframe trigger signal, a more complete view of the jitter on the waveform data is obtained.

Relative Trigger Bit

When the Pattern Lock is turned on, the Relative Trigger Bit value specifies an offset in data bits from the pattern trigger. Because the internally generated pattern trigger is synchronized to an unknown bit number in the data pattern, the Relative Trigger Bit does not specific an absolute bit in the data pattern.

Responsivity

Responsivity is the ratio of an optical detector's electrical output to its optical input, often as a function of optical wavelength.

Rise Time

Eye/Mask Mode rise time is a measure of the mean transition time of the data on the upward slope of an eye diagram. The data crosses through the following thresholds: the lower, middle, and upper thresholds, as well as through the crossing points of NRZ eyes. In Oscilloscope Mode, rise time is a measure of the transition time of a waveform as the rising edge passes through the lower, middle, and upper threshold or logic levels.

RMS

RMS is the root-mean-square (rms) of the voltage values of a waveform. Typically, the rms is taken over the first period of the displayed waveform.

RZ

Return to zero is a type of signal coding that ensures in any one bit period, the signal is turned on for the first half of a logical one pulse and turned off (or nearly off) for the second half of the logical one pulse. As with NRZ coding, the signal is turned off (or nearly off) for the entire duration of a logical zero pulse.


Glossary (S)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Saturation

The saturation of a color is the purity of the color or the absence of white. 100% saturated color has no white component. 0% saturated color is pure white.

Signal-to-Noise

Signal-to-noise is a ratio of the signal difference between one level and zero level relative to the noise present at both levels.

Significant Instant

A significant instant is any convenient, easily identifiable point on a signal (for example, a point on either the rising or falling edge of a pulse).

Single-Valued Waveform

A method of representing a signal in which every horizontal acquisition point has associated with it one and only one amplitude value. In contrast, an eye diagram is displayed by measuring and displaying multiple amplitude values for each horizontal acquisition point. Single-valued waveforms are captured and viewed in Oscilloscope Mode. Single-valued waveforms are also captured in Eye/Mask mode when pattern lock is on and Wrap Waveform is turned off.

Skew

Skew changes the horizontal position of a waveform on the display independent of any other waveforms on the display. Skew is typically used for overlaying waveforms, or eliminating timing difference caused by different cable and probe lengths. The time base position control moves all of the waveforms on the display at the same time, whereas skew moves individual waveforms. Skew is set to a default value of zero, and can be controlled using the Probe Setup dialog box in the Channel Setup dialog box.

Source

The source (input channel, function, waveform memory, or constant) used when performing tasks, such as measurements, math, or mask tests.

Standard Deviation

Standard deviation is the measure of the dispersion or spread of the data for a particular measurement.

Standard deviation is represented by the Greek letter sigma (s). In a Gaussian distribution, two sigma, or within ±1s of the mean, is where 68.3 percent of the data points reside. Six sigma, or within ±3s of the mean, is where 99.7 percent of the data points reside.

Stimulated Emission

The optical power emitted from a laser diode after a specific current threshold is reached. Also known as Coherency.

Sub-Rate Jitter

Sub-Rate Jitter (SRJ), also known as word synchronized distortion, is synchronous with the clock bit and has a frequency that is equal to the bit rate divided by an integer from 2 to 32. SRJ can be caused by one leg of a multiplexer that is always late. It can also be caused by sub-rate clock breakthrough on an output stage power supply. In standard instruments, any Sub-Rate Jitter is included in the values of either DDJ or PJ. The SRJ component is reported as a separate value.

Sweep Cycle Time

The time required for making a complete sweep and preparing for the next sweep. It can be measured as the time from the start of one sweep to the start of the next sweep.


Glossary (T)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Tag Image File or .tif

Tag Image File format, or .tif , is a high quality graphics file format that can be imported into other applications for documentation purposes. Widely supported across platforms (PC, Mac, UNIX), its better quality makes it a format of choice for master copies, but results in larger file sizes. This is a 256-color file format. For .tif files, this instrument uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.

Throughput

The rate at which the instrument can acquire, display, and make measurements on a waveform. The faster the throughput of an instrument, the more waveforms per second that it can process. Faster throughput in an instrument means less time required to achieve desired measurement results.

Tmaximum

Tmaximum is a measure of the time of the first occurrence of the first data sample with the maximum signal level.

Tminimum

Tminimum is a measure of the time at which the first data sample with the minimum signal level first occurs.

Total Interference

The TI measurement is derived from the Deterministic Interference (DI) and Random Noise (RN) measurements. The DI and RN values are combined according to a dual dirac model. This model is converted to a BER curve which is then evaluated at the desired BER to obtain the TI measurement.

Total Jitter

Jitter is the measure of the time variation of the rising and falling edges of an eye diagram as these edges affect the crossing points of the eye. Total Jitter represents the combined effects of all components of jitter: Deterministic Jitter (DJ) and Random Jitter (RJ).

Transition Time

In channel specifications, transition time is the time required for a channel to respond to leading-edge or falling-edge transitions between the instantaneous lower and upper amplitude limits of 10% and 90%. It is a calculated value derived from the channel bandwidth. For electrical channels it is 0.35/BW and for optical channels it is 0.48/BW.

Trigger Divide Ratio

The trigger divide ratio is the ratio between the data bit rate and the user-supplied trigger clock rate. Normally, this ratio is automatically detected whenever Pattern Lock is on. If the data rate is greater than 23.2 Gb/s, a divided trigger must be supplied.

Trigger Event

The trigger event occurs when the trigger edge crosses through the trigger threshold level.


Glossary (U)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no glossary entries that begin with the letter U.


Glossary (V)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Vertical Scale

Vertical scale is an instrument control that controls the y-axis or volts per division (watts per division for optical channels) for the selected channel. This control allows you to adjust the sensitivity of the instrument.

Verbose Format

An ASCII text file format that uses alphanumeric characters to represent the voltage values of a waveform. This format includes header information about the waveform and when it was acquired. The text file formats are a convenient method for transferring waveforms to other computer applications.

Vamptd

Vamptd is the amplitude of the waveform, which is defined by Vtop - Vbase.

Variable Persistence

The variable persistence mode displays the sampled data points for a defined period of time. The newly acquired sample points are displayed at full intensity (brightest) while the intensity of previously acquired sample points fade to black during the defined persistence time. You can use this mode to view infrequent events and rapidly changing waveforms.

Vavg

Vavg is a measure of the average value of the data sampled from the entire displayed waveform or a single period.

Vbase

Vbase is the voltage or power of the statistical minimum level of the waveform display.

Versus

Versus, or XY, is a display mode that converts the instrument from a volts versus time display to a volts versus volts display of two input channels, functions, and waveform memories. The XY display plots the voltage values of two selected inputs, with one input's voltage values displayed horizontally and the second input's voltage values plotted vertically. This is a useful display mode for evaluating phase relations between two waveforms.

Vmax

Vmax is the voltage or power of the absolute maximum value of the waveform.

Vmin

Vmin is the voltage or power of the absolute minimum value of the waveform.

Vp-p

V peak-to-peak (V p-p) is a measure of the difference between V max and V min of a displayed pulse waveform. V peak-to-peak is determined as Vmax - Vmin.

Vrms

Vrms is a measure of the rms of a pulse waveform. The instrument can make either AC or DC rms measurements.

Vtop

Vtop is the voltage or power of the statistical maximum level of the waveform display.


Glossary (W)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Waveform Memory

Waveform memory is a convenient, waveform storage area. A waveform memory contains a single waveform record along with the vertical and horizontal scaling factors for that waveform. Storing waveforms makes it easy for you to make comparisons between previously acquired and current active waveforms. You can also store the current waveform for future evaluation.

Waveform Record

The collection of acquired data in a waveform.

Workstation

Any networked personal computer (PC) using server resources.


Glossary (X)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

XY Display Mode

XY, or Versus, is a display mode that converts the instrument from a volts versus time display to a volts versus volts display of two input channels, functions, or waveform memories. The XY display plots the voltage values of two inputs, with one input's voltage values displayed horizontally and the second input's voltage values plotted vertically. This is a useful display mode for evaluating phase relations between two waveforms.


Glossary (Y)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Y Values Format

An ASCII text file format that uses alphanumeric characters to represent the voltage values of a waveform. This format stores only the voltage values of the acquired waveform. Unlike the Verbose format, this format does not include any other information about the waveform, only the voltage values. Text formatted files are convenient formats for transferring waveforms to other computer applications.


Glossary (Z)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Zero Level

Zero Level is a measure of the mean value of the logical 0 of an eye diagram.

Zoom

Zoom is a graphical instrument control that allows you to quickly expand a portion of the waveform in both the horizontal and vertical directions. You can draw a rectangle around a region of interest, then zoom will change the horizontal and vertical settings as needed to expand the waveform for closer inspection.


Histograms

DATABASE RECORDS ALL HITS

Even if the display shows only the most recent acquisitions, the measurement database keeps track of all display coordinates hit while the measurement database is building.

A histogram is a probability distribution derived from the waveform database (input channels, waveform memory, color-grade gray-scale memory, and math functions). The measurement database consists of all data samples displayed on the display. Every time a display sample point is acquired on a display coordinate, the counter for that coordinate is incremented. As the total count increases, the range of hits also increases. The maximum count for each counter is 232. If the histogram is left on for a very long time, the database will become saturated. The measurement database is active in the color grade persistence display mode (or gray scale persistence) and during the performance of mask tests.

The information in a histogram is used to perform statistical analysis on the waveform. You can define and display the histogram either vertically for voltage and power measurements or horizontally for timing measurements. The histogram is displayed as a series of horizontal or vertical lines each having a width of one display pixel. The source waveform may still be viewed through the histogram lines.

Histograms can be constructed in Oscilloscope, Eye/Mask, and TDR/TDT instrument modes.

A Vertical Histogram

Note

To avoid erroneous data, reset the measurement database. To reset the measurement database, press the Clear button located on the instrument front panel. You can also click Clear on the menu bar. Changing the vertical scale, offset, horizontal position, horizontal scale, and trigger settings also resets the measurement database.

Note

If mask testing or the color grade persistence display mode (or gray scale persistence) is enabled, the measurement database has already begun construction. The histogram is then derived from that database. The measurement database continues to build until the instrument stops acquiring data or the histogram, mask test, color grade/gray scale persistence features are turned off.

More Information

  • Histogram Configuration
  • Histogram Window
  • Histogram Results Table


Histogram Configuration

Use the Histograms dialog box to turn on and configure up to four histograms. Select Histograms On to turn on the selected histogram. The histogram default state is off. You can also open this dialog box by clicking the Configure button on the Histogram results table.

Click Measure > Histograms > Configure to open this dialog box.

Note

The default setup positions the histogram markers as follows:· X1 < X2· Y1 < Y2. The values of X1 and Y1 can be made greater than the values of X2 and Y2 by repositioning the markers. The histogram window is always the area inside the boundaries of X1 and X2 and Y1 and Y2, regardless of the marker values.

Histogram Source

Since histograms are derived from the instrument's measurement database, the histogram values correspond to a row or column in the database. The database that is used to construct the histogram is dependent upon the selected source (channel, memory, or math function). The instrument converts the row and column numbers to time (seconds) and amplitude (volts or watts) values using the scaling values of the selected the database source. Therefore, the histogram results from each source will vary depending on the scaling of the source. For example, if the vertical scale of the selected source is set to 50 µW/div, and Y1 position is set to 100 mW and Y2 position is set to 0 µW, the distance between the histogram markers is two divisions apart. The default source is the first channel, memory, or math function turned on.

Histogram Placement, Scale, and Size

Selects the orientation of the histogram. Select Left or Right for voltage or power measurements. Select Top or Bottom for timing measurements.

Left-Aligned Vertical Histogram

Bottom-Aligned Horizontal Histogram

Histograms are displayed as a series of lines (vertical or horizontal). The length of each line represents the frequency or number of hits of data on that row (or column) of the display. Zero hits correspond to the left edge (when Left placement is selected) of the graticule (vertical histogram), or the bottom edge (when Bottom placement is selected) of the graticule (horizontal histograms). The histogram display size is normalized each time that the histogram is displayed. The largest sum of all the rows (or columns) is used to normalize the other sums. The normalized sums are multiplied by the value defined in the Histogram Size box and plotted using horizontal (or vertical) lines. Therefore, the line representing the maximum number of data hits acquired in the histogram is always the same length regardless of the maximum number of hits. The range of values for vertical histograms is 1 to 8 divisions; the default value is 4 divisions. The range of values for horizontal histograms is 1 to 10 divisions; the default value is 5 divisions. In each case the default places the maximum number of hits at the half the graticule size.

Note

FlexDCA maintains separate size settings for the vertical and horizontal axes. Therefore, when you switch between a vertical histogram and a horizontal histogram, you must redefine the size setting.

Histogram Window

Click the Default Window to set the histogram window to the default position.

Click Show Border to view histogram window markers and a solid-line histogram window border that shows the location of the histogram window. The border allows you to view which region of the instrument's measurement database is used to construct the histogram. Click Default Window for the default window. Or, click Configure Window to create a custom window region. By default, the border is off. The histogram must be enabled prior to enabling the histogram window border. The histogram window border remains displayed until you turn histograms off, clear Show Borders, or perform a default setup. The measurement database is common to the color grade/gray scale persistence display mode and performance of mask tests.

Default Histogram with Left Placement


Histogram Results Table

The statistical results of the histogram are displayed on the Histogram table located on the display. Even if the display shows only the most recent acquisitions, the measurement database keeps track of all display coordinates hit while the measurement database is building. Histogram measurements can be made on several sources at the same time. Click Window to configure the histogram window area. Click Configure to configure the histogram. Notice that when more than one histogram is displayed, you can click the arrow buttons at the top of the results table to select which histogram results are displayed.

Labels on Histogram Table
Label | Description
Mean | The average value of all the points in the histogram.
Std Dev | The standard deviation value of the histogram.
Peak-Peak | The width of the histogram. For horizontal histograms, width is the time difference between the first and last pixel columns that contain data. For vertical histograms, width is the difference in volts or watts between the first and last pixel rows that contain data.
Peak Hits | The number of hits in the histogram's greatest peak.
Peak Position | The position of the maximum peak of the histogram.
Median | 50% of the histogram samples are above the median and 50% are below the median.
Total Hits | The total number of samples included in the histogram.
µ ± 1σ | The percentage of points that are within ±1σ of the mean value.
µ ± 2σ | The percentage of points that are within ±2σ of the mean value.
µ ± 3σ | The percentage of points that are within ±3σ of the mean value.


Histogram Window

Use the Histogram Window dialog box to define the region of the database that is used to construct the histogram. Only this region of the database will be used to calculate the histogram results. Exact values for each of the four histogram window edges can be entered in this dialog box.

To open this dialog box, click Configure Window from the Histogram dialog box.

Two common uses for histograms are measuring and characterizing noise or jitter on displayed waveforms. Noise is measured by sizing the histogram window to a narrow portion of time and observing a vertical histogram that measures the noise on a flat section of a waveform. Jitter is measured by sizing the histogram window to a narrow portion of voltage and observing a horizontal histogram that measures the jitter on an edge.

Note

The histogram window markers are only displayed when Show Border is selected in the Histograms dialog box.

Note

The value limits of the markers and the position arrows are dependent upon the vertical and horizontal scale settings. Use the keypad to define the histogram window boundaries beyond the vertical and horizontal limits of the display graticule. This will place the actual boundaries of the window off the screen. Placing the histogram markers beyond the graticule area results in a histogram of only the graticule area. However, if you turn a marker knob or click the position arrows, the value of the window boundary will snap to the value of the edge of the display graticule.


Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure

Jitter Mode, available with Enhanced Jitter Analysis Software license (86100D-200 or N1010A-200), allows you to quickly measure and troubleshoot the components of jitter. Measurements can be made on optical or electrical input NRZ data using all existing DCA modules. Amplitude interference measurements require the additional Advanced Amplitude Analysis/RIN/Q-Factor Software license (86100D Option 300). To enter Jitter mode, use the mode select button, or click Setup > Mode > Jitter. The following picture shows FlexDCA using the Classic Silver theme.
  • Introduction
  • Results Panels
  • JSA/CRE
  • View Pattern Bits
  • Saving Data
  • Filtered Waveforms

To show the underlying eye diagram, from which all jitter measurements are derived, view the Waveform panel.

Note

NRZ CODING. Jitter Mode requires measurement data in the NRZ coding format. Measurements can not be performed on data using RZ coding.

Note

The following features are not available In Jitter Mode: Markers, Waveform memory, Color Grade-Gray Scale Memory, Mask Tests, Histograms, Gated trigger, and Horizontal skew adjust. Changing instrument modes does not reset any jitter configuration settings.


Jitter Mode Quick Start

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure

Quick Start

Jitter Mode, available with Enhanced Jitter Analysis Software license (86100D-200 or N1010A-200), allows you to quickly measure and troubleshoot the components of jitter. Measurements can be made on optical or electrical input NRZ data using all existing DCA modules. Amplitude interference measurements require the additional Advanced Amplitude Analysis/RIN/Q-Factor Software license (86100D Option 300). When learning, practice viewing a PRBS signal, which will have a varied number of ones and zeros and will produce a classic eye diagram.

  1. Select a 86100D module that is compatible with the type of signal that you are measuring.
  2. Install the module into the mainframe and turn on the instrument. You can insert modules into a running instrument.

    3. CLOCK RECOVERY

    If you are using an 86100D-STR standard-trigger instrument with a clock recovery or 86108A Precision Waveform Analyzer modules, you must connect a cable between the module's front-panel trigger port to the mainframe's Trigger input connector as shown in the following picture. Do not connect this cable on 86100-ETR enhanced-trigger instruments.

  3. Use a cable to connect the data signal to the module's front-panel channel input connector. Connect a synchronous clock signal to the front-panel Trigger input connector. You can use a divided clock signal (clock rate/N). If you don't have a synchronous clock signal, install and setup a clock recovery module.

  4. Start FlexDCA.
  5. Click Setup > Default Setup to place the instrument in a known start-up state.
  6. Click the Signals button that is located in FlexDCA's lower, right corner to open the Signals palette.

  7. On the Signals palette, click the channel button, [image],to select the module input channel that you are using. The channel button's color changes from gray when the channel is selected. This example shows Channel 1A displayed. Click the Signals button again to collapse the Signals palette.

    8. Note

    If you accidentally click to the right of the button, a dialog box opens for scaling the displayed waveform. Close the scaling dialog box.

  8. Click the Trigger button to open the Trigger Setup dialog box. Or, click Setup > Trigger Setup.

  9. On the dialog box, select the General Trigger Setup tab.
  10. In the Source: field, select Front Panel. If you are using a clock recovery module with an 86100D-ETR instrument, select Left Module or Right Module to use the recovered clock.

  11. In the Select a Trigger Bandwidth field, select Standard (DC–3.2 GHz), if the trigger rate is below 3.2 GHz (not 3.2 Gb/s). Select Divided (3–13 GHz) if the instrument has the enhanced trigger installed (Option ETR) and the trigger rate (or divided trigger rate) is between 3 GHz and 13 GHz.

  12. Close the Trigger dialog box.
  13. Click Auto Scale on the menu bar to properly scale and display the signal.
  14. To enter Jitter mode, use the mode select button (upper left corner), or click Setup > Mode > Jitter/Noise. Jitter graphs are displayed and default measurement results are results in the Jitter panel. Use the toolbars to select additional graphs and measurements.


Time Toolbar

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure

Time Toolbar

Jitter measurements requires Jitter Mode Enhanced Jitter Analysis Software license (Option 86100D-200 or N1010A-200).

Jitter
Components

Flowchart

Jitter
Algorithm

Time Toolbar

Toolbar 1 of 2 |  | Toolbar 2 of 2
 | RJ/PJ Histogram |  | BER Bathtub
 | DDJ Histogram |  | Aliased Spectrum
 | TJ Histogram
 | DDJ Vs Bit
 | Composite TJ Histogram
 | Composite DDJ Histogram

Measurement results are not reported until a significant sample size of data is acquired. Click Measure > Configure Jitter Mode Measurements to configure the measurements.

Jitter Results Table

The following table lists all of the measurements that are shown on the Jitter results table. Use the Reset Jitter button (located on the Meas tab) to reset the Jitter results table to its default measurements. To include the following three measurements in the table, click the appropriate buttons on the Meas tab:

  • DDPWS
  • J2 and J9
  • Uncorrelated Jitter (UJ)
Jitter Table Measurements
Measurement | Default Listing | Additional Information
BUJ (δ-δ) and BUJ (rms) | ♦ | BUJ is listed if the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box is set to Auto or Tail Fit.
DCD | ♦ |
DDJ | ♦ |
DDPWS |  | Use the Meas toolbar to add this measurement to the results table.
DJ | ♦ |
ISI-J | ♦ |
J2 and J9 |  | Use the Meas toolbar to add this measurement to the results table.
PJ (δ-δ) and PJ (rms) | ♦ | PJ is listed if the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box is set to Spectral.
RJ | ♦ |
TJ | ♦ |
UJ |  | Use the Meas toolbar to add this measurement to the results table.


Amplitude Toolbar

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure

Amplitude Toolbar

Amplitude interference measurements requires additional Option 86100D-300 Advanced Amplitude Analysis/RIN/Q-Factor license.

Interference
Components

Flowchart

Jitter
Algorithm

Amplitude Toolbar

Toolbar 1 of 2 |  | Toolbar 2 of 2
 | Amplitude Meas ON |  | Noise Spectrum
 | RN/PI Histogram |  | BER Bathtub
 | ISI Histogram
 | TI Histogram
 | ISI vs Bit
 | Composite TI Histogram

Measurement results are not reported until a significant sample size of data is acquired. Click Measure > Configure Jitter Mode Measurements to configure the measurements. Many amplitude graphs show results based on one level, zero level, or both levels. Click the graph's Toggle Level button to select the level. You can also specify the level graphed by changing the Graph Level Setting in the Amplitude tab of the Configure Jitter Measurements dialog box. Markers in the shape of a triangle mark the positions of the one and zero levels on the histograms as shown in the following picture.

Amplitude Results Table

The following table lists all of the measurements that are shown on the Amplitude results table. Use the Reset Amplitude button (located on the Meas tab) to reset the Amplitude results table to its default measurements. To include the following four measurements in the table, click the appropriate buttons on the Meas tab:

  • De-Emphasis (PCIe)
  • Preshoot (PCIe)
  • RIN
  • Uncorrelated Noise (UN)
Amplitude Table Measurements
Measurement | Default Listing | Additional Information
BER Floor | ♦ |
BER Limit | ♦ |
BUI (δ-δ) and BUI (rms) | ♦ | BUI is listed if the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box is set to Auto or Tail Fit. BUI for both ones and zeros is listed.
De-Emphasis (PCIe) |  | Use the Meas toolbar to add this measurement to the results table.
DI (δ-δ) | ♦ | DI for both ones and zeros is listed.
Eye Opening | ♦ |
ISI (p-p) | ♦ | ISI for both ones and zeros is listed.
PI (δ-δ) and PI (rms) | ♦ | PI is listed if the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box is set to Spectral. PI for both ones and zeros is listed.
Preshoot (PCIe) |  | Use the Meas toolbar to add this measurement to the results table.
Q | ♦ |
RIN |  | Requires an optical signal. Use the Meas toolbar to add this measurement to the results table.
RN (rms) | ♦ | RN for both ones and zeros is listed.
Signal Amplitude | ♦ |
TI | ♦ | TI for both ones and zeros is listed.
UN |  | Use the Meas toolbar to add this measurement to the results table.


Measurement Toolbar

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure

Measurement Toolbar

DRAG & DROP RESULTS

When using FlexDCA Remote Access, you can drag-and-drop a FlexDCA results panel directly into Microsoft Excel and Word. On the Windows desktop size FlexDCA and the target application so that both are open and visible. Using the pointing device (mouse), click on the panel's tab-heading and drag the panel to the speadsheet or document. In FlexDCA embedded on the 86100D, you can accomplish this by adding a second display using Windows Extended Display mode.

The Measurement toolbar lists scalar jitter and noise measurements. Use the toolbar's buttons to reset the Jitter and Amplitude panels to their default measurements. You can also add additional measurements that are not normally included on the panels.

Note

Normally, data acquisition and measurement happens very quickly. As soon as the graphs scroll over the screen, the results are displayed. If, however, you are measuring very long patterns (for example, 216–1 PRBS), you may notice a delay between the time when the graphs scroll down and the final results are displayed in the panels. How can you tell when your measurements are finished? Look for the measurement annotations in the Jitter and Amplitude panels. The text "No Data" next to an entry indicates the edges are being characterized. A question mark (?) next to a measurement result indicates that indicates a measurement in process.

Scalar Jitter Buttons |  | Scalar Amplitude Buttons
 | Reset Jitter |  | Reset Amplitude
 | Jn |  | RIN
 | DDPWS |  | Preshoot (PCIe)
 | Uncorrelated Jitter |  | De-Emphasis (PCIe)
 | Even-Odd F/2 |  | Uncorrelated Noise


Signal Processing and Jitter Measurement

ACCURACY VERSUS SPEED

Because more data is required when making jitter measurements on a signal processing function, measurements time may increase. You can affect the measurement time by adjusting the Samples / Bit setting.

  • Increasing the samples-per-bit increases measurement accuracy for DDJ and ISI.
  • Decreasing the samples-per-bit results in faster data acquisition.

FlexDCA can measure jitter and interference on the output waveforms of signal processing functions. However, if the input network contains a filter operation then signal processing jitter mode is used. Signal processing jitter requires amplitude measurements and is automatically turned on when needed. Example of filter operators include de-embedding, apply s2p, remove s2p, linear feedforward equalizer, and Gaussian filter.

The following figure illustrates the steps used to perform jitter measurements on filtered waveforms. Notice that some of the steps use data from the raw input waveform and some of the steps use data from the filtered pattern waveform. Auto Scale is applied to the unfiltered data, so you may need to specify pattern parameters if they cannot be detected. The entire pattern is acquired continuously with new data averaged into the old data prior to being filtered. The filtered pattern is used to determine the bit sequence.

For correlated jitter and interference measurements, DDJ is measured on all of the filtered waveform's edges, while ISI is measured on all of the bit levels.

Figure. Acquisition Flowchart

Uncorrelated jitter and noise measurements are aliased on equivalent-time sampling oscilloscopes such as the 86100D. As a result, the measurement can not be directly made on the filtered waveform data. RJ/PJ and RN/PI are measured on raw data and RJ/PJ is transformed to estimate RJ/PJ found on the filtered data. This is shown in the following picture. To perform the transform, the RJ/PJ is divided into jitter caused by timing and jitter caused by the RN/PI. Jitter due to RN/PI is calculated as it would appear on the edge in the filtered pattern. A final RJ/PJ number is determined by combining the jitter caused by timing and the jitter caused by RN/PI.

Since the algorithm uses RN/PI to determine the final RJ/PJ, adequately flat regions must be found on which to acquire the data. To avoid having the RJ/PJ contaminate the RN/PI measurement, the flat region should be wider than the jitter's width. The 7 bit region acquired to characterize edges is used to find adequate flat regions. If a flat region cannot be found within the first two regions, narrower flat regions are used and the measurements are identified as questionable in the results panel.

Figure. Derivation of RJ/PJ

Edge locations for uncorrelated jitter measurements are estimated from the filtered data. This is because an edge's exact location is unknown since only the bit timing of the filtered pattern is known. An area of 6 bits around the estimated location is acquired and analyzed to find the exact location of the edge. The best edge is one that occures the farthest from any other edges. For example, a rising edge with 4 preceding zero's and 5 succeding one's is better than a rising edge with 6 preceding zero's and 3 succeding one's. If the waveform's edges can not be found, an error message is displayed.

Note

RN/PI is not altered in this algorithm. If the filter has a large effect on the RN/PI, both RN/PI and RJ/PJ will be inaccurate. For example, this would occur if the input channel's bandwidth was 40 GHz, the filter's bandwidth was 5 GHz, and the noise was approximately equal across the entire spectrum.

Note

Large RJ and RN measurements can occur even if the displayed eye looks like it is very clean with no noise or random jitter. Because eye diagram are created from the filtered and averaged pattern waveform, eye diagrams can appear clean regardless of the amount of jitter measured. Deterministic effects should still be visible in the eye.

Note

If an RJ/PJ or RN/PI measurement fails and a message indicates that suitable edges or levels can not be found, confirm that the unfiltered waveform (even if the eye diagram is open) meets the following criteria. The offset between the raw and filtered waveforms should be less than 7 bits. If the eye diagram is closed, at least one rising edge and one falling edge must both be clean and monotonic. There must be flat areas in the ones and zeros regions.

Note

In the results panel, uncorrelated amplitude and jitter measurements can be labeled as questionable even though the RN/PI and RJ/PJ are reasonable measurements. This can occur when flat regions are not wide enough for accurate RN/PI measurements.


Viewing Pattern Bits

Note

The ability to view the response of specific bits in a pattern requires an 86100D with Option ETR Enhanced Trigger and Option 200 Enhanced Jitter Analysis Software installed.

  1. While in Jitter Mode, click the front-panel Eye/Mask Mode button. You should see a single-valued waveform of the pattern displayed that is similar to the following figure.

  2. Rotate the Horizontal scale knob to adjust the number of bits displayed.

  3. Rotate the Trigger Level knob to view any bit position that you may be interested in. This changes the relative trigger bit. Notice that, as the knob is turned, the relative trigger bit value shown on the Trigger button changes.

  4. Click the front-panel Jitter Mode button to return to Jitter Mode.

Increasing the relative trigger bit moves the displayed pattern to the left. Decreasing the relative trigger bit moves the displayed pattern to the right. You can also use the Horizontal position knob to shift the displayed pattern. However, changing the relative trigger bit results in more accurate triggering than adjusting the Horizontal position knob. This is because the triggering occurs closer to the desired bit. To restart data acquisition at any time, click the Clear Display button.


RJ Compensation Example

The random noise (RN) of a receiver can influence the jitter result when the input power level approaches the noise floor for a given receiver. A signal's slew rate is an important factor in determining how much noise is converted into jitter. The following equation shows the relationship between RN and jitter, where S is the slew rate in W/s.

Note

For more information, refer to Random Noise Contribution to Timing Jitter — Theory and Practice, Maxim AN361: http://pdfserv.maxim-ic.com/en/an/AN3631.pdf.

Optical signals are particularly susceptible to noise, and an increase in noise may negatively influence jitter analysis results when operating near the noise floor of an optical receiver, such as a 86100D plug-in module.

Note

For more information, refer to Precision Jitter Analysis using the 86100C, PN 86100C-1: http://cp.literature.keysight.com/litweb/pdf/5989-1146EN.pdf.

Important Points Learned in this Topic

  • FlexDCA Option 200 provides RJ/RN compensation, which can be used to remove the influence of noise from the jitter result. This is accomplished in four steps:
    1. Measure optical module noise floor
    2. Determine slew rate for signal
    3. Calculate amplitude noise contribution to timing jitter
    4. Enter this result as the RJ compensation, RJcomp, value
  • As RJcomp increases for lower optical power levels, the uncertainty in the final result also increases. In other words, a small change in RJcomp can result in a large change in the final RJ value result. In practice, this approach is feasible when RJcomp is smaller than RJfinal as shown in the graph at the end of this topic.
  • The slew rate (W/s) is a function of the optical power level and needs to be measured for the specific signal under test at the current optical power level.

Procedure

This process removes the RN contribution from the measured jitter.

Measure Module's Optical Noise Floor

Measure module noise floor with compliance filter active and no input signal. It is important to make sure the module noise floor is measured with the wavelength set appropriately and with the compliance filter enabled for the data rate of interest.

  1. Place FlexDCA in Eye/Mask mode.
  2. Disconnect any input signal from the 86100D input channel that you are using. In FlexDCA, open the Channel Setup dialog box. (Click Setup > Modules > Channel N.)
  3. Enter the wavelength and select the compliance filter for the data rate of interest.

  4. Click Measure > Histograms. In the Histograms dialog box, turn on Histogram 1 which is a default vertical histogram.
  5. Close the Histogram dialog box.
  6. In the Histograms results table, locate the standard deviation listing as shown in the following figure. The histogram's standard deviation is the module's noise floor which you'll use later in this procedure.

Measure Slew Rate

The slew rate is calculated from the transition time and power level as shown in the following equation:

  7. Connect your signal to the module's channel input.
  8. Click Measure > Configure Base Measurements. In the dialog box, select the Thresholds tab.
  9. In the Threshold Definition field, select Custom.
  10. In the Custom Threshold Definition field, enter 60% upper, 50% middle, and 40% lower level threshold definitions.
  11. In the Threshold Reference field, select One, Zero Levels as shown in the following dialog box.

  12. On the signal, measure Fall Time, Rise Time, Zero Level, and One Level. From these measurements, calculate the slew rate as shown for the following example. The example is an eye diagram for an optical transmitter with −4.00 dBm output power and the results shown in the following figure.

Passing the same optical transmitter signal through an attenuator results in an optical power of −12.0 dBm and the results shown in the following picture. The slew rate in this instance is calculated as follows:

Calculate the Noise Contribution to Jitter, RJcomp

  13. Now that the module's noise floor and slew rate have been measured, calculate the contribution of noise to jitter, RJcomp. Divide the module's noise floor measured above by the slew rate calculated in the previous step.

In the example with the higher power optical signal, the RJcomp is small, 222 fs, because the input optical power is much larger than the module's noise floor.

However, as the optical power is reduced and approaches the noise floor of the module, the RJcomp increases to 1.31 ps.

Comparing the jitter mode results for the different power levels, the impact of RJcomp on the measured random jitter becomes clear. The larger input power has a random jitter of 1.35 ps while the lower optical power has a random jitter of 1.83 ps. These results include the contribution of both jitter and noise.

Jitter Mode Results for P = −4.00 dBm

Jitter Mode Results for P = −12.00 dBm

Enter RJamp as the RJ Compensation Value

FlexDCA's RJ/RN compensation allows you to enter a RJ level which is removed from the measurement.

  14. Place FlexDCA in Jitter/Noise mode.
  15. Click Measure > Configure Jitter Mode Measurements to open the Configure Jitter Mode Measurements dialog box.
  16. In the dialog box, select the Advanced tab. Within the Advanced tab select the RJ/RN Compensation tab.
  17. Enter the noise contribution to the jitter, RJcomp, previously calculated as into the dialog box and select Compensate for RJ of:.

After entering the RJ/RN compensation values for the two different optical power levels the reported RJ for both cases is similar. The RJ reported for the high power optical input is 1.33 ps, while the value reported for the low power input is 1.285 ps.

Jitter Mode Results for P = −4.0 dBm with RJ/RN Compensation

Jitter Mode Results for P = −12.00 dBm with RJ/RN Compensation

The following plot shows the RJ from the same optical source measured using an 86105C module versus power level. Once the noise contribution to jitter is removed, the RJ remains constant as the optical power is reduced as shown by the green symbols.

Random Jitter (s) vs. Optical Input Power (dBm)

Note

This entire process can be automated using the FlexDCA's remote programming capability.


Jitter Data Memory

You can save Jitter Mode measurement data in jitter data memory. Jitter data memory is static data (not updated with new data samples) that includes all information needed for displaying histograms and jitter measurement results at the time that the data was saved. You can view Jitter Data Memory for comparison purposes. Turning on Jitter Data Memory places the instrument in Jitter Mode (if not already active) and turns off the active channel.

Note

Jitter measurement data must first be saved to a file before it can be loaded into Jitter Data Memory. It is possible to save an unfinished jitter measurement to Jitter Data Memory file. If this file is loaded into Jitter Data Memory and displayed, it will appear as if the measurement was finished. Normally, jitter data acquisition and measurement happens very quickly. As soon as the graphs of jitter components scroll over the screen, the results are displayed. If, however, you are measuring very long patterns (for example, 2 16–1 PRBS), measurements take longer, and you may notice a delay between the time when the graphs scroll down and the final results are displayed. How can you tell when your measurements are finished? Look for the measurement annotations in the Results table. The text "No Data" next to an entry indicates that the edges are being characterized. A question mark (?) next to a measurement result indicates that indicates a measurement in process.

Default User Folder

The default user data folder for saving Jitter-mode data files (.jd and .csv) is \Jitter Data.

Jitter data files use the file extension .jdx. An active channel or a math function (magnify and subtract operators only) can be loaded into a jitter measurement file. You can also save jitter measurement data to a text file (csv format) for importing the data into a spreadsheet application. Unlike files saved with the internal format, these text files can not be recalled into Jitter Data Memory.

When static data from Jitter Data Memory is viewed at the same time as acquired data (on a channel or math function), the Jitter Data Memory will be displayed as follows:

  • For all histograms, the Jitter Data Memory and live histograms are displayed together with the Jitter Data Memory histogram shown in a shade of gray.
  • On the DDJ vs Bit graph, Jitter Data Memory and live histogram data are plotted on separate graphs.

Jitter Data Memory is not cleared when you perform any of the following events:

  • press the Clear Display button on the front panel
  • switch between operating modes
  • change the timebase,
  • change the vertical scale and offset,
  • change trigger level or source,
  • remove or insert a plug-in module, or
  • cycle the power.


Display Jitter Data Memory

Default User Folder

The default user data folder for saving Jitter-mode data files (.jd and .csv) is \Jitter Data.

Use the Jitter Data Memory dialog box to load a jitter data file into jitter data memory, turn Jitter mode on, and display the data. Click File > Save > Jitter Data to save your jitter data to a file. Jitter data files use the file extension .jdx. Click the JM button on to view the data currently stored in jitter data memory. All other sources will be automatically turned off and the static jitter memory will be the source for jitter measurements and graphs.

Click File > Jitter Data Memory to open this dialog box.

If you are using an 86108A/B with Jitter Spectrum Analysis (JSA) capability, you can save JSA data to a JSA data file and then load the data into JSA memory to view it.

Note

It is possible to save an unfinished jitter measurement to Jitter Data Memory file (internal .jd format). If this file is loaded into Jitter Data Memory and displayed, it will appear as if the measurement was finished. If you zoom in on the DDJ vs Bit graph, you will see that some edges do not have values


Saving Jitter Data

Default User Folder

The default user data folder for saving Jitter-mode data files is \Jitter Data.

You can save jitter data to one of two file types:

  • Internal Format (.jdx). Use this format if, at a later date, you want to load the data into Jitter Data Memory.
  • Comma Separated Values (.csv)Use this format if you want to import the data into a spreadsheet application. Files saved as Comma Separated Values can not be loaded into jitter data memory. Jitter data files include any JSA data, is available.

To save the data:

  1. In Jitter mode, click File > Save > Jitter Data > Intermal Format or Comma Separated Values.
  2. Enter a filename, or use the name supplied.
  3. Click Save.

Note

If you plan on loading a saved jitter data back into the instrument, be sure to also save the instrument setup. You will need to load (restore) the instrument settings at the same time that you load the associated jitter data.

Example Jitter Data File (.csv)

File Format, JitterDataCsv
Format Version, 1
Instrument, N1010A
SwVersion, P.05.00.127
SerialNumber, sn ?
Date, 04/30/2015 10:59:11
SourceName, Channel 1A

Source, Channel1A
Module ID, N1010A
Module Serial Number,
Sampler Bandwidth, 15.0 GHz
Bit Rate, 9953280000(b/s)
Trigger Divide Ratio, 1:1
Pattern Length, 127
Edge Type, Both Edges
Jitter Measurement Units, Second
Signal Type, Data
Jitter Sampling Level, 50.0% (48.8874 µV)
Amplitude Measurement Units, Volt
Amplitude Measurement Location, 50.0% (171.470 ps)

Measurement Results,
Measurement, Value, Uncertainty
TJ (1.0E-12),1.3942E-11,1.373729E-15
DJ (dual dirac),0,1.303663E-15
RJ (rms),1.0047E-12,3.991208E-17
PJ (dual dirac),0,2.466773E-16
DDJ (p-p),3.0E-14,1.260574E-15
DCD,6E-15,2.228472E-16
PJ (rms),0,3.991208E-17
ISI-J (p-p),3.0E-14,1.260574E-15
Zero Level,0,0
One Level,0,0
…
…
…


Amplitude Measurements On

Click the Amplitude toolbar's Amplitude Measurements ON button to display the Amplitude results panel. The measurement listed the last time that the panel was displayed will be on the panel. To reset the panel to the default measurements, click the Reset Amplitude button on the Meas toolbar.


BER Amplitude Bathtub

The BER Amplitude Bathtub graph shows zero level data on the left side and one level data on the right side. The BER Bathtub graph plots TI data and dual-Dirac BER values across the entire amplitude range on the horizontal axis. The dual-Dirac BER values are calculated using DI ( δ - δ ) and RI and are used to extrapolate to low BER levels. In general, the dual-Dirac values will differ from the measured TI values at high probabilities, but the two should converge at low probabilities. The BER value that is used for calculating TI can be changed from its default value of 1E-12. Use selections in the Advanced tab located on the Configure Jitter Measurements dialog box to configure these settings.

  • Amplitude Measurements


Composite TI

The Composite Interference Histogram shows TI, RN/PI, and ISI plots superimposed. Click [Toggle Level] on the graph to view results for the one level, zero level, or both levels (default view). You can also specify the level graphed by changing the Graph Level Setting in the Amplitude tab of the Configure Jitter Measurements dialog box. This setting effects to all graphs except Noise Spectrum and BER Amplitude Bathtub. A triangle shaped marker on the horizontal axis shows the location of the one and zero levels.

  • Amplitude Measurements


ISI Histogram

IThe ISI Histogram shows Inter-Symbol Interference at actual measured signal levels. Click [Toggle Level] on the graph to view results for the one level, zero level, or both levels (default view). You can also specify the level graphed by changing the Graph Level Setting in the Amplitude tab of the Configure Jitter Measurements dialog box. This setting effects to all graphs except Noise Spectrum and BER Amplitude Bathtub. A triange shaped marker on the horizontal axis shows the location of the one and zero levels.

  • Amplitude Measurements


ISI vs Bit

IThe graph of Inter-Symbol Interference versus relative bit position graph shows the average level of each bit over the bit pattern. You can specify to view results for the one level, zero level, or both levels (default view) by changing the Graph Level Setting in the Amplitude tab of the Configure Jitter Measurements dialog box. This setting effects all graphs except Noise Spectrum and BER Amplitude Bathtub. On the graph, highest and lowest level bits are identified by colored dots.

Use the horizontal scale and position knobs to pan and zoom the displayed relative bit positions. Or, simply drag the cursor using a mouse or your finger to define a region that you want to expand. The Pattern count (with percentage complete) is listed on the graph as an indication of the measurement progress. Each pattern count indicates that a complete data acquisition record has been acquired. When the first pattern data acquisition is complete, the graph is ready to view. The graph is updated after each subsequent pattern data acquisition has been acquired and summed with the current data.

  • Amplitude Measurements


Noise Spectrum

The aliased noise spectrum graph provides additional insights into the measurements performed in Amplitude Mode. It is a qualitative tool only; the noise spectrum is aliased and the vertical axis is not labeled. The peaks on the graph that have been identified as periodic noise (excluded from random noise calculations) are marked with yellow dots. Because the signal is under-sampled, all periodic components are aliased down below 20 kHz. The RN is calculated as the area of the power spectral density excluding any peaks in the spectrum (for example, the baseline noise of the power spectral density).

The graph displays the Aliased Noise Spectrum results for either one or zero levels but not both levels. If amplitude graphs are set to display both levels, the Noise Spectrum graph shows results for the zero level instead. Use the Show Graphs Based On setting to switch between one and zero level results. To find this setting, click Measure > Jitter Mode Measurements.

  • Amplitude Measurements


RN/PI Histogram

The RN, PI histogram shows the combined histogram of uncorrelated Random Noise (RN) and uncorrelated Periodic Interference (PI). Click [Toggle Level] on the graph to view results for the one level, zero level, or both levels (default view). You can also specify the level graphed by changing the Graph Level Setting in the Amplitude tab of the Configure Jitter Measurements dialog box. This setting effects to all graphs except Noise Spectrum and BER Amplitude Bathtub.

  • Amplitude Measurements


TI Histogram

Total Interference Histogram shows the combined Random Noise (RN), Periodic Interference (PI) and Deterministic Interference (DI) probability density functions that have been convolved together. It is the histogram of all of the measured noise, both correlated and uncorrelated, combined in a single histogram. Click [Toggle Level] on the graph to view results for the one level, zero level, or both levels (default view). You can also specify the level graphed by changing the Graph Level Setting in the Amplitude tab of the Configure Jitter Measurements dialog box. This setting effects to all graphs except Noise Spectrum and BER Amplitude Bathtub. A triangle shaped marker on the horizontal axis shows the location of the one and zero levels.

  • Amplitude Measurements


BER Floor Result

BER Floor is the predicted BER at intersection of the jitter and amplitude measurement locations within the eye. It accounts for both horizontal eye closure (jitter) and vertical eye closure (noise and interference). The BER floor is calculated by extrapolating the amplitude bathtub curve to the jitter measurement location and extrapolating the jitter bathtub curve to the amplitude measurement location. These floors are then added together to form the BER floor. If the floor is below 10E-18, the signal is considered error free.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


BER Limit Result

The BER limit measurement reports whether the signal is limited by "Jitter", "Amplitude" (noise and interference), or equally jitter and amplitude ("Balanced" ). It indicates if the eye will close vertically before it closes horizontally or vice-versa. The BER limit is determined by extrapolating both the Jitter and Amplitude bathtub curves down to their respective BER floors. If the BER floors are within 10% (on a log scale) of each other, the system is considered balanced. If not, the limiting impairment is the one with the higher floor. If both BER floors are ≤ 1E-18, the BER limit cannot be determined and is listed in the Amplitude table as "Not Limited".

More Information

  • Interference Components Tree
  • Amplitude Toolbar


De-Emphasis (PCIe) Result

De-emphasis is a deliberatly introduced distortion on the preceding edge of a waveform transition. De-emphasis is often used to counter the effects of reduced transmission bandwidth, which tend to close eye-diagrams. This de-emphasis measurement is based on the PCI Express Gen 3 definition. You can view the de-emphasis measurement annotations in the Jitter Mode's Waveform panel.

More Information

  • Interference Components Tree
  • Meas Toolbar


DI (δ-δ) Result

Deterministic Interference (DI) is a measure of the amount of vertical interference on a signal that is due to deterministic causes. The corresponding jitter measurement is Deterministic Jitter (DJ). The DI measurement result is reported for both One and Zero levels. You can select the one/zero level definitions to be based on an average level or on minimum Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels. Deterministic Interference is displayed in the current vertical channel units or Unit Amplitude. Make these selections in the Amplitude Measurements tab of the Configure Jitter Measurements dialog box.

DI is measured using the following steps:

  1. The instrument measures Random Noise (RN), Periodic Interference (PI), and Inter-Symbol Interference (ISI).
  2. The ISI histogram for the one level is convolved with the histogram of the one level RN and PI data, and the same is done for the zero level data. These histograms are referred to as the Total Interference (TI) histograms.
  3. Using the measured value of RN, a dual-dirac model is fit to the TI histogram. The model is fit at a probability of 10E-3 divided by the pattern length.

If Advanced Eye Analysis (option 401) is installed, you can measure DI on patterns longer than PRBS16, such as PRBS31, using Advanced Eye Analysis.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


Eye Opening Result

Eye Opening is a measure of the vertical opening of the eye at a particular BER. You can select the BER value used. This same BER setting is also used for the TJ and TI measurements. The Eye Opening measurement is displayed in the current vertical channel units or Unit Amplitude. Unit amplitude can be selected in the Amplitude Measurements tab of the Configure Jitter Measurements dialog box. The Eye Opening is calculated from the amplitude bathtub as shown in the following figure.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


ISI (p-p) Result

Inter-Symbol Interference (ISI) is a measure of the pattern-dependent interference effects within a signal. It is a measure of how much the amplitude of a bit depends on its location within the pattern. The corresponding jitter measurement is Data Dependent Jitter (DDJ). The ISI measurement result is reported for both one and zero levels. You can select the one/zero level definitions to be based on an average level or on minimum Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels. Inter-Symbol Interference is displayed in the current vertical channel units or Unit Amplitude. These selections are made in the Amplitude Measurements tab of the Configure Jitter Measurements dialog box.

ISI is measured using the following steps:

  1. The instrument acquires 16 samples from each of the first 256 bits in the pattern. If the pattern has fewer than 256 bits, 16 samples are acquired from every bit in the pattern. These samples (up to 4096) are taken in random order at the measurement location, which is normally the center of the bit.
  2. The average level of each bit is obtained. These averaged levels are combined into an ISI histogram for the ones and a similar histogram for the zeros. The ISI for each level is calculated as the peak-to-peak width of each histogram.
  3. The above steps are continually repeated, displaying a running average level for each bit.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


PI and BUI Results

Periodic interference (PI) and Bounded Uncorrelated Interference (BUI) are one component of Deterministic Interference (DI). In the results table, the following measurements are listed:

  • PI (rms) and PI (δ - δ) for both ones and zeros, or
  • BUI (rms) and BUI (δ - δ) for both ones and zeros

Whether PI or BUI is reported depends on the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box. The Spectral Method setting determines the method used to decompose RJ and RN.

PI is a measure of the interference that is uncorrelated to the pattern, yet is periodic. Interference caused by a switching power supply is an example of periodic interference. PI (rms) is useful in the case where the PI is of a known distribution. For example, a stress test may be developed in which sinusoidal PI is intentionally injected. Assuming the injected PI is the only PI present, the system can be calibrated using the PI (rms) measurement. Dual-dirac PI ( δ - δ ) is useful when the distribution is unknown. The dual-dirac number allows various PI measurements to be compared with one another, even when the distributions are dissimilar. It is a measure of how much the PI affects the low-probability statistics of the interference.

The δ-δ measurement algorithm is:

  1. Random Noise (RN) is measured.
  2. An RN/PI histogram of the data used to measure the RN is constructed.
  3. Using the measured value of RN, a dual-dirac model is fit to the RN/PI histogram to obtain the PI or BUI measurement. The model is fit at a probability of 10−3.
  4. The above steps are repeated, resulting in an increasingly populated RN/PI histogram.

The rms measurement algorithm is:

  1. Random Noise (RN) is measured.
  2. An RN/PI histogram of the data used to measure the RN is constructed.
  3. The variance of the RN/PI histogram is calculated.
  4. PI or BUI (rms) is the square root of the RN/PI or RN/BUI variance minus the square of the RN value.

Note

PI and BUI are displayed in the current vertical channel units or unit amplitude. Make the selection in the Amplitude Measurements tab of the Configure Jitter Measurements dialog box.

Note

The definition of a one or zero level can be based on an average level or on a minimum of Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels. Make the selection in the Amplitude Measurements tab of the Jitter Mode Measurements Setup dialog box.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


Preshoot (PCIe) Result

Preshoot is a deliberatly introduced distortion on the preceding edge of a waveform transition. Preshoot is often used to counter the effects of reduced transmission bandwidth, which tend to close eye-diagrams. This preshoot measurement is based on the PCI Express Gen 3 definition. You can view the preshoot measurement annotations in the Jitter Mode's Waveform panel.

More Information

  • Interference Components Tree
  • Meas Toolbar


Q Result

Q factor is a ratio of the signal level to the random noise of the signal. It is derived from the one and zero level and RN measurements.

For optical signals, Q is defined as:

For electrical signals, Q is defined as:

The instrument's internal noise contributes to the noise level that is used to determine Q and can result in measurement inaccuracy. This occurs whenever the signal noise approaches the level of the instrument's internal noise.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


RIN Results

Relative Intensity Noise (RIN) is a measure of the noise-to-signal ratio of an optical source. Because this is a measurement specific to an optical signal, the Jitter Mode's Amplitude panel only lists the RIN measurement when the channel units are set to Watts.

Note

The RIN measurement is only available for optical channels. Attempting this measurement on an electrical channel results in this message.

To select the type of RIN measurement and normalization, click Measure > Configure Jitter Measurements and select the Amplitude Measurements tab. You can configure the measurement to be based on the one level (RIN) or based on Optical Modulation Amplitude (OMA) measurement (RIN OMA). RIN is easier to compare with traditional measurements such as those done with an Keysight 71400C Lightwave Signal Analyzer. RIN OMA is defined in IEEE 802.3ae. In addition to using 0000011111 patterns recommended in the standard, FlexDCA allows you to make RIN OMA measurements on the industry standard 2N-1 PRBS patterns. (To increase measurement speed, use a value of N that is less than or equal to 11.) If the input channel has an optical reference filter, the RIN value can be normalized to the equivalent noise bandwidth of the sampling channel by selecting Normalization dB/Hz in the dialog box. The dB/Hz selection is not available if the channel does not have a filter or the filter is not on.

When the RIN Relative to setting is set to One Level, the measurement is defined by the following equation:

Where:

  • RN one(el) is the electrical Random Noise power measured at the one level. The RN measurement shown in the Amplitude panel is the noise equivalent power (NEP) in optical terms (RN one(opt)).
  • P one(el) is the electrical power of the one level caused by the optical power P one(opt).
  • BW N is the noise bandwidth of a 4th order Bessel-Thomson reference receiver. BW N = 1.05 x 3/4 x bit rate.
  • RIN expressed in decibels is simply ten times the log of the results of the above equation.

When the RIN Relative to setting is set to OMA, the measurement is defined by the following equation:

Where:

  • RN one(el) and RN zero(el) are the electrical Random Noise powers measured at the one and zero levels. The RN measurements shown in the Amplitude panel are the noise equivalent power (NEP) in optical terms (RN one(opt) and RN zero(opt)).
  • MA is the electrical power of the modulation amplitude caused by the Optical Modulation Amplitude (OMA).
  • BW N is the noise bandwidth of a 4th order Bessel-Thomson reference receiver. BW N = 1.05 x 3/4 x bit rate.

On the One/Zero Level Definition area of the Amplitude tab (shown in the following picture), choose at least two leading and two trailing Consecutive Identical Digits (CIDs) to avoid overshoot, ringing, and inter-symbol interference at the sample point where FlexDCA measures the random noise. If you enter too many CIDs, the instrument warns that it can not find such a sequence in the pattern.

More Information

  • Interference Components Tree
  • Meas Toolbar


RN (rms) Result

Random noise (RN) is noise that is uncorrelated to the pattern and follows Gaussian statistics. The corresponding jitter measurement is Random Jitter (RJ). Random noise is displayed in the current vertical channel units or Unit Amplitude as selected in the Amplitude Measurements tab of the Configure Jitter Measurements dialog box. The RN measurement result is reported for both One and Zero levels. You can select the one/zero level definitions to be based on an average level or on minimum Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels.

RN is measured using the following steps:

  1. A particular bit is chosen from the pattern. Each time the measurement is made, a different bit is chosen.
  2. The instrument acquires 4096 samples at the measurement location, which is normally the center of the bit. These samples are acquired precisely periodic in time at a rate close to the maximum instrument sample rate of 40 kHz.
  3. The power spectral density of the resulting waveform is obtained. Because the signal is under-sampled, all periodic components are aliased down below 20 kHz.
  4. The RN is calculated as the area of the power spectral density excluding any peaks in the spectrum (for example, the baseline noise of the power spectral density).
  5. The above steps are repeated, and the power spectra from acquisition to acquisition are averaged together. The data from the one levels and zero levels are not combined.

If Advanced Eye Analysis (option 401) is installed, you can measure RN on patterns longer than PRBS16, such as PRBS31, using Advanced Eye Analysis.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


Modul'n Amp or Signal Amp Results

If the vertical channel units are Watts, the modulation amplitude (Modul'n Amp) measurement result is displayed. For any other units, the signal amplitude (Signal Amp) measurement result is displayed.

Both measurements are the difference between the one level and zero level. When making the modulation amplitude measurement, be sure to check any relevant standard for one and zero run requirements in the pattern. For making optical modulation amplitude measurements on a square wave pattern, use the OMA measurement in Oscilloscope Mode. Using the Modul'n Amp measurement allows you to check for pattern dependencies and other issues, but there are the some differences between the measurements. While the OMA measurement is made using the central 20% width of a consecutive run of ones and the central 20% width of a consecutive run of zeroes, the Modul'n Amp measurement is made from samples in a much narrower region. Also, depending on the settings in the Jitter Configuration dialog box, the measurement may not be made in the center of the pattern runs. For example, you can change the Measurement Location setting from the default 50% (central) location. You can also define one and zero levels by minimum consecutive digits. Optical Modulation Amplitude (OMA) is the measure of the difference between the optical power of an NRZ one pulse and the optical power of an NRZ zero pulse. It requires an NRZ pattern and is designed to be used with square wave made of consecutive zeros following by consecutive ones. If needed, you can make an OMA measurement on any pulse train (not just a square wave) as long as enough consecutive bits (ones or zeros) are included for the signal level to settle.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


TI Result

Total Interference (TI) is the width of the one (or zero) level distribution at a low probability or bit error rate (BER). TI is always measured at the same BER as the Total Jitter measurement. By default this is a BER of 1E-12 (1 x 10–12), which is a probability of occurrence of less than 1 part per trillion. You can change the BER setting to any value between 1E-1 to 1E-18 by changing the TJ/TI Measurement BER setting that is located in the Advanced Tab of the Configure Jitter Mode Measurements dialog box.

The TI measurement result is reported for both One and Zero levels. You can change the parameters for making this measurement on the Amplitude Measurements tab of the Configure Jitter Measurements dialog box. For example, the one/zero level definitions can be based on an average level or on minimum Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels. The measurement are displayed in the current vertical channel units or Unit Amplitude.

The TI measurement is derived from the Deterministic Interference (DI) and Random Noise (RN) measurements. The DI and RN values are combined according to a dual dirac model. This model is converted to a BER curve which is then evaluated at the desired BER to obtain the TI measurement.

If Advanced Eye Analysis (option 401) is installed, you can measure TI on patterns longer than PRBS16, such as PRBS31, using Advanced Eye Analysis.

More Information

  • Interference Components Tree
  • Amplitude Toolbar


UN Result

As shown in the Amplitude Components Tree, Uncorrelated Noise (UN) is the total of Random Noise (RN) that is unpredictable and not data related and Asynchronous Periodic Noise (APN) that is periodic noise that is uncorrelated to the data rate.

More Information

  • Interference Components Tree
  • Meas Toolbar


Reset Amplitude

Click the Measurement (Meas) toolbar's Reset Amplitude button to reset the Amplitude table to the default measurements shown in the following table. These are the same measurements displayed after a default setup. The Meas toolbar's amplitude measurements RIN, De-emphasis, Pre-emphasis, and UN are not included.

Amplitude Table Measurements
Measurement | Default Listing | Additional Information
BER Floor | ♦ |
BER Limit | ♦ |
BUI (δ-δ) and BUI (rms) | ♦ | BUI is listed if the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box is set to Auto or Tail Fit. BUI for both ones and zeros is listed.
De-Emphasis (PCIe) |  | Use the Meas toolbar to add this measurement to the results table.
DI (δ-δ) | ♦ | DI for both ones and zeros is listed.
Eye Opening | ♦ |
ISI (p-p) | ♦ | ISI for both ones and zeros is listed.
PI (δ-δ) and PI (rms) | ♦ | PI is listed if the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box is set to Spectral. PI for both ones and zeros is listed.
Preshoot (PCIe) |  | Use the Meas toolbar to add this measurement to the results table.
Q | ♦ |
RIN |  | Requires an optical signal. Use the Meas toolbar to add this measurement to the results table.
RN (rms) | ♦ | RN for both ones and zeros is listed.
Signal Amplitude / Modul'n Amp | ♦ | If the vertical channel units are Watts, the modulation amplitude (Modul'n Amp) measurement result is listed. Otherwise, the Signal Amplitude results are listed.
TI | ♦ | TI for both ones and zeros is listed.
UN |  | Use the Meas toolbar to add this measurement to the results table.


Jitter Mode Measurements Setup Dialog Box

Jitter Mode Measurements Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Jitter Measurements
  • Amplitude Measurements
  • Graphs
  • Advanced

Jitter Measurements

Use the Jitter Measurements tab of the Jitter Mode Measurements Setup dialog box, to configure jitter measurements. When the instrument is in Jitter Mode, you can also click the Setup & Info on the Results or Frequency panels.

Click Measure > Configure Jitter Mode Measurements to open this dialog box.

Jitter Mode Units

Select the measurement units for values that are reported on the Results table and shown on the x-axis of displayed graphs. Choices are Seconds (default value) or Unit Interval (UI), which is the bit period of the data.

Signal Type

Specify the input signal type: data or clock. As a default, Auto Detect is selected, and the FlexDCA automatically detects the signal type. The Signal Type setting can also be accessed on the Pattern Lock Setup tab of the Trigger dialog box. If a poorly-defined signal can not be automatically detected, unselect the Auto Detect feature.

Show Results Based on these Edges

Select the type of signal edges to include (and thereby exclude) from the Jitter Measurement Algorithm: Rising, Falling, or All Edges. These are the bit edges from which data is acquired for calculating jitter results. The default setting for data signals is All Edges. The default setting for clock signals is Rising Edges. These setting are also used for the Aliased Spectrum graph. However, because the Aliased Spectrum graph can only be set to use Rising or Falling edges, if All is selected, this graph defaults to using Rising edges.

Jitter Sampling Level

As a default, the data is sampled at a logic crossing time (the transition point between low and high logic values) that is set at 50% of the average value for logic highs and lows.

The average value for each logic level is measured at the bit-center time. The sampled amplitude values are converted to time values as part of the Jitter Measurement Algorithm. By default in Jitter Mode, the underlying eye diagram, from which all jitter measurements are derived, is displayed in the Waveform panel. This panel is displayed in the lower-right corner of the display as shown here.

Figure. Sample Level Set to the Default 50% Level

Figure. Sample Level Changed to a 30% Level

You can set this sample area to any of the following values:

  • A percentage of the eye amplitude (between 30% and 70%)
  • A custom level (Watts or Volts based on the optical or electrical input channel used)
  • The average data level

If you enter a custom level that is outside of the equivalent 30% to 70% range for the signal being measured, the measurement graphs are not displayed.

The minimum and maximum limits for the current signal are shown at the end of the message line. In this case, minimum and maximum limits are –86.3 mV to 101 mV. When entering the units value, the units identifier is not shown (for example, V for volts) but the unit multiplier is shown. The units entered in the following picture would indicate 50 mV for an electrical channel or 50 mW for an optical channel.

Note

The jitter sampling level (volts or Watts) can be queried or listed in the Jitter results table by using the :MEASure:JITTer:LEVel remote programming command.


Jitter Mode Measurements Setup Dialog Box

Jitter Mode Measurements Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Jitter Measurements
  • Amplitude Measurements
  • Graphs
  • Advanced

Amplitude Measurements

Use the Amplitude Measurements tab of the Jitter Mode Measurements Setup dialog box, to configure amplitude measurements.

Click Measure > Configure Jitter Mode Measurements to open this dialog box.

Perform Amplitude Analysis

Turns amplitude analysis on or off.

Noise/Interference Units

Selects the measurement units to be displayed, either the waveform amplitude units or Unit Amplitude (UA).

Measurement Location

Click to specify the position for sampling amplitude as a percentage of the unit interval.

Graph Level Setting

Select the type of signal levels to include (and thereby exclude) from the Amplitude Measurement Algorithm: One, Zero, or Both Levels. These are the levels from which data is acquired for calculating amplitude results. These setting are used for the Composite Histogram, Aliased Noise Spectrum, and BER Amplitude Bathtub graphs. However, because the Aliased Noise Spectrum graph can only be set to use One or Zero levels, if Both is selected, this graph defaults to using Zero levels while all other graphs use Both levels.

Random Intensity Noise (RIN)

You can configure the RIN measurement to be based on the one level or based on the Optical Modulation Amplitude (OMA) measurement. If the input channel has an optical reference filter, the RIN measurement can be normalized to the equivalent noise bandwidth of the sampling channel by selecting the dB/Hz measurement units. If the channel does not have a filter or the filter is not on, the dB/Hz units selection is not available.

One/Zero Level Definition

The TI, RN, DI, ISI, and PI measurement results are reported for both One and Zero levels. You can select the one and zero definitions to be based on an average level or on minimum Consecutive Identical Digits (CID). Measurements based on CID minimize the effects of ISI on the levels. If you select definitions that are based on an average level, the one level is reported as the mean of the one level ISI histogram, and the zero level is reported as the mean of the zero level ISI histogram. If the you select CID, the one level is defined as the average level of all ones that meet the CID requirements, and the zero level is defined as the average level of all zeros that meet the CID requirements.


Jitter Mode Measurements Setup Dialog Box

Jitter Mode Measurements Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Jitter Measurements
  • Amplitude Measurements
  • Graphs
  • Advanced

Graphs

Use the Graphs tab of the Jitter Mode Measurements Setup dialog box, to configure graphs.

Click Measure > Configure Jitter Mode Measurements to open this dialog box.

Graph Layout

The Graph Layout selection refers to the maximum number of graphs displayed at one time. The choices are one (Single), two (Split), or four (Quad) graphs. Double click a Jitter Mode graph to toggle between the display of single and multiple graph views.

Bathtub Scale

Use to select the y-axis units (BER or Q-Factor) for the BER Bathtub graph.

Histogram Y-Axis

For the jitter RJ,PJ, and TJ graphs and the amplitude graphs RN, PI, and TI graphs, the y-axis can be displayed using a linear scale (default) or log scale. This control does not apply to composite histograms.

Figure. Linear Scale

Figure. Log Scale


Jitter Mode Measurements Setup Dialog Box

Jitter Mode Measurements Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Jitter Measurements
  • Amplitude Measurements
  • Graphs
  • Advanced

Advanced

Use the Advanced tab of the Jitter Mode Measurements Setup dialog box, to configure advanced jitter mode settings.

Click on the tabs in this picture!

Click Measure > Configure Jitter Mode Measurements to open this dialog box.

Total Jitter/Interference (TJ/TI)

Use to specify the bit-error-rate level for calculating Total Jitter (TJ) and Total Interference (TI). You can enter values from 1E-1 to 1E-18. The default value is 1E-12. If you enter 2.5E-3, the TJ measurement in the results table is labeled J2. If you enter 2.5E-10, TJ measurement in the results table is labeled J9.

CRE Jitter Optimization

Select Enable CRE Jitter Optimization to apply clock-recovery emulation to Jitter Mode's RJ measurement. This feature is only available if JSA is turned on in Jitter mode and the JSA spectrum is set for Embedded. You can also apply jitter optimization by clicking the CRE Jitter Optimize button that is located on the JSA/CRE toolbar. Click the Setup CRE PLL button to configure the clock-recovery PLL emulation.

CRE Jitter Optimization is only available if an 86108A/B Option JSA module is installed in the 86100D. Installing this module makes available Jitter Spectrum Analysis on FlexDCA.

Separation Method Selection

This setting determines the method used to decompose RJ and RN. There are three choices: Auto, Spectral, and Tail Fit. The recommended setting is Auto, which automatically selects the spectral or tail fit method to ensure the most accurate RJ and RN measurements. A significant presence of Bounded Uncorrelated Interference (BUI) or Bounded Uncorrelated Jitter (BUJ) on a signal, may adversely affect the RJ and RN measurements, and the Tail Fit method is designed to correct this. However, manually selecting the Tail Fit selection is not recommended.

The following table shows how the Separation Method affects the measurement algorithm as well as the measurements reported in the Jitter and Amplitude results tables. When Auto is selected, both the Spectral and the Tail Fit methods are performed for each edge type: rising and falling. The resulting RJ and RN values are compared between the two methods, with the value reported for an edge type based on the criteria shown in the following table. Depending on the data, the value for different edge types can be calculated using different methods. Regardless of the methods used in Auto, the measurement table always reports results for both BUJ and BUI parameters.

The Spectral separation method uses the aliased spectrum, obtained from the RJ/PJ or RN/PI histograms, to measure RJ / RN. This is the Legacy Jitter Mode algorithm and provides the highest accuracy for signals that have small amounts of Bounded Uncorrelated Jitter/Noise (such as crosstalk), which can degrade RJ measurements. Uncertainties are determined from the variance of the variance of the RJ/PJ histogram.

The Tail Fit separation method uses the RJ/PJ and RN/PI histogram data also but instead of using the aliased spectrum to compute RJ and RN this method performs a straight-line fit to the Q-scale tails of the Cumulative Distribution Function (CDF). This method is optimized for data signals with medium to high levels of Bounded Uncorrelated Jitter/Noise (such as crosstalk). Uncertainties for the Tail Fit method are determined by the variance of the slope of the straight line fit of the Q-scale tails of the CDF.

Effects of Separation Method Selection on Algorithm and Measurements Reported
Separation Selection | Separation Method Used | Measurement Reported in Tables
 |  | Jitter Table | Amplitude Table
Auto Selected |  |
Definitions: TF = Tail Fit method. SP = Spectral method.
If RJ TF + tail-fit uncertainty ≥ RJ SP – spectral uncertainty | Spectral | BUJ (rms), BUJ (δ - δ) | not applicable
If RJ TF + tail-fit uncertainty < RJ SP − spectral uncertainty | Tail Fit
If RN TF + tail-fit uncertainty ≥ RN SP – spectral uncertainty | Spectral | not applicable | BUI (rms), BUI (δ - δ)
If RN TF + tail-fit uncertainty < RN SP − spectral uncertainty | Tail Fit
Spectral Selected | Spectral | PJ (rms), PJ (δ - δ) | PI (rms), PI (δ - δ)
Tail Fit Selected | Tail Fit | BUJ (rms), BUJ (δ - δ) | BUI (rms), BUI (δ - δ)

Stabilization Tab

  • To learn about these settings.

RJ/RN Compensation Tab

  • To learn about these settings.


Jitter Mode Measurements Setup Dialog Box

Jitter Mode Measurements Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Jitter Measurements
  • Amplitude Measurements
  • Graphs
  • Advanced

Advanced

Use the Advanced tab of the Jitter Mode Measurements Setup dialog box, to configure advanced jitter mode settings.

Click on the tabs in this picture!

Click Measure > Configure Jitter Mode Measurements to open this dialog box.

Total Jitter/Interference (TJ/TI)

  • To learn about these settings.

CRE Jitter Optimization

  • To learn about these settings.

Separation Method Tab

  • To learn about these settings.

Stabilization Tab

Select Fix RJ at: to lock (stabilize) the value of the measured RJ that is used in jitter measurements. In the measurement pane, an asterisk is shown next to the RJ (rms) measurement results warning you that the measurement result has been modified. Above the table the annotation *RJ Fixed at: lists the entered value.

Use RJ stabilization to prevent any uncorrelated non-Gaussian, non-periodic jitter from falsely contributing to any measured RJ value. Manually entering the RJ value, requires a two-part measurement. First, remove any sources of uncorrelated non-Gaussian, non-periodic jitter (for example, crosstalk or non-periodic electromagnetic interference). Then, set RJ stabilization off and measure the RJ. Then, turn RJ stabilization on and reapply the sources of uncorrelated non-Gaussian, non-periodic jitter. One use of RJ stabilization is to prevent crosstalk, from an adjacent channel, appearing as jitter. Click Get Measured RJ to automatically enter the current measured RJ value. This RJ value will be locked in subsequent jitter measurements.

Select Fix RN at: to lock (stabilize) the value of the measured RN that is used in amplitude measurements. In the measurement pane, an asterisk is shown next to the RN (rms) measurment results warning you that the measurement result has been modified. Above the table the annotation *RN Fixed (1/0): lists the entered values. Enter RN one/zero values in volts (electrical) or watts (optical), depending on the type of signal that you are measuring.

Use RN stabilization to prevent any uncorrelated non-Gaussian, non-periodic amplitude noise from falsely contributing to any measured RN value. Manually entering the RN value requires a two-part measurement. First, remove any sources of uncorrelated non-Gaussian, non-periodic noise (for example, crosstalk or non-periodic electromagnetic interference). Then, set RN stabilization off and measure the RN. Then, turn RN stabilization on and reapply the sources of uncorrelated non-Gaussian, non-periodic jitter. One use of RN stabilization is to prevent crosstalk, from an adjacent channel, appearing as noise. Click Get Measured RN to automatically enter the current measured RN value. This RN value will be locked in subsequent amplitude measurements.

RJ/RN Compensation Tab

  • To learn about these settings.


Jitter Mode Measurements Setup Dialog Box

Jitter Mode Measurements Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • Jitter Measurements
  • Amplitude Measurements
  • Graphs
  • Advanced

Advanced

Use the Advanced tab of the Jitter Mode Measurements Setup dialog box, to configure advanced jitter mode settings.

Click on the tabs in this picture!

Click Measure > Configure Jitter Mode Measurements to open this dialog box.

Total Jitter/Interference (TJ/TI)

  • To learn about these settings.

CRE Jitter Optimization

  • To learn about these settings.

Separation Method Tab

  • To learn about these settings.

Stabilization Tab

  • To learn about these settings.

RJ/RN Compensation Tab

Select Compensate for RJ of: to specify a compensation value of RJ that you need applied to the measured result. In the measurement pane, an asterisk is shown next to the RJ (rms) measurement results warning you that the measurement result has been modified. Above the table the annotation *RJ Compensation: lists the entered value.

Use this setting to remove intrinsic oscilloscope jitter from the measurement results. Every jitter measurement, whether performed on a scope, TIA, or BERT, includes a component of jitter that has been generated by the measurement instrument itself. This is often referred to as intrinsic jitter. The RJ result is an RSS sum of RJ from the instrument and Device Under Test (DUT):

RJ2meas = RJ2DUT + RJ2meas system

To determine the intrinsic RJ from your measurement system, measure the jitter of a source that is known to have extremely low phase noise, such as an Keysight E8267D PSG Analog Signal Generator. Alternatively, if you are using a BERT or pattern generator to drive the DUT, connect the BERT or pattern generator directly to the 86100D and measure jitter using a PRBS7 or 1010 pattern. The measured RJ is the intrinsic RJ of your measurement system. Enter this value into the Compensate for RJ of: field and this random jitter contribution will be RSS'd out of the results.

  • Example of using RJ Compensation

For the 86100D DCA-X, intrinsic oscilloscope jitter is dependent on clock edge speed and rate.

86100D Intrinsic Jitter at 10Gb/s
Source | Intrinsic Jitter
Standard Timebase | 750 fs
86107A Precision Timebase Module | 90 fs (approximate)
86108A Precision Waveform Analyzer | 50 fs

Note

For the 86108A, intrinsic jitter is very small and you need not use the Compensate for RJ of: feature.

Select Compensate for RN of: to specify a compensation value of RN that you need applied to the measured result. In the measurement pane, an asterisk is shown next to the RN (rms) measurement results warning you that the measurement result has been modified. Above the table the annotation *RN Compensation (1/0): lists the entered value. Enter RN one/zero values in volts (electrical) or watts (optical), depending on the type of signal that you are measuring.

Use this setting to remove intrinsic oscilloscope noise from the measurement results. First, estimate the Random Noise that is contributed by the 86100D by disconnecting all cables and signals from the oscilloscope's input and then measuring Vrms (AC) in Oscilloscope mode. Enter this value into the Compensate for RN of: field, and its contribution to the RN measurement will be removed.

Note

Click the tabs in the picture at the top of this topic to view information about the other Random Jitter/Interference (RJ/RN) features.


Introduction to Jitter Mode

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure
  • Introduction
  • Flowchart
  • Jitter Tree
  • Interference Tree
  • Edge Model
  • Amplitude Algorithm

Introduction

Selecting Jitter Mode immediately starts the measurement process with an Auto Scale which performs the following:

  1. Automatically detects the trigger pattern and establishes pattern lock.
  2. Scales the eye diagram.
  3. Performs all Jitter component measurements.
  4. Displays results in a table as well as graphs.

Triggering

CLOCK RECOVERY BELOW 400 Mb/s

83496A/B and 86108A/B modules: When using pattern lock or Jitter Mode and the data rate is below 400 Mb/s, the 86100D must be triggered from the front panel rather than the module's rear-panel. Connect the module's front-panel Recovered Clock Out to the 86100D's front-panel Trigger input.

Jitter Mode uses an internally-generated pattern trigger that automatically detects bit rate, pattern length, and trigger divide ratio. In most cases, you don't need to know or enter these values. The trigger bandwidth settings in the Trigger dialog box are not enabled or used in Jitter Mode.

Click the Trigger button to view the Pattern Lock Setup page on the Trigger Setup dialog box. This page is used for modifying important triggering parameters such as data rate, clock rate, and pattern length.

If the signal changes for whatever reason, the pattern trigger may become unlocked and the Pattern Synchronization Lost dialog box displayed. If this happens, confirm the following conditions still apply:

  • Signal and synchronized trigger clock are still being applied to the 86100D
  • Signal's bit rate, pattern length, and trigger divide ratio have not changed
  • When using a clock recovery module, check that this dialog box is not hiding the Clock Recovery Lock Lost dialog box. Check that the clock recovery module is locked on the signal. Restore lock and then troubleshoot the loss of pattern lock.

After restoring the clock and data, click Clear Data and Resume to perform an Auto Scale. Click Auto Detect Parameters to perform an Auto Scale and additionally detect the bit rate, pattern length, and trigger divide ratio. Click Cancel to remove the dialog box without initiating any action and with all data acquisition stopped. For more information, refer to Pattern Lock Setup tab (Trigger dialog box) and Jitter Measurements tab (Configure Measurements dialog box).

Auto Scale

Whenever Jitter Mode is entered, the instrument performs an Auto Scale, which detects clock rate, pattern length, and trigger divide ratio. These automatically detected values can be individually turned off and the values manually entered. When you press the front-panel Auto Scale key, the following functions are automatically performed:

  • Detects signal type: clock or data
  • Detects clock rate, pattern length, and trigger divide ratio
  • Generates internal pattern trigger
  • Clears existing Jitter measurement data
  • Creates edge models and acquires data
  • Displays and scales representative eye diagram showing sampling area
  • Jitter graphs and results displayed

Clear Display

Click Clear on the menu bar whenever jitter conditions change during testing. This is because all Jitter Mode results and graphs are based on accumulated data (histograms). Pressing Clear Display clears all previously acquired data and ensures that the results and graphs reflect current signal conditions. You may also need to press Auto Scale. Jitter edge models are not remodeled.

Waveforms

By default in Jitter Mode, the underlying eye diagram, from which all jitter measurements are derived, is displayed in Waveform panel. This panel is displayed in the lower-right corner of the display as shown here. This eye diagram is always active (as well as all histograms), being updated with every acquisition cycle. When annotations are turned on, the Edge Samples region is annotated on the eye diagram showing where data is being actively sampled as explained in Jitter Measurement Algorithm. You can also temporarily switch to Eye/Mask Mode in order to view the individual bit trajectories in the data pattern and an averaged eye diagram.

Channels, Math Functions, and Jitter Data Memory

In Jitter Mode, you can measure one live channel or math function at a time. This data can be saved to Jitter Data Memory. If any channels are on when Jitter Mode is entered, the lowest numbered channel is measured, while all other channels and math functions are turned off. If all channels are off but one or more math functions are on, the lowest number math function that is on is measured. Once in Jitter Mode, turning on another channel or math function makes the newly activated signal the source for the jitter measurements and turns off the previous source.

Jitter Results Window's SP Notice

The SP (Signal Processed Waveform) notice appears in the Jitter Results Window's upper-right corner. This notice is a reminder that the jitter measurement was performed on a waveform on which FlexDCA's signal processing has been applied.

Jitter Results Window's LJM Notice

The LJM (Large Jitter Mode) notice appears in the Jitter Results Window 's upper-right corner. This notice appears if the combined Random Jitter (RJ) and Periodic Jitter (PJδ-δ) exceeds the rise time or fall transition time of the signal. The instrument automatically recognizes this condition and accurately measures the jitter.

If the message "Unable to Characterize Edges: Eye is closed" appears, the Jitter has exceeded the measurable range for this signal. You must select one of the following choices:

  • Retard the edge speeds using, for example, a low-pass filter. Note that this may add data dependent jitter (DDJ) due to inter-symbol interference (ISI).
  • If the jitter is being intentionally induced on the signal, reduce the RJ and PJ.
  • Switch to Oscilloscope Mode and perform a conventional Oscilloscope Jitter measurement. Or, switch to Eye Mode and perform a conventional Eye Mode Jitter measurement.

Measurements on Devices using a Modulated Clock

When making measurements on devices that use a modulated clock, reduce the trigger's Minimum Timebase Position to 24.1 ns to ensure that lock can be established. Click Setup > Trigger, and select the Advanced Trigger Setup tab. Reduce the setting to its minimum value (24.1 ns). Spread spectrum clocks that are used in computers are an example of a modulated clock. Jitter measurements on devices with a modulated clock can result in artificially higher measured jitter levels, due to the 86100D's trigger delay. Reducing the Minimum Timebase Position reduces the amount of observed jitter. To learn more about the trigger position and modulated clocks, refer to Keysight Product Note 86100-5, "Triggering Wide-Bandwidth Sampling Oscilloscopes For Accurate Displays of High-Speed Digital Communications Waveforms." You can download this product note from the 86100D product page on Keysight's web site. If you need to recover a spread-spectrum clock, use the 86108A/B module.


Measurement Flowchart

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure
  • Introduction
  • Flowchart
  • Jitter Tree
  • Interference Tree
  • Edge Model
  • Amplitude Algorithm

Measurement Flowchart

This flowchart includes measurement blocks for jitter analysis, PJ frequency analysis, and interference analysis. If one of these measurements is turned off or unavailable, the block in the flowchart is simply skipped. Each time that the RJ and PJ data is collected, a new rising edge and a new falling edge is targeted. Edges are targeted sequentially throughout the pattern. Each time that the RN and PI data is collected, a new logical 1 and a logical 0 is targeted. Bits are targeted sequentially throughout the pattern.


Jitter Components Tree

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure
  • Introduction
  • Flowchart
  • Jitter Tree
  • Interference Tree
  • Edge Model
  • Amplitude Algorithm

Jitter Components Tree

This section presents the relationships between the various components of jitter. See also the Interference Components Tree.

Click on this picture!

Asynchronous Periodic Jitter is not reported in the measurement results table. It is periodic jitter that is uncorrelated to the data rate. Causes of Asynchronous PJ include power supply switching breakthrough and some instances of crosstalk.


Jitter Measurement Algorithm

Pattern Lock

When Jitter Mode is first entered, the 86100D automatically detects clock rate, pattern length, and trigger divide ratio from the trigger and input signals. (Automatic detection can be disabled.) The instrument then internally generates a pattern trigger. The pattern trigger occurs at an arbitrary relative bit in the data pattern. Pattern trigger enables the 86100D to step through the pattern bits and acquire all necessary data over a small range of timebase delay. The internally generated pattern trigger eliminates jitter that can be introduced by an external pattern trigger and eliminates errors induced by large ranges of timebase delay.

Edge Models

When Jitter Mode is entered or the Auto Scale button is pressed, the bit-center times and crossing times (the transition times between low and high logic values) are determined. Crossing time data is sampled at a level midway between the average logic high value and the average logic low value. The average value for each logic level is measured at the bit-center time. The sampled amplitude values are converted to jitter time values by means of edge models.

To view a representative eye diagram showing the active sampling area, click the Graphs arrow to scroll up and hide the Results graphs.

You can adjust the level of the sample area in the Jitter Measurements tab of the Configure Jitter Measurements dialog box.

As the pattern trigger steps through the bits, the 86100D applies averaging to remove any uncorrelated jitter components and then determines the average location of each edge. Because the sampling event occurs at the average location of the edge, an early arriving edge will have an amplitude above the middle, while a late arriving edge will have an amplitude below the middle level. To determine the amount of jitter on an edge from these amplitude samples, the amplitude-versus-time shape of the edge (known as an edge model) must be known.

The 86100D builds edge models and uses these models as transfer functions to convert sampled edge amplitudes directly to jitter measurement values. Once the edge is modeled, every sample that is taken along the edge yields a jitter measurement.

You can view the actual edge models used for a measurement by clicking Tools > Jitter Diagnostics > Edge Model Graph.

Two types of edge models are built: a single-edge model and 16 composite-edge models. Single and composite edge models are used to measure different jitter components. The single-edge model describes the amplitude-versus-time shape of a specific edge of a pattern and is constructed by taking 1024 samples across the entire span of one edge. A mathematical function is constructed that delivers the best fit, in a least squares sense, to the sampled data. The composite-edge models are very similar, except the samples used to construct these models are taken from multiple edges. Each composite-edge model is composed of 4096 points and is used to describe the amplitude-versus-time shape of a class of edges. A class is defined by the configuration of the four preceding bits. For example, '00001' is one class of rising edge, and '00101' is another class. Similarly, '11110' is one class of falling edge, and '11010' is another class. Eight rising and eight falling edge classes are defined.

Correlated and Uncorrelated Jitter

After building the edge models, the instrument measures the jitter that is correlated to the data pattern, known as Data-Dependent Jitter (DDJ), and then measures the jitter that is uncorrelated from the data pattern. The uncorrelated jitter is made up of Random Jitter (RJ) and uncorrelated Periodic Jitter (PJ). Refer to the Jitter Components Tree to learn the relationship between the different types of jitter.

Measuring Correlated Jitter

To measure DDJ and its components, the pattern trigger steps through the pattern and takes samples from every edge. The composite-edge model associated with each edge's class is used to translate each amplitude measurement into separate jitter measurements for rising edges and falling edges. Probability-distribution-function histograms are created for the rising edge jitter, the falling edge jitter, and the combination of both rising and falling edges. These are shown on the Composite DDJ Histogram graph. The peak-to-peak spread of the histogram of all edges is shown in the DDJ Histogram graph and is listed as DDJ (p-p) on the R Jitter table. It is the arrival time difference between the earliest arriving edge and the latest arriving edge. The peak-to-peak spread of the rising edges or the falling edges, whichever is greater, represents jitter that is caused by Inter-Symbol Interference (ISI) and is listed as ISIJ (p-p) on the Jitter table. The difference between the mean of the rising edge positions and the mean of the falling edge positions represents jitter that is caused by Duty Cycle Distortion (DCD) and is listed as DCD on the Jitter table.

Sub-Rate Jitter (SRJ) is periodic jitter that is correlated to the data and has a frequency that is an integer sub-rate of the data rate. (Sub-rate x N = data rate.) This form of jitter is often associated with multiplexing data structures. For example, if one leg of a parallel data structure systematically results in a late or early edge, the jitter will be periodic in nature. It is correlated to the data stream, but may not be seen systematically on the same bits in a given pattern depending on the relationship between the pattern length and MUX size. Another common source of SRJ is coupling of a sub-rate reference clock onto the full-rate data stream. Extraction of SRJ is complex, as SRJ can show up as DDJ when the pattern length is a multiple of any clock divisor used to trigger the instrument. Otherwise SRJ shows up as PJ. The Advanced Waveform Analysis feature analyzes the SRJ component and display it as a unique quantity.

Measuring Uncorrelated Jitter

An edge's deviation about its mean position shows the effect of uncorrelated jitter and does not show the effects of pattern dependent jitter components. This same uncorrelated jitter is present on each edge of the pattern. For each data acquisition cycle targeted at uncorrelated jitter, the instrument acquires all of its samples on a specific edge within the pattern, thus removing all pattern dependent jitter from the data. The single-edge model is used to convert amplitude samples to jitter values as samples are taken specifically at the edge. Subsequent acquisitions are taken from other edges in the pattern, but each individual acquisition record uses data from a single edge. Jitter data from all acquisitions is accumulated in the RJ,PJ Histogram graph. The periodic nature of the samples allows the jitter values to be transformed into the frequency domain. This results in a power spectral density estimate of uncorrelated jitter. The noise floor of the spectrum represents RJ. The discrete frequency components, or spikes, represent the uncorrelated PJ. After removing the uncorrelated PJ spectral lines through interpolation, the remaining spectrum, which is the random components of jitter, is integrated to determine the root mean square RJ (rms) result, which is listed on the jitter measurement Jitter table; this is the standard deviation of the random jitter distribution.

The spectrum is not used to determine the uncorrelated PJ. The maximum periodic sampling rate of the 86100D is 40 kHz, and any jitter spectral content that is above 20 kHz will be aliased. This limits the analysis of the jitter spectrum to the noise floor and will not allow the periodic elements to be determined. The uncorrelated PJ is instead determined from a histogram of the jitter data that was used to determine RJ. A dual-Dirac delta model is constructed using two identical Gaussian distributions. The width of each Gaussian is defined by the previously measured RJ (rms) value. The separation between the peaks of the Gaussians represents the uncorrelated PJ. The peak separation (PJ value) is adjusted until the peak-to-peak width of the model matches that of the jitter data histogram. Peak-to-peak width is defined to include 99.8% of the total area of the model or histogram. The resulting PJ value is listed as uncorrelated PJ ( δ - δ ) on the Jitter table.

Deterministic Jitter (DJ)

At this point, the 86100D has determined the values for RJ, PJ, ISIJ, DCD, and DDJ. Next, these values are combined to determine Deterministic Jitter (DJ) and Total Jitter (TJ). So far, probability density functions (histograms) have been determined for the uncorrelated jitter (RJ and PJ) and for the correlated jitter (DDJ). The DJ value is composed of both the DDJ and the PJ, but it is not a simple sum of the values, as each is defined by a statistical distribution. To determine the DJ, the RJ, PJ and DDJ histograms are convolved together to create the Total Jitter Histogram graph. This histogram is the probability density function of all of the measured jitter, both correlated and uncorrelated. The dual-Dirac delta model methodology described above for extracting PJ from the RJ,PJ histogram is applied to the total jitter histogram. The same measured RJ (rms) result describes the two Gaussian distributions, and the same fitting technique is used. The separation between the means of the two Gaussian distributions is listed as the DJ ( δ - δ ) on the Jitter table.

Total Jitter (TJ)

The tails of the total jitter probability density function extend indefinitely. When there is a random jitter component, a peak-to-peak value has meaning only when associated with a specific probability, which is found using the dual-Dirac delta model. The TJ is determined by extending the dual-Dirac delta model down to the point where the probability of occurrence is less than 1 part per trillion (1E-12) of the whole. The width of the model at this threshold is listed as TJ (1E-12) on the Jitter table. Total jitter values at other levels of probability can be obtained in a similar fashion.

PJ Frequency Analysis

PJ Sub-Rate Components.

Sub-rate jitter (SRJ) is synchronous periodic jitter that is correlated to the data ratethat is, the frequency is an integer divisor of the data rate. SRJ can occur that is either correlated to the pattern (that is, part of DDJ) or uncorrelated to the pattern. For PRBS patterns and most other NRZ data patterns, the instrument measures the RMS values of all SRJ components from bit-rate/128 to bit-rate/4. Note that for clock signals, the upper limit is bit-rate/2, while, for non-standard patterns with few transitions, the upper limit may be less than bit-rate/4. The Frequency table lists the three PJ sub-rate components with the greatest magnitudes.

PJ Asynchronous Components.

The instrument measures the asynchronous PJ components by first identifying the spectral peaks in the aliased jitter spectrum developed for the RJ measurement. The magnitude of each peak is calculated by integrating the area under each peak. The aliased frequency is noted as the mean frequency of each peak. The Frequency table lists the three PJ asynchronous components with the greatest magnitudes. The magnitudes are expressed as RMS values. Initially, the absolute frequencies are unknown, and the annotation Resolve Required is displayed in the Frequency table.

When Resolve Freqs is clicked, the instrument determines the absolute frequency of each component that has a magnitude equal to or greater than 1/2 of the RMS RJ. To determine the absolute frequencies of the PJ components, the instrument must overcome the undersampled nature of equivalent-time sampled signals. While the instrument has a maximum sample rate of 40 kHz, the unique Option ETR hardware of the 86100D can precisely control the sample rate. By sampling the signal at many different sample rates, the absolute PJ frequency can be obtained.

If the frequency component is too small or if it has been frequency modulated, the 86100D may fail to identify the frequency. In this case, the frequency will be annotated with Unable to Resolve.

Once a particular frequency component has been identified, the instrument tracks the magnitude of the component. If the frequency of the component changes significantly, the component will be dropped from the list. In this case, press Auto Scale and then click Resolve Freqs on the Frequency table.


Interference Components Tree

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure
  • Introduction
  • Flowchart
  • Jitter Tree
  • Interference Tree
  • Edge Model
  • Amplitude Algorithm

Interference Components Tree

This section presents the relationships between the various components of interference. See also the Jitter Components Tree.

Click on this picture!

Asynchronous Periodic Noise is not reported in the measurement results table. It is periodic interference that is uncorrelated to the data rate. Causes of Asynchronous PN include power supply switching breakthrough and some instances of crosstalk.


Amplitude Measurement Algorithm

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure
  • Introduction
  • Flowchart
  • Jitter Tree
  • Interference Tree
  • Edge Model
  • Amplitude Algorithm

Amplitude Measurement Algorithm

Jitter Mode establishes a pattern trigger as described in Jitter Measurement Algorithm. When amplitude measurements are initiated by selecting to display an amplitude graph or table, the instrument uses the additional measurement algorithms in the order listed in this topic. To view a representative eye diagram showing the active sampling area, click the Graphs arrow to scroll up and hide the graphs.

You can adjust the measurement location of the sample area in Amplitude Measurements tab of the Configure Jitter Measurements dialog box. By default, the measurement location is the center bit position (50%) as measured between the bit crossing points.

Measuring Inter-Symbol Interference (ISI)

Inter-Symbol Interference (ISI) is a measure of the pattern-dependent interference effects within a signal. It is a measure of how much the amplitude of a bit depends on its location within the pattern.

The instrument uses the pattern trigger to step through the bits in the pattern. The average amplitude of each bit is obtained at the measurement location. The average level for each bit is combined to build two ISI histograms: a histogram for the one level, and a histogram for the zero level. For each level, the peak-to-peak width of the histogram is reported as the ISI value in the Amplitude Table. A continuous running average of the average bit level is maintained.

Measuring Random Noise (RN) and Periodic Interference (PI)

Random noise is uncorrelated to the pattern and assumed to follow Gaussian statistics. For each measurement cycle, a bit is selected from which to acquire samples at the measurement location. One and zero data is kept separately. The deviation about the mean amplitude of this specific bit shows the effect of uncorrelated noise and does not show the effects of pattern dependent noise components. This same uncorrelated noise is present on each bit of the pattern. An RN/PI histogram is created from this data.

The periodic nature of the samples allows the noise values to be transformed into the frequency domain as can be seen on the Noise Spectrum graph. This results in a power spectral density of uncorrelated noise with the noise floor of the spectrum representing RN. The discrete frequency components, or spikes, represent the uncorrelated PI, which is a measure of the interference that is uncorrelated to the pattern, yet is periodic. After removing the uncorrelated PI spectral lines through interpolation, the remaining spectrum, which is the random components of noise, is integrated to determine the root mean square RN (rms) result which is listed in the Amplitude table.

The spectrum is not used to determine the uncorrelated PI. The instrument's maximum periodic sampling rate is 40 kHz, and any jitter spectral content that is above 20 kHz will be aliased. This limits the analysis of the noise spectrum to the noise floor and will not allow the periodic elements to be determined. The uncorrelated PI is instead determined from the RN/PI histogram that was used to determine RN. A dual-Dirac delta model is constructed using two identical Gaussian distributions. The width of each Gaussian is defined by the previously measured RN value. The separation between the peaks of the Gaussians represents the uncorrelated PI. The peak separation (PI value) is adjusted until the peak-to-peak width of the model matches that of the interference data histogram. Peak-to-peak width is defined to include 99.8% of the total area of the model or histogram. The resulting PI value is listed as uncorrelated PI ( δ - δ ) on the Amplitude table.

To calculate PI (rms), the variance of the RN/PI histogram is used in the following equation:

Measuring Deterministic Interference (DI)

At this point, the values for RN, PI, and ISI have been determined. Next, these values are combined to determine Deterministic Interference (DI) and Total Interference (TI). So far, probability density functions (histograms) have been determined for the uncorrelated noise (RN and PI) and for the correlated noise (ISI). The DI value is composed of both the ISI and the PI, but it is not a simple sum of the values, as each is defined by a statistical distribution. To determine the DI for the one level, the RN/PI and ISI histograms for the one level are convolved together and likewise for the zero level to create the Total Interference Histograms. These histograms are the probability density function of all of the measured noise, both correlated and uncorrelated. The dual-Dirac delta model methodology described above for extracting PI from the RN,PI histogram is applied to the total interference histogram. The same measured RN (rms) result describes the two Gaussian distributions, and the same fitting technique is used. The separation between the means of the two Gaussian distributions is listed as the DI (δ-δ) on the Amplitude table.

Measuring Total Interference (TI)

Total Interference (TI) is the width of the one (or zero) level distribution at a low probability or BER. TI is always measured at the same BER as the Total Jitter measurement. The BER value can be set in the Advanced tab of the Configure Jitter Measurements dialog box. Click Measure > Configure Jitter Meas. The default value is 1E-12.

The tails of the total interference probability density function extend indefinitely. When there is a random noise component, a peak-to-peak value has meaning only when associated with a specific probability, which is found using the dual-Dirac delta model. The TI is determined by extending the dual-Dirac delta model down to the point where the probability of occurrence is less than 1 part per trillion (1E-12) of the whole. The width of the model at this threshold is listed as TI (1E-12) on the Amplitude table. TI values at other levels of probability can be obtained in a similar fashion.


Edge Model Graph

Jitter Mode

  • <
  • i
  • Learning
  • Quick Start
  • Time
  • Amplitude
  • Meas
  • Configure
  • Introduction
  • Flowchart
  • Jitter Tree
  • Interference Tree
  • Edge Model
  • Amplitude Algorithm

Edge Model Graph

The edge model graph (titled Edge Curve Model) provides additional insights into Jitter Mode measurements. Click Tools > Jitter Diagnostics to view the graph. This graph is provided as an aid to those who want to understand more fully the measurement algorithms described in Jitter Measurement Algorithm. Normally, there is only one set of edges displayed on the graph. However, if the pattern length is even, the Cycle Edges button is shown on the graph which allows you to toggle the view to another set of edges.


Aliased Jitter Spectrum

The aliased jitter spectrum graph provides additional insights into the measurements performed in Jitter Mode. It is a qualitative tool only; the frequency spectrum is aliased and the vertical axis is not labeled. The peaks on the graph that have been identified as periodic jitter are marked with yellow dots. The aliased jitter spectrum graph is based on rising or falling edges (but not both edges) as selected on the Jitter Measurements tab of the Configure Jitter Measurements dialog box. Click Show Results Based on these Edges. If All edges is selected, this graph defaults to using Rising edges. Selecting this graph also displays the Frequency table for a listing of identified components.

  • Jitter Frequency Measurements


BER Bathtub

The BER Bathtub graph plots TJ data and dual-Dirac BER values across an entire bit period, which is labeled as the unit interval (UI) on the horizontal axis. The dual-Dirac BER values are calculated using DJ ( δ - δ ) and RJ and are used to extrapolate to low BER levels. In general, the dual-Dirac values will differ from the measured TJ values at high probabilities, but the two should converge at low probabilities. The BER value that is used for calculating TJ can be changed from its default value of 1E-12. You can also toggle the graph between BER or Q-Scale values. Use selections in the Advanced tab located on the Configure Jitter Measurements dialog box to configure these settings. The graph title changes depending on the scale selection: BER Bathtub or Q-Scale Bathtub.

  • Jitter Measurements


Composite DDJ

The Composite DDJ (Data-Dependent Jitter) Histogram shows three histograms of correlated jitter based on data from all edges, rising edges, and falling edges. The peak-to-peak spread of the all-edges histogram represents the DDJ. The peak-to-peak spread of the rising-edges histogram or the falling-edges histogram, whichever is greater, represents Inter-Symbol Interference (ISI). The difference between the mean of the rising edge positions and the mean of the falling edge positions represents the Duty Cycle Distortion (DCD). The graph's horizontal axis indicates negative (–) time for samples that occur earlier than expected and positive (+) time for samples that occur later than expected.

  • Jitter Measurements


Composite TJ

The Composite Histogram shows separate graphs of Total Jitter (TJ), Data-Dependent Jitter (DDJ), and the combined histogram of uncorrelated Random Jitter (RJ) and uncorrelated Periodic Jitter (PJ). The graph's horizontal axis indicates negative (–) time for samples that occur earlier than expected and positive (+) time for samples that occur later than expected.

  • Jitter Measurements


DDJ Histogram

The Data Dependent Jitter (DDJ) histogram displays DDJ, which is pattern-related jitter caused by the combined effects of Inter-Symbol Interference (ISI) and Duty Cycle Distortion (DCD). The graph's horizontal axis indicates negative (–) time for samples that occur earlier than expected and positive (+) time for samples that occur later than expected.

  • Jitter Measurements


DDJ vs Bit

The graph of Data-Dependant Jitter (DDJ) versus relative bit position shows relative bit position on the horizontal axis. The vertical axis indicates negative (–) time for samples that occur earlier than expected and positive (+) time for samples that occur later than expected. A blue dot on the graph marks the earliest arriving edge. This is the relative bit position that measured the greatest magnitude negative jitter value. A red dot on the graph marks the latest arriving edge. This is the relative bit position that measured the greatest magnitude positive jitter value. The time span between the earliest and latest arriving edges is reported as the value of DDJ p-p in the results table.

Use the horizontal scale and position knobs to pan and zoom the displayed relative bit positions. Or, simply drag the cursor using a mouse or your finger to define a region that you want to expand.

The Pattern count (with percentage complete) is listed on the graph as an indication of the measurement progress. Each pattern count indicates that a complete data acquisition record has been acquired. When the first pattern data acquisition is complete, the graph is ready to view. The graph is updated after each subsequent pattern data acquisition has been acquired and summed with the current data.

  • Jitter Measurements


RJ/PJ Histogram

The RJ/PJ histogram shows the combined histogram of uncorrelated Random Jitter (RJ) and uncorrelated Periodic Jitter (PJ). The graph's horizontal axis indicates negative (–) time for samples that occur earlier than expected and positive (+) time for samples that occur later than expected.

  • Jitter Measurements


TJ Histogram

Total Jitter Histogram shows the combined Random Jitter (RJ), Periodic Jitter (PJ) and Data Dependent Jitter (DDJ) probability density functions that have been convolved together. It is the histogram of all of the measured jitter, both correlated and uncorrelated, combined in a single histogram. The graph's horizontal axis indicates negative (–) time for samples that occur earlier than expected and positive (+) time for samples that occur later than expected.

  • Jitter Measurements


DCD Result

Duty Cycle Distortion (DCD) is the result of one-level bits having a different duration than zero-level bits. One example cause of DCD is poorly matched transistors in an output stage. In Jitter Mode, DCD is a component of Data Dependent Jitter (DDJ). The other component is Inter-Symbol Interference (ISI). Duty Cycle Distortion, is derived from the Composite DDJ Histogram graph. It is the difference between the mean of the histogram of the rising edge positions and the mean of the histogram of the falling edge positions.

More Information

  • Jitter Components Tree
  • Time Toolbar


DDJ (p-p) Result

Data Dependant jitter (DDJ) is pattern-related jitter caused by the combined effects of Inter-Symbol Interference (ISI) and Duty Cycle Distortion (DCD). In Jitter Mode, Data Dependent Jitter is the peak-to-peak spread of the histogram of all edges as shown in the DDJ Histogram graph.

More Information

  • Jitter Components Tree
  • Time Toolbar


DDPWS Result

Data Dependant Pulse Width Shrinkage (DDPWS) is a component ofData Dependent Jitter (DDJ).

More Information

  • Jitter Components Tree
  • Measurement Toolbar


DJ (δ-δ) Result

Deterministic Jitter (DJ) is data-related jitter. DJ is the combined effects of the Data Dependent Jitter (DDJ) and Periodic Jitter (PJ) or Bounded Uncorrelated Jitter (BUJ). Deterministic Jitter is bounded, meaning that measured values do not increase with longer measurement times. In Jitter Mode, the aggregate deterministic jitter is derived from the Total Jitter Histogram graph. This histogram is the probability density function of all of the measured correlated and uncorrelated jitter. The (δ-δ) measurement label refers to the dual-Dirac delta model used to derive the measurement.

If Advanced Eye Analysis (option 401) is installed, you can measure DJ on patterns longer than PRBS16, such as PRBS31, using Advanced Eye Analysis.

More Information

  • Jitter Components Tree
  • Time Toolbar


Even-Odd (F/2) Result

F/2 (also known as Even-Odd) jitter occurs as the result of timing data with a half-rate clock. If the clock is asymmetric then even bits versus odd bits will differ in length from nominal. F/2 jitter is measured as the absolute value of the difference between the even and odd bits in seconds as a peak-to-peak value. If the Even-Odd (F/2) measurement is already listed on the Results table, it is moved to the top of the table. The query form of the command returns the measured value. This measurement is only available in Jitter Mode. When measuring a simulated waveform, the pattern length in pattern lock setup must be set to an even number by doubling the pattern length setting in the simulator. On real signals the user must be responsible for assuring that the pattern is consistent with any measurement standard requirements.

More Information

  • Jitter Components Tree
  • Measurement Toolbar


ISI-J (p-p) Result

Inter-Symbol Interference Jitter (ISIJ) is pattern-related jitter and is a component of Data Dependent Jitter (DDJ). It is a measure of how much the jitter on a bit depends on its location within the pattern. ISIJ can be caused by insufficient bandwidth on channels and reflections that are the result of poor impedance matches. The other DDJ component is Duty Cycle Distortion (DCD). In Jitter Mode, ISIJ is derived from the Composite DDJ Histogram graph. It is the peak-to-peak spread of the histogram of the rising edges or the falling edges (whichever is greater).

More Information

  • Jitter Components Tree
  • Time Toolbar


J2, J5, and J9 Result

J2, J5, and J9 results measure the total jitter associated with a specific bit error ratio (BER). This measurement is only available with the FlexDCA application and is not available using the standard 86100D user interface.

Measurement and Associated BER
Measurement | BER
J2 | 2.5E-3 (2.5 x 10–3)
J5 | 2.5E-6 (2.5 x 10–6)
J9 | 2.5E-10 (2.5 x 10–10)

If Advanced Eye Analysis (option 401) is installed, you can perform J2, J5, and J9 on patterns longer than PRBS16, such as PRBS31, using Advanced Eye Analysis.

More Information

  • Jitter Components Tree
  • Measurement Toolbar


PJ and BUJ Results

Periodic Jitter (PJ) and Bounded Uncorrelated Jitter (BUJ) are one component of Deterministic Jitter (DJ). In the results table, the following measurements are listed:

  • PJ (rms) and PJ (δ - δ), or
  • BUJ (rms) and BUJ (δ - δ)

Whether PJ or BUJ is reported depends on the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box. The Spectral Method setting determines the method used to decompose RJ and RN.

PJ is determined from a histogram of the jitter data that was used to determine RJ. The PJ (δ-δ) is derived using the dual-Dirac delta model. The PJ (rms) is PJ (δ-δ) expressed as an rms value. First, the PJ (rms) values for each edge are derived from the combined RJ, PJ histogram:

Then, the square root of the average of the squares of the PJ (rms) measurements for each waveform edge (rising and falling) are used to determine the displayed PJ (rms):

BUJ is deterministic jitter that is generally caused by crosstalk coupling from adjacent interconnects on printed circuit boards. From the perspective of the measured signal, this interference looks random. To accurately determine Total Jitter (TJ) at a specific BER, the results of spectral and tail fit algorithms are compared to measure the BUJ and DJ instead of RJ.

More Information

  • Jitter Components Tree
  • Time Toolbar


RJ (rms) Result

Random Jitter (RJ) is jitter that is unpredictable and not data related. RJ is unbounded, meaning that measured values increase with longer measurement times. Causes of RJ include noise on power supplies and in amplifiers. In Jitter Mode, RJ is derived by applying a fast Fourier transform to the RJ,PJ Histogram graph to transform the jitter values to the frequency domain. It is the root mean square (rms) result, which is the standard deviation of the random jitter distribution. The displayed RJ (rms) result is the maximum value determined between the RJ (rms) values for each waveform edge (rising and filling):

If Option JSA is installed in an 86108A/B module, you can use Jitter Spectrum Analysis (JSA) to emulate a wide variety of clock-recovery parameters and view the resulting effect on the RJ measurement.

If Advanced Eye Analysis (option 401) is installed, you can measure RJ on patterns longer than PRBS16, such as PRBS31, using Advanced Eye Analysis.

More Information

  • Jitter Components Tree
  • Time Toolbar


TJ (1E-12) Result

Total Jitter (TJ) is the measure of the time variation of the rising and falling edges of an eye diagram as these edges affect the crossing points of the eye. Total Jitter represents the combined effects of all components of jitter: Deterministic Jitter (DJ) and Random Jitter (RJ).

TJ has RJ and DJ components. The measurement's label on the Jitter panel includes (in parenthesis) the bit error rate (BER) at which the measurement is made. For example, TJ (1E–12) indicates that the measurement is at a BER of 1 x 10–12, which is a probability of occurrence of less than 1 part per trillion. This is the default BER value. You can change the BER setting to any value between 1E-1 to 1E-18 by changing the TJ/TI Measurement BER setting that is located in the Advanced Tab of the Configure Jitter Mode Measurements dialog box.

If Advanced Eye Analysis (option 401) is installed, you can measure TJ on patterns longer than PRBS16, such as PRBS31, using Advanced Eye Analysis.

More Information

  • Jitter Components Tree
  • Time Toolbar


UJ (rms) Result)

As shown in the Jitter Components Tree, Uncorrelated Jitter (UJ) is the total of Random Jitter (RJ) that is unpredictable and not data related and Asynchronous Periodic Jitter (APJ) that is periodic jitter that is uncorrelated to the data rate. This measurement is only available with the FlexDCA application and is not available using the standard 86100D user interface.

More Information

  • Jitter Components Tree
  • Measurement Toolbar


Reset Jitter

Click the Measurement (Meas) toolbar's Reset Jitter button to reset the Jitter table to the default measurements shown in the following table. The Meas toolbar's Jitter measurements DDPWS, J2/J9, and UJ are not included. In the upper-right corner of the table, the LJM and SP annotations may appear to indicate the presence of Large Jitter Mode or a Signal Processed waveform respectively. These annotations are shown in this figure.

Jitter Table Measurements
Measurement | Default Listing | Additional Information
BUJ (δ-δ) and BUJ (rms) | ♦ | BUJ is listed if the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box is set to Auto or Tail Fit.
DCD | ♦ |
DDJ | ♦ |
DDPWS |  | Use the Meas toolbar to add this measurement to the results table.
DJ (δ-δ) | ♦ |
ISI-J (p-p) | ♦ |
J2 and J9 |  | Use the Meas toolbar to add this measurement to the results table.
PJ (δ-δ) and PJ (rms) | ♦ | PJ is listed if the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog box is set to Spectral.
RJ (rms) | ♦ |
TJ | ♦ |
UJ |  | Use the Meas toolbar to add this measurement to the results table.


Jitter Spectrum Analysis and Clock Recovery Emulation

86108A/B-JSA Option Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Jitter Spectrum Analysis (JSA) provides greater insights concerning jitter and improves measurement accuracy. JSA is available in the following modes via the JSA/CRE toolbar tab:

  • Oscilloscope
  • Eye/Mask
  • Jitter

In Jitter mode, a jitter spectrum graph shows the spectral distribution of low-frequency jitter. JSA's Clock Recovery Emulation (CRE) allows you to emulate a wide variety of clock-recovery parameters.

  • JSA Data Files & Memory
  • JSA/CRE Concepts

Toolbar Buttons

JSA On/Off
Display JSA
Spectrum
JSA Setup
CRE Jitter
Optimize On
CRE PLL Setup

Using Clock Recovery Emulation (CRE), you can configure JSA to observe the low-frequency jitter on the Input, Measured, or Emulated signal. In Jitter mode, you can also simultaneously and independently apply clock recovery emulation to optimize Jitter Mode's RJ measurement which is listed in the Jitter panel. For example, you can view the JSA results and spectrum for the Measured signal while applying CRE to optimize the standard Jitter-mode RJ measurement.

Note

Option JSA requires FlexDCA version ≥A.01.70 and 86100D firmware version ≥A.10.70.

Note

Before JSA measurements can be made, clock recovery must be locked.

Note

Turning on the JSA Spectrum graph slows the display's update rate.


JSA/CRE Concepts

The characteristics of a clock-recovery PLL affect jitter measurements. This is true whether the clock-recovery is part of the DUT, part of a real-time oscilloscope, or part of a sampling oscilloscope such as the 86100D. JSA is a powerful tool that allows you to change the reference signal used for jitter measurements and to change the PLL loop characteristics via Clock Recovery Emulation (CRE).

As with any jitter measurement, the incoming signal is always measured relative to a reference signal (typically a clock). Suppose that we have access to a clean clock and do not need to recover the clock. In the instrument, the phase of the input signal and clock are compared in a sampler. Any jitter on the input signal is detected when its phase is compared to that of the relatively jitter-free clock. Now, let us look at what happens when a clock is not available and we must use clock recovery.

The following figure shows a simplified block diagram of the 86108A/B module. The input signal is split with one path providing the clock via clock recovery. In the equivalent-time acquisition sampler, the phase of the input signal is compared relative to the phase of the recovered clock. Jitter that is within the clock recovery PLL's loop bandwidth tracks the jitter on the input signal thus decreasing the phase difference observed at the sampler. Jitter that is outside of the loop bandwidth can no longer track the input signal's jitter and jitter on the input signal is transfered to the output of the sampler.

Simplified Block Diagram of the 86108A/B Clock-Recovery PLL

The loop's Jitter Transfer Function (JTF) descibes how the clock-recovery PLL affects the jitter on the clock. As jitter decreases on the recovered clock reference signal, the jitter observed at the sampler's output increases. The Observed Jitter Transfer Function (OJTF) describes the transfer of the input signal's jitter to the jitter observed at the sampler's output. The characteristics of the clock-recovery PLL affect the observed jitter spectrum seen at the sampler's output. Hardware clock recovery typically uses a second-order loop which has some amount of peaking near the filter cutoff frequency, which increases the jitter spectrum at this frequency. Many standards call out specific characteristics for a clock-recovery PLL. As you can see, jitter measurements are made relative to the clock at the sampler. This is noted by the blue colored callout in the diagram.

JSA allows you to display the jitter spectrum relative to one of the following three new reference clock signals. These choices are labeled in red in the above simplified block diagram and are selected in the the Spectrum Type To Use field of the Jitter Spectrum Analysis Setup dialog box:

Input
Select to view all of the low- frequency jitter on your signal. Uses a constant clock as the reference. This is the recovered clock with the effects of the clock recovery PLL de-embedded. Configure this reference in the Clock Recovery tab of the 86108A/B Setup dialog box. In the dialog box's Target LBW field, enter the narrowest loop bandwidth possible while still maintaining lock.
Measured
Select to view the low-frequency jitter that is a sub-set of the jitter spectrum that is measured by Jitter Mode. This is the output of the PLL's phase detector is the recovered clock from the hardware clock-recovery circuit as the reference. Configure this reference in the Clock Recovery tab of the 86108A/B Setup dialog box. In the dialog box's Target LBW field, enter the specified bandwidth for the applicable standard. In the dialog box's Type Two Loop Transition Frequency (Peaking) field, enter the peaking setting recommended by the applicable standard.
Emulated
Select to view low-frequency jitter response to a wide variety of user-specified clock recovery (PLL) configurations. Uses the software Clock Recovery Emulation (CRE) as the reference. To configure the CRE, use the Configure CRE PLL dialog box. The following simplified graphs show the Jitter Transfer Function (JTF) and Observed Jitter Transfer Function (OJTF) plots for the 1st, 2nd, and 3rd order loops. The 2nd order loop show peaking and damping.

Use the Jitter Spectrum Analysis Graph to view the observed jitter spectrum based on the input signal referenced to these new types. The JSA graph and scalar results are accomplished by using a real-time acquisition system that resides inside the 86108A/B's clock-recovery circuit. The Jitter Mode and JSA measurements are made simultaneously, but are performed using independent acquisition systems.

JTF and OJTF for 1st Order PLLs

JTF and OJTF for 2nd Order PLLs

JTF and OJFT for 3nd Order Type 2 PLLs


Jitter Spectrum Analysis Results

DRAG & DROP RESULTS

When using FlexDCA Remote Access, you can drag-and-drop a FlexDCA results panel directly into Microsoft Excel and Word. On the Windows desktop size FlexDCA and the target application so that both are open and visible. Using the pointing device (mouse), click on the panel's tab-heading and drag the panel to the speadsheet or document. In FlexDCA embedded on the 86100D, you can accomplish this by adding a second display using Windows Extended Display mode.

Clicking the JSA/CRE toolbar's JSA On / Off button turns on or of JSA measurements and displays the Jitter Spectrum Analysis Results panel as shown here. This panel displays band-limited jitter measurement results, spectrum peaks, and configuration settings. In the Jitter Spectrum Analysis Setup dialog box, the jitter spectrum can be set to the Input, Measured, or Emulated spectrum. This is noted at the top of the panel, where you'll also find the Spectral Measurement Band Limits (integration points), and any applied Averaging. When JSA memory data is viewed, the JSA button is labeled JSA Memory Off.

Click the edit button to open the Jitter Spectrum Analysis Setup dialog box where you can configure the measurement settings, including the PLL emulation setup.

On the left side of the panel, you'll find the jitter Measurements TJ (rms), DJ (rms), and RJ (rms). These jitter results are band-limited using integration limits that are specified in the Jitter Spectrum Analysis Setup dialog box. If you click on a measurement to select it, as shown for TJ (rms) in the above figure, the Details and Limits buttons become active. Click Details and then Algorithm to learn about the measurement. Click Limits to configure a limit test on the measurement.

On the panel's right side are the list of the identified Spectrum Peaks, which are within the band limits. Those peaks that are outside of the band limits on the JSA spectrum graph are not listed in the table. For each peak, the frequency and magnitude values are shown. These same peaks are also identified on the JSA Spectrum graph. In the Spectrum Peaks listing, click on the Frequency or Magnitude headings to change the order of the listings. This displays the sort-order buttons: and [image].


Jitter Spectrum Analysis Graph

When you click the JSA/CRE toolbar's Display JSA Spectrum button, the JSA Spectrum graph is displayed. With the JSA graph, you can resolve the spectral (frequency domain) distribution of random and deterministic jitter components on clock and data signals. This is the graph of Observed Jitter Transfer Function (OJTF) which is the jitter spectrum of the input signal relative to one of three selectable reference signal as explained in JSA/CRE Concepts. On the graph, the [image] and [image] symbols show the location of the integration limits, which are defined using the Jitter Spectrum Analysis Setup dialog box.

If you hover the pointing device over a spectral peak (identified by a yellow circle), a listing of the peak's frequency and magnitude values briefly appear. The frequency and magnitude values of the peaks that are within the band limiting are also listed on the Jitter Spectrum Analysis Results panel.


CRE Jitter Optimization

In Jitter Mode, click the JSA toolbar's Jitter Optimization button to apply (on) or prevent (off) the contribution of JSA's emulated clock-recovery PLL to the standard Jitter-mode RJ measurement. In the Jitter results panel, an asterisk (*) shown next to the RJ (rms) results indicates that the optimization is being applied. Regardless of the JSA spectrum slected in the Jitter Spectrum Analysis Setup dialog box (Measured or Emulated), the Jitter optimization always applies the CRE to the RJ measurement. For example, you can apply jitter optimization while viewing the JSA results and spectrum for the input signal.

Because the Input JSA spectrum type can not be selected in Jitter mode, Jitter optimization can not be applied with the Input spectrum type.

To configure the CRE PLL, click the toolbar's CRE PLL Setup button, which opens the Configure CRE PLL dialog box. This is the same dialog box that is used to configure the CRE for the JSA measurement's Emulated spectrum type. You can also toggle this the jitter optimization on and off and configure the CRE PLL using the Advanced tab of the Jitter Mode Measurements Setup dialog box, as shown in the following figure.

Note

The precision timebase must be on when using jitter optimization. If the precision timebase is not on, the RJ results will include the question mark character (?) to indicate that the result is questionable.


Jitter Spectrum Analysis Setup

Clicking the JSA/CRE toolbar's JSA Setup button opens the Jitter Spectrum Analysis Setup dialog box.

Click Setup >JSA/CRE Setup to open this dialog box from FlexDCA's menus.

In the dialog box, enter the appropriate settings and then click Activate Jitter Spectrum Analysis to turn on JSA and display the Jitter Spectrum Analysis Results panel. This is equivalent to clicking the JSA/CRE toolbar's Activate JSA button.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 or N1010A Option 200 is required.

Spectrum Type To Use

The Spectrum Type To Use field configures JSA's view of low-frequency jitter. Select one of three references for jitter measurements: Input, Measured, or Emulated. The following table provides a description of these selections. Use the Jitter Spectrum Analysis Graph to view the observed jitter spectrum based on the selected signal. Click Block Diagram to view the location of the spectrum for each spectrum. The block diagram is also shown in the following table.

Selections for Spectrum Type To Use
Selection Description

Available in Oscilloscope or Eye/Mask mode, the Input spectrum type allows you to view all of the low-frequency jitter on your signal. This is the recovered clock with the effects of the clock recovery PLL de-embedded. This selection is not available in Jitter Mode.

This button is available whenever the 86108A/B's hardware clock-recovery loop bandwidth is not set to a minimum value and is thus not configured for optimum input spectrum fidelity. When clicked, the hardware CDR loop bandwidth is set to the lowest possible value while still maintaining lock and the loop characteristics are automatically selected. These two settings can be manually set in th 86108A/B Setup dialog box's Clock Recovery tab. You may need to manually adjust these settings if the lock is unstable. The goal is to set the loop bandwidth (Target LBW) to the narrowest loop bandwidth possible while still maintaining lock. Do not set the Target LBW for the desired loop bandwidth of the receiver.

Available in Oscilloscope, Eye/Mask, and Jitter modes. This is the default selection. The Measured spectrum type complements Jitter Mode by showing the distribution of low-frequency jitter. It enables you to discover the root cause of jitter in your device. (Jitter Mode integrates jitter over a larger spectrum resulting in larger RJ measurements.) In the 86108A/B Setup dialog box's Clock Recovery tab, configure the dialog box's Target LBW field with the specified bandwidth for the applicable standard. In the dialog box's Advanced Type Two Loop Transition Frequency (Peaking) field, enter the peaking setting recommended by the applicable standard.

Available in Oscilloscope, Eye/Mask, and Jitter modes. Emulated allows you to view low-frequency jitter response to a wide variety of user-specified clock recovery (PLL) configurations. While using the 86108A/B's hardware clock recovery, clock recovery emulation (CRE) is used to measure the incoming signal relative to an ideal software clock-recovery response.

The PLL Emulation Setup field is only shown in the dialog box when the Emulated spectrum type is selected. Use this feature to view low-frequency jitter response to a wide variety of user-specified clock recovery (PLL) configurations. It uses the software emulated recovered clock as the reference. Click Setup to configure the Clock Recovery Emulation (CRE).

Spectrum Integration Limits

Use the Spectrum Integration Limits field to define the lower (Freq Limit 1) and upper (Freq Limit 2) frequency integration FFT limits for the jitter spectrum. On the displayed Jitter Spectrum graph, the [image] and [image] symbols mark the location of the integration limits.

Spectrum Smoothing

Use the Spectrum Smoothing field to apply averaging to the FFT magnitude and specify the Number of Averages. The default number of averages is 16. Increasing the number of averages allows you to view peaks that are hidden in the noise.

Number of Averages: 2

Number of Averages: 16


JSA Memory

You can save JSA data to a file (*.jsax), using the File > Save > JSA Data, and then load the file into JSA memory. Because JSA memory is static data and so is not updated with new data samples, you can view JSA data offline. The 86108A/B-JSA module does not need to be installed to view the data. JSA data is also automatically included in Jitter data files.

Click File >JSA Memory to open this dialog box from FlexDCA's menus.

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 or N1010A Option 200 is required.

Default User Folder

The default user data folder for saving JSA data files is \Jitter Data.

Click Load From File to import the JSA data. Once data is loaded, the Spectrum Type, Spectrum Integration Limits, and Hardware Configuration section of the dialog box shows the setting that were configured in the JSA Setup dialog box. Click Clear to erase all data from JSA memory.

After the file has loaded, click the JSAM button to view the data. The button turns green to indicate that data in JSA memory is displayed. When JSAM is turned on, any data currently stored in JSA memory is erased and any active JSA measurements are turned off.

Note

It is possible to save unfinished JSA measurements to a JSA data file. If this file is loaded into JSA memory and displayed, it will appear as if the measurement was finished. Normally, jitter data acquisition and measurement happens very quickly. As soon as the graphs of jitter components scroll over the screen, the results are displayed. If, however, you are measuring very long patterns (for example, 2 16–1 PRBS), measurements take longer, and you may notice a delay between the time when the graphs scroll down and the final results are displayed. How can you tell when your measurements are finished? Look for the measurement annotations in the Results table. The text "No Data" next to an entry indicates that the edges are being characterized. A question mark (?) next to a measurement result indicates that indicates a measurement in process.


Configure CRE PLL

TO OPEN THIS DIALOG BOX

  • In the JSA Setup dialog box, select the Emulated spectrum type, and click Setup.
  • In Jitter Mode, click the CRE PLL Setup toolbar button
  • In the Jitter Mode Measurements Setup dialog box's Advanced tab, click Setup CRE PLL….

Use the Configure CRE PLL dialog box to configure the emulated clock-recovery PLL. Adjustable parameters include loop order, 3 dB bandwidth, peaking, and damping factor. The ability to configure the Clock Recovery Emulation PLL is available in Oscilloscope, Eye/Mask, and Jitter modes when the Emulated spectrum types is selected.

After configuring the CRE PLL, click this button (located at the bottom of the dialog box) to obtain the optimum CRE spectrum fidelity. This function automatically matches, as closely as possible, the hardware CDR parameters to the CRE PLL settings. You can manually configure these settings by opening the 86108A/B Setup dialog box's Clock Recovery tab and configuring the Loop Bandwidth and Loop Characteristics fields to the desired specification.

Select the PLL Loop Order

At the top of the dialog box, select the PLL Loop Order. Because the dialog changes depending on the loop order selected, each of the three loop order selections have their own description within this topic:

  • First Order PLL Loop
  • Second Order PLL Loop
  • Third Order PLL Loop

First Order PLL Loop

For first-order loops, select to define either the Jitter Transfer Function (JTF) or Observed Jitter Transfer Function (OJTF). Enter the bandwidth. The following table shows the bandwidth settings defined for some standards. In the dialog box's Jitter Transfer diagram, notice that the JTF and OJFT functions share the same 3 dB bandwidth.

Standard 1st Order JTF/OJTF Settings
Standard | Bandwidth
SAS 1.5 Gb/s | 900.0 kHz
SAS 3.0 Gb/s | 1.800 MHz
SAS 6.0 Gb/s | 3.600 MHz

Second Order PLL Loop

For second-order loops, select to define either the Jitter Transfer Function (JTF) or Observed Jitter Transfer Function (OJTF). When defining the JTF function, enter the Bandwidth and Peaking. When defining the OJTF function, enter the Bandwidth and the Damping Factor.

In the dialog box's Jitter Transfer diagram,

The following table shows the bandwidth settings defined for some standards.

Standard 2nd Order JTF/OJTF Settings
Standard | JTF Settings |  | OJTF Settings
 | Bandwidth | Peaking | Bandwidth | Damping Factor
SAS 1.5 Gb/s | 900.0 kHz | 0 dB | 900.0 kHz | 50.0
SAS-SSC 1.5 Gb/s | 2.328 MHz | 1.57 dB | 1.300 MHz | 0.860
SATA 1.5 Gb/s | 4.097 MHz | 1.86 dB | 2.100 MHz | 0.767
SAS 3.0 Gb/s | 1.800 MHz | 0 dB | 1.800 MHz | 50.0
SAS-SSC 3.0 Gb/s | 3.291 MHz | 1.57 dB | 1.838 MHz | 0.860
SATA 3.0 Gb/s | 1.791 MHz | 1.57 dB | 1.000 MHz | 0.860
SAS 6.0 Gb/s | 3.600 MHz | 0 dB | 3.600 MHz | 50.0
SAS-SSC 6.0 Gb/s | 4.655 MHz | 1.57 dB | 2.600 MHz | 0.860
SATA 6.0 Gb/s | 8.194 MHz | 1.86 dB | 4.200 MHz | 0.767
QPI | 5.692 MHz | 1.75 dB | 3.000 MHz | 0.800
USB 3.0 | 10.03 MHz | 2.08 dB | 4.900 MHz | 0.707

Third Order PLL Loop

For a third-order loop, define the low-pass filter by entering the frequency of the gain, pole, and zero. In the F-Zero field, enter the frequency at which the OJTF starts to roll-off at 40 dB/decade. In the F-Pole field, enter the frequency at which the JTF starts to roll-off at 40 dB/decade. In the F-Gain field, enter the frequency that sets the approximate loop bandwidth of the PLL.

JTF and OJFT for 3nd Order Type 2 PLLs


JSA DJ (rms) Measurement

The JSA DJ (rms) measurement is a band-limited Deterministic Jitter measurement. Specify the integration limits using the Jitter Spectrum Analysis Setup dialog box.


JSA RJ (rms) Measurement

The JSA RJ (rms) measurement is a band-limited Random Jitter measurement. Specify the integration limits using the Jitter Spectrum Analysis Setup dialog box.


JSA TJ (rms) Measurement

The JSA TJ (rms) measurement is a band-limited Total Jitter measurement. Specify the integration limits using the Jitter Spectrum Analysis Setup dialog box.


FlexDCA Licenses

TRIAL LICENSES

Free 30-day trial licenses are available for the 86100D and FlexDCA software options. Go to www.keysight.com/find/86100D and click on the Licensed Software tab.

In addition to the options which are ordered at the time of purchase, you can add additional capability by purchasing 86100D licenses, N1010A FlexDCA Remote Access licenses, and module options.

Click Tools, Licenses to open this dialog box.

Click Licenses Manager to open the Keysight License Manager application which manages your licenses, lists all installed licenses, and installs new licenses. The Keysight License Manager is free from Keysight and is installed with the N1010A on the PC.

Click to open this help topic.

Licenses

The remote codes shown in the following table are listed in the FlexDCA Licenses dialog box and can be queried using FlexDCA's *OPT? remote command.

Available Licenses
Remote Code | License Description | License
200 | Enhanced Jitter Analysis | N1010A-200
201 | Advanced Waveform Analysis | N1010A-201
202 | Enhanced Impedance and S-Parameters | 86100D-202
300 | Advanced Amplitude Analysis/RIN/Q-Factor | N1010A-300
401 | Advanced Eye Analysis | 86100D-401
500 | Productivity Package | N1010A-500
40S | Advanced Eye Switch Control | 86100D-7FP
9FP | PAM-N analysis software. For complete PAM4 analysis capability, Option 9FP or 9TP requires Options 200, /201, 300, and 401. | 86100D-9FP N1010A-9TP
BFP | N1930B PLTS Automatic Fixture Removal (AFR) in TDR/TDT mode. Requires additional option 202, Enhanced Impedance and S-Parameters. | N1010A-BFP
EFP | FlexEye with turns individual channels into individual sampling oscilloscopes in Eye/Mask mode. | N1010A-EFP
CA4 | IEEE 802.3bm-2015 CAUI-4 Measurements | N1082A-4FP
CEI | OIF CEI Compliance Application | N1012A-CEI
CES | OIF CEI Compliance Switch Control | N1012A-7FP
HST | SFF-8431 Host Measurement Suite | N1014A-1FP
IE1 | IEEE 802.3ap/ba, Clauses 72,84 | N1081A-1FP
IE2 | IEEE 802.3ba, Clauses 83A,83B,86A | N1082A-1FP
IE3 | IEEE 802.3ba, Clause 85 | N1083A-1FP
IE4 | IEEE 802.3bj, Clauses 92,93 | N1084A-1FP
IES | IEEE 802.3 Compliance Switch Control | N1081A-7FP N1082A-7FP N1083A-7FP N1084A-7FP
MOD | SFF-8431 Module Measurement Suite | N1014A-2FP
MYC | User Defined Application | N1019A-UDA
MYS | User Defined Application Switch Control | N1019A-7FP
PM1 | IEEE 802.3bs Draft PAM-4 Measurements | N1085A-1FP
PM4 | OIF CEI 56G Draft PAM-4 Measurements | N1085A-4FP
PMS | PAM-4 Switch Option for Ethernet and OIF-CEI App | N1085A-7FP
SIM | InfiniiSim-DCA Waveform Transformation Toolset | N1010A-SIM
SFS | SFF-8431 Measurement Suite Switch Control | N1014A-7FP

Shared Licenses

The licenses listed in the followng table add features to both the 86100D and the N1010A FlexDCA Remote Access application. The N1010A FlexDCA Remote Access application runs on a PC to remotely control an Keysight 86100D via a GPIB or LAN connection. After purchasing and installing a license on your PC, open the N1010A FlexDCA Remote Access application and click Tools > Licenses. In the Licenses dialog box, click Licenses and install the new license using the Keysight License Manager. When connected to an 86100D, the FlexDCA Remote Access application's capability is the sum of the licenses that are installed both on the 86100D and on the PC as shown in the following table.

Capability and Licenses
Measurement Capability | 86100D Licenses |  | N1010A Licenses
 | Node Locked | Transportable | Node Locked | Transportable
N1010A base license for connectivity to an 86100C/D. | — | — | N1010A | N1010AT
N1010A support for all 86100C/D installed software options. | — | — | N1010A-DCA | N1010AT-DCA
Enhanced Jitter Analysis | 86100D-200 | 86100DT-200 | N1010A-200 | N1010AT-200
Advanced Waveform Analysis | 86100D-201 | 86100DT-201 | N1010A-201 | N1010AT-201
Enhanced Impedance and S-parameter Software | 86100D-202 | 86100DT-202 | — | —
Advanced Amplitude Analysis/RIN/Q-Factor | 86100D-300 | 86100DT-300 | N1010A-300 | N1010AT-300
Advanced Eye Analysis Software | 86100DU-401 | 86100DT-401 | — | —
PAM-N Analysis Software | 86100D-9FP | 86100DT-9TP | — | N1010AT-9TP
Productivity Package | 86100D-500 | 86100DT-500 | N1010A-500 |
InfiniiSim-DCA Waveform Transformation Toolset | 86100D-SIM | 86100DT-SIM | N1010A-SIM | N1010AT-SIM

Transportable Licenses

86100D and N1010A transportable licenses can be moved from one 86100D or PC (host) to another. You can also delete transportable licenses from one host and install them on another host.

Consider, for example, a situation with the following licenses:

  • An 86100D with Enhanced Jitter Analysis license (86100D-200)
  • An N1010A FlexDCA Remote Access application with a DCA Hosted Operation (N1010A-DCA) and with Advanced Amplitude Analysis/RIN/Q-Factor (N1010A-300) licenses.

When connected to the 86100D, the N1010A FlexDCA Remote Access application can run both the Enhanced Jitter Analysis and Advanced Amplitude Analysis/RIN/Q-Factor measurements. When this N1010A FlexDCA Remote Access application is not connected to this 86100D, the following are true:

  • The FlexDCA Remote Access application can not analyze Enhanced Jitter Analysis waveforms that have been saved from this 86100D's FlexDCA application, unless an N1010A-200 license is installed on the PC.
  • The 86100D's FexDCA application can not save Advanced Amplitude Analysis/RIN/Q-Factor waveforms, unless option 86100D-300 is installed on the 86100D.

Module Options and FlexDCA

Some modules have options available that enhance the measurement capabilities provided by the 86100D running in either Standard or Compatibility configuration or when using the N1010A FlexDCA Remote Access application. When these modules are installed in an 86100D, the option will be automatically recognized.

Available Module Options
Measurement Capability | Module Option
Option IRC, System Impulse Response Correction | 86105C-IRC 86105D-IRC 86115D-IRC 86116C-IRC
Jitter Spectrum Analysis and SW Clock Recovery Emulation | 86108B-JSA


Enhanced Jitter Analysis License

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

Options 86100D-200 or N1010A-200 activate Jitter Mode to provide jitter analysis tools. Once installed, you can activate this mode by the Jitter Mode button. Results are provided in both tables and graphs. You can extend Jitter Mode into the amplitude domain by adding Option 86100D-300 or N1010A-300, Advanced Amplitude Analysis/RIN/Q-factor software.

  • Licenses

Jitter Analysis provides measurements such as:

  • Total Jitter (TJ)
  • Deterministic Jitter (DJ)
  • Data-Dependant Jitter (DDJ)
  • Random Jitter (RJ)
  • Periodic Jitter (PJ)
  • Inter-Symbol Interference (ISI)
  • Duty-Cycle Distortion (DCD)
  • Additional graphs of BER Bathtub, SRJ Spectrum, and PJ Waveforms
  • Analysis of the frequency content of periodic jitter. This includes periodic jitter that is correlated (or synchronous) to the data rate and periodic jitter that is uncorrelated from the data rate (asynchronous PJ). The synchronous periodic jitter, also known as Sub Rate Jitter (SRJ) or word-synchronized distortion, is synchronous with the clock bit and has a frequency that is equal to the bit rate divided by an integer from 2 to 32.

Note

The 86100D must have hardware option 86100D-ETR (Enhanced Trigger).


Advanced Waveform Analysis License

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

Options 86100D-201 or N1010A-201 adds a the following operators to FlexDCA's signal processing capability.

  • Continuous Time Linear Equalizer
  • Decision Feedback Equalizer (DFE)
  • Linear Feedforward Equalization
  • User Operators
  • User Defined Measurements

More Information on Options

  • Licenses


S-Parameter and Time Domain Characterization License

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

Option 86100D-202 Enhanced Impedance and S-Parameter Software provides a fully integrated, real-time, and calibrated TDR and S-Parameter measurement solution. TDR/TDT and S-Parameters are used for a variety of reasons:

  • Signal Integrity (SI) engineering: Shorten design cycles - accurately characterize single-ended and differential impedances in both the time and frequency domain.
  • Compliance measurements – ensure your device meets specifications.
  • Process control: Maintain consistent quality in printed circuit board (PCB) and passive component manufacturing.
  • Fault location: Identify the location of shorts, opens, or other discontinuities to repair the DUT or gain insights for improvements.

TDR/TDT and S-Parameter measurements are easy to setup and perform. External edge accelerators and remote sampling heads are supported that enable sub-millimeter two-event resolution and S-Parameter measurements to 50 GHz. The Picosecond Pulse Labs 4022 Edge Accelerators and Keysight’s 86118A Dual Electrical 70 GHz Remote Head samplers provide the fastest TDR/TDT system on the market today.

With this option, you can measure S-Parameters quickly and accurately:

  • Complete Single-Ended and Differential S-Parameters.
  • Accurately measure Return Loss, Insertion Loss (Attenuation), Near-End Cross Talk (NEXT), Far-End Cross Talk (FEXT), Phase, and Group Delay.
  • Advanced calibration technique removes unwanted effects from cables and fixtures, which improves measurement accuracy.
  • Export results in Touchstone or .txt format. If desired, use the file to de-embed/embed the DUT using InfiniiSim-DCA.

More Information

  • Option 202 Specifications
  • Licenses


Advanced Amplitude Analysis/RIN/Q-Factor License

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

Options 86100D-300 or N1010A-300 extends Jitter Mode into the amplitude domain from which you can make interference measurements.

  • Licenses

Advanced Amplitude Analysis/RIN/Q-Factor includes features such as:

  • RIN, Q, and noise measurements and graphs
  • BER Floor and BER Limit and Eye Opening (at a particular BER)
  • Signal Amplitude, RIN, and Q
  • One and zero values for Total Interference (TI), Periodic Interference (PI), Deterministic Interference (DI), Inter-Symbol Interference (ISI), and Random Noise (RN)
  • Additional graphs including BER Bathtub, Noise Spectrum, and ISI-versus-bit Waveforms

Note

The 86100D must have hardware option 86100D-ETR (Enhanced Trigger).


Advanced Eye Analysis Software

The 86100DU-401 Advanced Eye Analysis Software provides the ability to Measure TJ (Total Jitter), DJ (Deterministic Jitter) and RJ (Random Jitter) on patterns longer than PRBS16, such as PRBS31. The software also provides the ability to perform mask testing based on BER eye contours and enables the Rapid Eye diagram feature.

Beginning with FlexDCA firmware version A.02.50, option 401 also allows you to perform the RJ, DJ, and TJ measurements directly from within FlexDCA without the use of the spreadsheet. A new Advanced Eye Analysis panel appears in Eye/Mask Mode's toolbar and an application is installed to guide you through the measurement steps.

The Advanced Eye Analysis Software can operate without any 86100D DCA-X mainframe options, or work together with 86100D-200 Enhanced Jitter Analysis Software, well known for its speed, accuracy, and ease-of-use. When operating with 86100D-200, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ), yet can extend the versatility of Jitter Mode and measure RJ, DJ, and TJ on long patterns such as PRBS23, PRBS31, or even live traffic. When ultra-low random jitter measurements are not required, the Advanced Eye Analysis Software can also operate standalone and perform accurate RJ/DJ/TJ measurements on any eye diagram, including high data-rate signals using spread-spectrum clocking.

Advanced Eye Analysis Software also extends the 86100D's mask testing capability allowing it to perform BER based mask testing at any probability.

  • Licenses


Productivity Package License

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

Option 500, Rapid Eye, Productivity Package, significantly reduces the time required to acquire eye-diagram samples when pattern lock is turned off. Rapid Eye employs several techniques that improve measurement efficiency. If several eye diagrams are displayed, Auto Scale can be configured to apply software skew to align all of the eye diagrams. For FlexDCA software revision A.05.00 and above, Option 500 provides the eye diagram TDEC measurement.

Note

Option 500 requires software revision A.01.60 and above.

  • Licenses


InfiniiSim-DCA Waveform Transformation Toolset

TRIAL LICENSES

For a free 30-day trial license, go to www.keysight.com/find/86100D and click on the Licensed Software tab.

InfiniiSim-DCA Waveform Transformation Toolset (Options 86100D-SIM or N1010A-SIM) provide de-embedding and embedding capability to the FlexDCA application. Once the license is installed, access this feature from the Waveform Signal Processing tool. Click Measure > Waveform Signal Processing.

  • Licenses

You can use the Waveform Transformation Toolset to perform the following tasks:

  • Embed and de-embed fixtures, cables, probes, and other circuit elements
  • Improve measurements margins and insight
  • Simultaneously display measured and simulated waveforms
  • Perform oscilloscope, eye diagram, and jitter measurements on simulated signals

Easy to Use

  • Drag-and-drop network setup components
  • Flexible use from simple insertion loss removal/addition to accounting for all reflections between circuit elements
  • Completely integrated, no external scripts required to generate de-embed files
  • Display any combination of measured or simulated nodes at the same time, ideal for "what-if" experiments

Describe Circuit Elements

  • Import S-Parameter files (Touchstone, .cit, or .cti formats) from a TDR, VNA, or design/simulation software such as ADS
  • Define an RLC network using the built-in editor
  • Enter a transmission line's characteristic impedance and propagation delay
  • Define a circuit element as a simple "thru" or "open"


Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation

Option JSA, Jitter Spectrum Analysis and SW Clock Recovery Emulation is an option that is available for 86108A/B modules. When the module is installed in an 86100D, Jitter spectrum analysis can be performed in FlexDCA's Oscilloscope, Eye/Mask, and Jitter FlexDCA modes. (Jitter Mode additionally requires 86100D Option 200 or N1010A Option 200.) In Jitter Mode, clock recovery emulation can be performed. Option JSA offers the following benefits:

  • Emulation of most clock recovery designs (1st or 2nd order, adjustable bandwidth and peaking) without hardware limitations.
  • Improved compliance by better emulation of existing and future standards-based CR requirements.
  • Better accuracy by removing non-ideal behavior of hardware clock recovery. For example, removing unwanted peaking that may artificially increase jitter results.
  • Improved correlation to measurements performed by real-time scopes that employ software clock recovery.

Note

Option JSA enabled modules are identified on the module’s rear-panel serial number sticker.

Note

Option JSA requires FlexDCA version A.01.70 and 86100D firmware version A.10.70.

More Information

  • Jitter Spectrum Analysis
  • Licenses


Option IRC. System Impulse Response Correction

Option IRC provides System Impulse Response Correction (SIRC) data for an 86105C, 86105D, 86115D, or 86116C module. The SIRC data enhances FlexDCA measurement capability by providing a digital filter that:

  • Improves the response of module reference filters to more closely match an ideal receiver.
  • Enables non-standard reference receiver rates or bandwidths.
  • Increases the bandwidth of the channel by up to 50%.
  • Ensures that an eye diagram will look identical between different modules.

You must download and import the SIRC data file before you can use Option IRC. The SIRC calibration data can be downloaded and imported into either FlexDCA running embedded on an 86100D or FlexDCA Remote Access running on an external PC.

Note

Option IRC enabled modules are identified on the module’s rear-panel serial number sticker.

More Information

  • To Download and Import the SIRC Data
  • To Apply the SIRC Filter to your measurements
  • Licenses


Transportable Licenses

MORE INFORMATION

Need more information? Consult the Keysight License Manager's help system for more informaiton on transportable licenses.

Unlike standard 86100D and N1010A licenses, transportable licenses can be moved from one 86100D to another 86100D. Or, transportable licenses can be moved from one PC to another PC. (They cannot be moved from a PC to an 86100D or from an 86100D to a PC.) Licenses are transported using the Keysight License Manager (ALM) with is installed on the 86100D and is installed on a PC when N1010A is installed. Keysight License Manager must be able to connect to the Keysight Transport License Web Service to transport a license. This connection can take up to 90 seconds to complete a license transport operation.

The ALM can be the source system, the target system, or a separate Windows-based computer. The following figure shows the recommended minimum network configuration.

Recommended Minimum Transport Configuration

A transported license is automatically removed from the source system, re-issued by the Keysight Transport License Web Service, and then installed onto a target system as shown in the following figure.

Transported License Flow

Note

Some transportable licenses have a transport lock attribute that can only be accessed and changed through the Keysight License Manager communicating with the Keysight License Service. Attempting to transport this type of license requires validation of an Keysight Software Licensing login and password that has permission to access the certificate and product numbers associated with the license.

Note

Before transporting a license, ensure that the license is valid for the targeted 86100D or PC.

To Transport a License

  • Source and Target Connected to a LAN
  • Target Not Connected to a LAN
  • Source Not Connected to a LAN
  • Source System and Target Not Connected to a LAN


Source and Target Connected to a LAN

Use one of the following methods to transport a license from one 86100D to another 86100D (or from one PC to another PC) when both are connected to a LAN.

Note

In this procedure, source and target refer to either an 86100D or PC. Licenses purchased for installation on an 86100D can only be transported to another 86100D. Similarly, licenses purchased for installation on a PC can only be transported to another PC.

In Keysight License Manager's Tree View,

  • Drag the source's transportable license to the target's IP address/hostname node. The license is automatically transported from the source to the target. Or,
  • Select the license to be transported. Either right click the license or, from the File menu, select Transport…. This opens the Transport One or More Licenses dialog box. Enter the destination Host Name and click the Transport button. The license is automatically transported from the source to the target.

Note

These methods assume that both the source and target are visible in Keysight License Manager's Tree View.


Target Not Connected to a LAN

If the target 86100D (or PC) is not connected to a LAN, transporting a license is more difficult than if all hosts have network connectivity.

Note

In this procedure, source and target refer to either an 86100D or PC. Licenses purchased for installation on an 86100D can only be transported to another 86100D. Similarly, licenses purchased for installation on a PC can only be transported to another PC.

Note

This procedure assumes that the system running Keysight License Manager has internet connectivity, and the source 86100D (or PC) is visible in Keysight License Manager's Tree View.

  1. On the source, start Keysight License Manager.
  2. In the Tree View, select the license to be transported.
  3. Click File > Transport… to open the Transport One or More Licenses dialog box.
  4. Since the target is off line, keep the Destination Host as <offline>. Click the Transport button and click Yes to verify the transport.
  5. The Transportation Confirmation dialog box opens, which indicates that the license was deleted from localhost and shows the confirmation code. This dialog box also specifies a path and the Transport Confirmation file ( .url) so that you can rehost the license at a later time.
  6. Click the Explore button to view the file, or click the OK button to return to ALM's main window.
  7. From ALM's main display, select Tools > Explore Transport Confirmation URLs. This opens the folder where all of the transport confirmation files were saved.
  8. Double-click the Transport Confirmation file ( .url) for the license you want to rehost. The Keysight Software License Transportation Web page to appears which you will use to acquire a transported license that is node-locked to the target.
  9. On the Keysight Software License Transportation Web page, type the target's Host ID (model number, serial number), and then click the Submit button.
  10. The Keysight Software License Transportation Web page displays a link for the license. Right-click the link and select Save Target As.
  11. On the source that is running Keysight License Manager,
    1. Save the license file.
    2. Connect an external, portable mass storage device such as a USB Flash Drive, an external hard drive, or a writable CD.
    3. Copy the license file, created in Step 5, to the portable mass storage device.
    4. Disconnect the portable mass storage device and connect it to the target system.
  12. On the target,
    1. Start Keysight License Manager, and then select the target (localhost) in the Tree View.
    2. Open Windows Explorer, locate the .lic license file previously saved on the connected portable storage device, and then drag the license file into the Tree View. Or, you could alternatively copy the license file using Windows Explorer, and then paste it into Keysight License Manager’s Tree View.


Source Not Connected to a LAN

If the source 86100D (or PC) is not connected to a LAN, transporting a license is more difficult than if all hosts have network connectivity.

Note

In this procedure, source and target refer to either an 86100D or PC. Licenses purchased for installation on an 86100D can only be transported to another 86100D. Similarly, licenses purchased for installation on a PC can only be transported to another PC.

Note

This procedure assumes that the system running Keysight License Manager has internet connectivity, and the target 86100D (or PC) is visible in Keysight License Manager's Tree View.

  1. On the source, start Keysight License Manager.
  2. In the Tree View, select the license to be transported. Click File > Transport… to open the Transport One or More Licenses dialog box.
  3. Keep the Destination Host as <offline>. Click the Transport button and click Yes to verify the transport.
  4. The Transportation Confirmation dialog box opens, which indicates that the license was deleted from localhost and shows the confirmation code. This dialog box also specifies a path and the Transport Confirmation file ( .url) so that you can rehost the license at a later time.
  5. On the source,
    1. Connect an external, portable mass storage device such as a USB flash drive, an external hard drive, or a writable CD.
    2. Copy the Transport Confirmation file, created in Step 4, to the portable mass storage device.
  6. Disconnect the portable mass storage device from the source and connect it to a PC that has both Internet connectivity and connectivity to the target system.
  7. Locate the Transport Confirmation file on the portable mass storage device and double-click it.
  8. The Transport Confirmation file appears in a browser that is connected to the Keysight Transport License Web Service. Note that the fields are automatically filled in with the license contents.
  9. On the Keysight Transport License Web Service page, type the target�s Host ID (model number, serial number) and then click Submit.
  10. The Keysight Transport License Web Service displays a link for the license. Right-click the link and select Save Target As.
  11. On the PC, save the license file.
  12. On the PC, open Windows Explorer, locate the license file, and drag the file into the target in the Tree View. Or, you could alternatively copy the license file from Windows Explorer and paste it into the target system in the Tree View.


Source System and Target Not Connected to a LAN

Follow this procedure to transport a license when both the source and the target are not connected to a LAN.

Note

In this procedure, source and target refer to either an 86100D or PC. Licenses purchased for installation on an 86100D can only be transported to another 86100D. Similarly, licenses purchased for installation on a PC can only be transported to another PC.

  1. On the source, start Keysight License Manager.
  2. In the Tree View, select the license to be transported. Click File > Transport… to open the Transport One or More Licenses dialog box.
  3. Since the target is off line, keep the Destination Host as <offline>. Click the Transport button and click Yes to verify the transport.
  4. The Transportation Confirmation dialog box opens, which indicates that the license was deleted from localhost and shows the confirmation code. This dialog box also specifies a path and the Transport Confirmation file ( .url) so that you can rehost the license at a later time.
  5. Click Explore to view the file, or click the OK to return to the ALM main window.
  6. On the source,
    1. Connect an external, portable mass storage device such as a USB flash drive, an external hard drive, or a writable CD.
    2. Copy the .url file, created in Step 4, to the portable mass storage device.
    3. Disconnect the portable mass storage device and connect it to a PC that has internet connectivity.
  7. Using Windows Explorer on the PC, locate the Transport Confirmation file file on the portable mass storage device and double-click it.
  8. The Transport Confirmation file file appears in a browser that is connected to the Keysight Transport License Web Service. Note that the fields are automatically filled in with the license contents.
  9. On the Keysight Transport License Web Service page, type the target's Host ID (model number, serial number) and then click Submit.
  10. The Keysight Transport License Web Service displays a link for the (re-issued) license. On the license link, right-click the link and select Save Target As.
  11. Save the license file to a location on the portable mass storage device.
  12. Disconnect the portable mass storage device from the PC and connect it to the target.
  13. On the target,
    1. Start Keysight License Manager.
    2. In Keysight License Manager, select the target in the Tree View.
    3. Open Windows Explorer, and using the connected portable storage device, drag the license file into the Tree View. Or, you could alternatively copy the license file from Windows Explorer and paste it into the target system in the Tree View.


Limit Lines

Location of Limit-Line Files

Limit-line files are stored in the \Limit Lines user data folder.

Limit lines are displayed boundaries used for pass/fail testing in Oscilloscope and TDR/TDT instrument modes. Limit line cannot be used in Eye/Mask.

Limit Lines in Oscilloscope Mode | Limit Lines in TDR/TDT Mode

Use the Limit Line Test Editor dialog box to create and run a limit-line test.

Click Tools > Limit Line Test Editor to open this dialog box.

Displaying Multiple Waveforms

Use the stacked and zoom-tiled content window toolbar buttons to make multiple-waveform limit tests easier to view.

Create New (Blank)

Click to open the Details dialog box with a new empty limit-line. Use this dialog box to create a limit-lines test by individually defining points while viewing the limit line on the display. You can save your new limit-line definition to a file.

Create New (Waveform)

Click to automatically create complex limit lines based on a displayed waveform using the Create Limit Line Test from Waveform dialog box. After creating your limit-line test, the Details dialog box is displayed which allows you to edit the limit line if needed. This is the quickest and easiest method to create a limit-line test.

Edit Existing File

Click to open and edit an existing limit-line definition file in the Details dialog box.

Using an ASCII editor to create and edit limit-line files

Because limit-line files are XML files (.lltx), click here to learn how to manually create or edit a limit-line file using any ASCII text editor.

<CLimitLineTestData Name="Upper Limit Line">
 <CLimitLine Name="top rail" IsMaxLine="True">  <!-- Define Upper Limit Line -->
  <CLimitLinePoint X="0" Y="150e-03" />  <!-- Define one point of the line -->
  <CLimitLinePoint X="500e-12" Y="150e-03" />  <!-- Define second point -->
 </CLimitLine>
</CLimitLineTestData>

Note

Up to 64 Limit Line Test files can be loaded and running at the same time. If more than one waveform is displayed, loading the file causes the Select Source Waveform dialog box to open. Limit lines are displayed in the same color as the associated waveform. Multiple Limit Lines Tests can be assigned to the same waveform.

Limit Lines Panel

The Limit Lines panel shows the test status: or [image]. For each loaded Limit Line Test file, there exists an entry in the Limit Lines panel. In the following picture, three Limit Line Tests have been loaded.

Click on this picture to learn more!

Overlap?

If the margin value is replaced by the text Overlap?, none of the input waveform's data points overlap in time with any portion of the limit line. The entire limit line is positioned horizontally off the display.

Limit Lines and Data Points

Any data point that occurs above an upper limit line or below a lower limit line causes a failed condition. A failed portion of a waveform that is beyond the limit line boundary is displayed in red as shown in the following picture. The two limit lines in this picture were defined in one Limit Line Test file. One limit line is defined as a maximum limit line and the other limit line is a minimum limit line. Limit lines are defined by points (X,Y) and can be straight mathmatical lines or include any combination of horizontal, sloped, and vertical portions. Although limit lines can never have a "gap" along the X axis, you can create multiple limit lines in a single file which can have gaps between them. Limit lines are not required to extend across the entire display.

Note

Any portion of a waveform that is shown between adjacent "fail" and "pass" data points is always shown in red, the failure color. On close inspection, you may notice that this line extends into the limit line's "pass" region. This may be more noticeable if the number of acquisition points per waveform has been decreased and the waveform has been zoomed in on as shown in this picture. Here, only 17 data points are shown with one data point in the limit line's "fail" region. This representaion of a failed data point is normal and does not indicate a problem. If you turn Command Waveform Points off in the Display Setup dialog box, the line between the point are not displayed and so only the failed data point is shown in red.

Limit Lines Versus Masks in Eye Mask Mode

Limit lines are similar to masks in Eye/Mask mode, however limit lines are applied to single-valued waveforms while masks are applied to eye diagrams. Limit lines (and masks) always display the pass / fail status which indicates if any data points have occurred outside of the boundaries (lines). You can apply limit testing to limit lines (and masks). Limit testing stops data acquisition based on broad range of acquisition, measurement, or data point conditions.

Limit Lines and Masks Compared
 | Instrument Modes Supported
 | Oscilloscope | TDR/TDT | Eye/Mask | Jitter
Limit Lines | ♦ | ♦ |  |
Masks |  |  | ♦ |
 | Available Limit Testing
 | Limit-Line Test Limits | Mask-Test Limits | Acquisition Limits | Measurement Limits
Limit Lines | ♦ |  | ♦ | ♦
Masks |  | ♦ | ♦ | ♦
Valid Source Waveforms for Limit Lines
FlexDCA Mode | Valid Waveforms
Oscilloscope | Electrical and optical channel waveforms
 | Memory waveforms
TDR/TDT | T-Parameter waveforms
 | S-Parameter waveforms
 | S-Parameter memory waveforms

Remote Commands

Use the LLINe subsystem remote programming commands to load limit lines, select the source waveform, and apply horizontal offset. There are no commands for creating limit lines.


Limit Line Details Editor

This dialog box lets you inspect the details of the limit line test.

To open this dialog box, click the Test Details button at the bottom of the Limit Lines panel. Or, in the Amplitude tab (Oscilloscope mode) or Setup tab (TDR/TDT mode) click the Add Limit Line Test button.

In the dialog box, the limit line status indicators show the [image] or [image] condition for each individual limit line. For a [image] limit line test, the displayed test margin identifies the data point that occurs nearest to the limit line. For a [image] limit line test, the displayed test margin identifies the data point that is the greatest distance into the limit line's failure region.

Click the [image] and [image] buttons to display or hide a table of X and Y coordinates for each point that is defined in each limit line.

NOTE

Clicking the [image] button on a limit line that is comprised of a large number of points may cause a delay between the time when the button is clicked and the time when the table is shown.

Editing Limit Lines

Clicking the Edit button adds the ability to modify or delete existing lines or to add additional lines.

Editing Tools
Tool Description
Select an individual limit line to define the Maximum or Minimum boundaries for the waveform.
Add an additional line to the limit line test.
Adds a new limit-line point after the selected point.
Delets the currently selected limit-line point.
Delete the indicated limit line.
Saves the limit line definition with your edits to a new limit line file. Or, can be used to overwrite the file from which the limit line definition was imported.

NOTE

Clicking Save As is the only method way to permanently save the displayed limit-line definitions.

Clicking Done allows you to view and use your edits on the currently displayed limit line test.

NOTE

Clicking Done will not save the data to a file.


Create Limit Line Test from Waveform

The Create Limit Line Test from Waveform dialog box automatically draws maximum and minimum limit lines at specified offsets from a displayed waveform. Use it to quickly create accurate limit lines for testing waveforms against a golden device.

To open this dialog box, click the Tools > Limit Line Test Editor and select Create New (Waveform).

Editor Fields and Selections
Field | Description
Select Source Waveform:
 If more than one waveform is displayed, click the waveform from which you want to derive the limit lines. In this picture, the Channel 1B waveform is selected. If you find that additional waveforms on the display confusing, temporarily turn the unneeded channels off. In Oscilloscope mode, limit lines can be placed on channels and memories. In TDR/TDT mode, limit lines can be created for T-Parameter waveforms and S-Parameter waveforms (viewed in Waveform Content Windows) and on S-Parameter memories.
Test Name: Enter a name that will identify your limit line in the Limit Line Test dialog box and the Limit Lines panel.
Number of Points: Enter the number of points used to draw each limit line. The default number is 100.
Optimally Spaced Points and
Evenly Spaced Points 		When Optimally Spaced Points is selected, applies curve fitting to the limit lines. Curve fitting often improves the shape of limit lines that are drawn using relatively few points.
Limit Line Waveform Lock Margins | When selected, the top and bottom lines are locked relative to each other. Move one line and the other line also moves.
Top Line Name:
Bottom Line Name: 		Enter the names used to identify each of the two created limit lines in the Limit Line Test dialog box. By default, the two created limit lines are named Top Line and Bottom Line.
X Margin:
Y Margin: 		Entered offsets in the current amplitude units (Y Margin) and the current horizontal scale units (X Margin). The offsets affect the spacing between the waveform and the drawn limit lines.
Redraws the limit lines. Use this feature whenever the source waveform has changed for any reason or because you have changed FlexDCA's horizontal scaling.
Click to create the limit lines and to display the Limit Line Test dialog box.

NOTE

The limit lines are loaded into FlexDCA but are not saved to a file. To save your limit lines, click the Save As button in the Limit Line Test dialog box.

Tip!

Move the dialog box so that it does not cover the displayed waveform. Now you can view in real time affects on the displayed limits lines while changing the settings in the dialog box.

Example of Limit Lines Derived from Waveform

Creating the Limit Lines

In the following procedure, steps 2 and 3 are not required but are included to illustrate how to produce limit lines definitions that result in fewer points and smoother lines.

  1. Display a waveform with the desired amplitude and time scale.
  2. Click Setup > Acquisition Setup. On the Smoothing tab, select Average and enter a large number of waveforms to average. For example, enter 4096.
  3. On the dialog box's Waveform tab, reduce the number of Waveforms/Sample to a number that results in good waveform fidelity with fewer points. The waveform shown above was produced using 400 waveform points with 4096 averages. Close the dialog box.
  4. On the menu, click Tools > Limit Line Test Editor. Move the dialog box so that you can see as much of the displayed waveform as is possible.
  5. Select Create New (Waveform).
  6. In the Limit Line Waveform Creation Editor dialog box, accept the defaults or make any desired selections.
  7. Click Create.


Limit Line Status Indicators

Limit Line Panel Status Indicators
Status Indicators Description Margin Examples

Indicates that the amplitude of all waveform data points are within the limit line's boundaries. The displayed Margin results gives the location in time of the data point that occurs nearest to the limit line. The result includes the margin amplitude, which is the difference in amplitude between the data point and limit line. This is the smallest pass margin and is always reported as a positive value.

Only displayed data points are analyzed and included in the results shown in the table. For example, if you zoom in on the waveform and a data point having the greatest pass margin is off screen, that data point will not be shown in the Pass Margin result.

If the Margin results show Overlap?, none of the input waveform's data points overlap in time with any portion of the limit line. The entire limit line is positioned horizontally off the display.

Indicates that the amplitude of at least one waveform data point is on or beyond the limit line's boundaries. The displayed Margin results gives the location in time of the failed data point that occurs the greatest distance beyond the limit line. The result includes the margin amplitude, which is the difference in amplitude between the data point and limit line. This is the largest failure margin and is always reported as a negative value.

Only displayed data points are analyzed and included in the results shown in the table. For example, if you zoom in on the waveform and a failed data point having the greatest fail margin is off screen, that data point will not be shown in the Fail Margin result.


Limit Line Horizontal Offset

Click Setup in the Limit Line Details dialog box to open this dialog box.

In Oscilloscope mode, this dialog box allows you to apply an offset, in seconds, to all limit lines that are defined in the selected Limit Line Test. Use this feature to shift the limit lines in reference to the waveform. The initial position of the limit lines (0s offset) is specified in the Limit Line Test file. Horizontal offset is not available in TDR/TDT mode.


Creating Limit Line XML Files

Limit Line Test files are text files that you design using an ASCII editor such as Notepad++. Limit Line Test files define one test which can have up to 16 limit lines with each line defining up to 2048 points. Of course, it is unlikely that you will ever need a Limit Line Test with this many points.

The following example shows a very simple file, as it defines a test with only one upper limit line having just two points.

<CLimitLineTestData Name="Upper Limit Line">
 <CLimitLine Name="top rail" IsMaxLine="True">  <!-- Define Upper Limit Line -->
  <CLimitLinePoint X="0" Y="150e-03" />  <!-- Define one point of the line -->
  <CLimitLinePoint X="500e-12" Y="150e-03" />  <!-- Define second point -->
 </CLimitLine>
</CLimitLineTestData>

Notice that the X and Y values in the above example are unitless. On loading, the limit line's X and Y values are interpreted in the current content window's horizontal and vertical units, as shown in the following table.

Interpretation of Axis Values for Content Windows
Window Type | Oscilloscope Mode | TDR Mode | Interpretation of X and Y Axis Values | Window Content
Waveform | ♦ | ♦ | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds | Channels, differential channels, most functions, waveform memory, and eye/mask memory.
Freq-Mag | ♦ | ♦ | Y-Axis: dBV or dBm (logarithmic scale) X-Axis: seconds or Hertz | Output of FFT math function and TDR/TDT S-Parameters
GrpDelay | ♦ | ♦ | Y-Axis: seconds X-Axis: Hertz | Output of FFT math function and TDR/TDT S-Parameters
Phase | ♦ | ♦ | Y-Axis: phase (°) X-Axis: Hertz | Output of FFT math function and TDR/TDT S-Parameters
Time-Ohms |  | ♦ | Y-Axis: Ohms X-Axis: Time | TDR/TDT T-Parameter Responses
Time-Volts |  | ♦ | Y-Axis: Volts X-Axis: Time | TDR/TDT T-Parameter Responses
Time-% |  | ♦ | Y-Axis: % X-Axis: Time | TDR/TDT T-Parameter Responses

Limit Line Tests are defined using three XML elements. There is no XML declaration. The three XML elements have the following hierarchy. Click on the elements to learn about their use.

  • <CLimitLineTestData>
  • <CLimitLine>
  • <CLimitLinePoint>

Rules and Restrictions

  • XML is case sensitive. For example, the attribute declaration Name="Upper Limit Test" is valid, whereas name="Upper Limit Test" is not.
  • The <CLimitLineTestData> root element, which delares a Limit Line Test, must begin and close every file and there can only be one instance of this element. Additional instances of this element are ignored.
  • From 1 to 16 limit lines can be defined in a file. Each limit line can be declared as an upper (maximum) or lower (minimum) line and, if undeclared, defaults to an upper (maximum) line. Limit Line names are optional.
  • Limit Line definitions must include a minimum of two points. The maximum number of points is 2048.
  • Points within a limit line definition must be defined in ascending order of X values. The only exception is when two consecutive points have the same X value, as when creating a vertical section of the limit line. Any number of adjacent points can have the same Y value.
  • The maximum number of points allowed in a Limit Line Test file is 32,768 (16 limit lines at 2048 points each).
  • Use the .lltx file name extension when naming your file.

Note

The XML elements that are used to define limit lines are not the same as the elements used for creating masks in Eye mode.

Comments

Don't forget to add comments to your Limit Line Test files. To create a comment use the <!-- and --> delimiters as shown in the following example. Comments can be on their own line, at the end of a line, or extend over several lines.

<CLimitLineTestData Name="Limit Line Test">
 <!-- Define Upper Limit Line -->
 <CLimitLine Name="top rail" IsMaxLine="True">
  <CLimitLinePoint X="0" Y="150e-03" />  <!-- Define the first point -->
  <CLimitLinePoint X="500e-12" Y="150e-03" />  <!-- Define another point -->
  <CLimitLinePoint X="600e-12" Y="400e-03" />  <!-- Define another point -->
  <CLimitLinePoint X="900e-09" Y="400e-03" />  <!-- Define another point -->
 </CLimitLine>  <!-- Finish the line -->
</CLimitLineTestData>

Limit Line Test Example 1.

This example shows two separate limit lines with a gap between them. The two lines have the same amplitude, but because of the gap, they must be defined as two separate limit lines.

Displayed Limit Lines Limit Line Test File

<CLimitLineTestData Name="Upper Limits">
 <CLimitLine Name="Limit Line 1" IsMaxLine="True">
  <CLimitLinePoint X="880e-12" Y="60e-03" />
  <CLimitLinePoint X="1175e-12" Y="60e-03" />
 </CLimitLine>
 <CLimitLine Name="Limit Line 2" IsMaxLine="True">
  <CLimitLinePoint X="1360e-12" Y="60e-03" />
  <CLimitLinePoint X="1400e-12" Y="60e-03" />
 </CLimitLine>
</CLimitLineTestData>

Limit Line Test Example 2.

This example shows two methods for creating the same two limit lines and the affect of an applied horizontal offset. Horizontal offset is always applied to the entire contents of a Limit Line Test file. The first method defines both limit lines in the same file. Any applied horizontal offset to the Limit Line Test is applied simultaneously to both limit lines. The second method defines each limit line in a separate Limit Line Test File. With this method, you can apply horizontal limit line offset separately to each limit line.

Displayed Limit Lines Limit Line Test File

Limits lines defined in one Limit Line Test file.

<CLimitLineTestData Name="Lower and Upper Limits">
 <CLimitLine Name="Limit Line 1" IsMaxLine="True">
  <CLimitLinePoint X="530e-12" Y="60e-03" />
  <CLimitLinePoint X="620e-12" Y="60e-03" />
  <CLimitLinePoint X="650e-12" Y="-25e-03" />
  <CLimitLinePoint X="730e-12" Y="-25e-03" />
 </CLimitLine>
 <CLimitLine Name="Limit Line 2" IsMaxLine="False">
  <CLimitLinePoint X="530e-12" Y="25e-03" />
  <CLimitLinePoint X="600e-12" Y="25e-03" />
  <CLimitLinePoint X="630e-12" Y="-60e-03" />
  <CLimitLinePoint X="730e-12" Y="-60e-03" />
 </CLimitLine>
</CLimitLineTestData>
Limits lines defined in two Limit Line Test files. File 1:
<CLimitLineTestData Name="Upper Limit">
 <CLimitLine Name="Limit Line 1" IsMaxLine="True">
  <CLimitLinePoint X="530e-12" Y="60e-03" />
  <CLimitLinePoint X="620e-12" Y="60e-03" />
  <CLimitLinePoint X="650e-12" Y="-25e-03" />
  <CLimitLinePoint X="730e-12" Y="-25e-03" />
 </CLimitLine>
</CLimitLineTestData>
File 2:
<CLimitLineTestData Name="Lower Limit">
 <CLimitLine Name="Limit Line 2" IsMaxLine="False">
  <CLimitLinePoint X="530e-12" Y="25e-03" />
  <CLimitLinePoint X="600e-12" Y="25e-03" />
  <CLimitLinePoint X="630e-12" Y="-60e-03" />
  <CLimitLinePoint X="730e-12" Y="-60e-03" />
 </CLimitLine>
</CLimitLineTestData>

Limit Line Test Example 3.

This example shows that multiple upper (or lower) limit lines can be defined in the same Limit Line Test file. The example also shows a limit line that includes a vertical section.

Displayed Limit Lines Limit Line Test File
<CLimitLineTestData Name="3 Limit Lines">
 <CLimitLine Name="Limit Line 1" IsMaxLine="True">
  <CLimitLinePoint X="300e-12" Y="70e-03" />
  <CLimitLinePoint X="1100e-12" Y="70e-03" />
 </CLimitLine>
 <CLimitLine Name="Limit Line 2" IsMaxLine="True">
  <CLimitLinePoint X="300e-12" Y="50e-03" />
  <CLimitLinePoint X="660e-12" Y="50e-03" />
  <CLimitLinePoint X="660e-12" Y="-35e-03" />
  <CLimitLinePoint X="780e-12" Y="-35e-03" />
  <CLimitLinePoint X="780e-12" Y="50e-03" />
  <CLimitLinePoint X="1100e-12" Y="50e-03" />
 </CLimitLine>
 <CLimitLine Name="Limit Line 3" IsMaxLine="False">
  <CLimitLinePoint X="300e-12" Y="35e-03" />
  <CLimitLinePoint X="540e-12" Y="35e-03" />
  <CLimitLinePoint X="610e-12" Y="-55e-03" />
  <CLimitLinePoint X="840e-12" Y="-55e-03" />
  <CLimitLinePoint X="910e-12" Y="35e-03" />
  <CLimitLinePoint X="1100e-12" Y="35e-03" />
 </CLimitLine>
</CLimitLineTestData>


<CLimitLineTestData> Element

<CLimitLineTestData> is the required root element and must be the first element in any Limit Line Test file. This element is the ancestor of all other elements. This element should immediately be followed by the <CLimitLine> element which draws a limit line.

  • Introduction to creating Limit Line Test files

Parent Elements

None.

Child Elements

<CLimitLine> and <CLimitLinePoint> (descendant)

Attributes

Name | Value | Description
Name | string | Optional attribute which names a Limit Line Test in the Limit-Line Results table.

Example

<CLimitLineTestData Name="Compliance Test">
 <!-- Define Upper Limit Line -->
 <CLimitLine Name="top rail" IsMaxLine="True">
  <CLimitLinePoint X="0" Y="150e-03" />  <!-- Define the first point -->
  <CLimitLinePoint X="500e-12" Y="150e-03" />  <!-- Define another point -->
  <CLimitLinePoint X="600e-12" Y="400e-03" />  <!-- Define another point -->
  <CLimitLinePoint X="900e-09" Y="400e-03" />  <!-- Define another point -->
 </CLimitLine>  <!-- Finish the line -->

 <!-- Define Lower Limit Line -->
 <CLimitLine Name="bottom rail" IsMaxLine="False">
  <CLimitLinePoint X="0" Y="-150e-03" />
  <CLimitLinePoint X="500e-12" Y="-150e-03" />
  <CLimitLinePoint X="600e-12" Y="-400e-03" />
  <CLimitLinePoint X="900e-09" Y="-400e-03" />
 </CLimitLine>
</CLimitLineTestData>


<CLimitLine> Element

<CLimitLine> defines an upper (maximum) or lower (minimum) limit line that is made up of two or more points. The points establish limit-line segments. From 1 to 16 lines can be defined in one Limit Line Test file. A limit line segments defined within a <CLimitLine> element are continuous and do not contain gaps. If you want to create a gap, use two <CLimitLine> elements.

  • Introduction to creating Limit Line Test files

Parent Elements

<CLimitLineTestData>

Child Elements

<CLimitLinePoint>

Attributes

Name | Value | Description
Name | string | Optional identifying name for a limit line. The name is shown in the Details dialog box which is accessed from the Limit-Line Results table.
IsMaxLine | string | Required attribute which names a limit line. "True" specifies an upper (maximum) limit line. Data points that occur above the line indicate "fail". Data points below the line indicate "pass". "False" specifies an upper (minimum) limit line. Data points that occur below the line indicate "fail". Data points above the line indicate "pass". If the IsMaxLine attribute is and empty string, the line is interpreted to be a minimum line.

Example

<CLimitLineTestData Name="Compliance Test">
 <!-- Define Upper Limit Line -->
 <CLimitLine Name="top rail" IsMaxLine="True">
  <CLimitLinePoint X="0" Y="150e-03" />  <!-- Define the first point -->
  <CLimitLinePoint X="500e-12" Y="150e-03" />  <!-- Define another point -->
  <CLimitLinePoint X="600e-12" Y="400e-03" />  <!-- Define another point -->
  <CLimitLinePoint X="900e-09" Y="400e-03" />  <!-- Define another point -->
 </CLimitLine>  <!-- Finish the line -->

 <!-- Define Lower Limit Line -->
 <CLimitLine Name="bottom rail" IsMaxLine="False">
  <CLimitLinePoint X="0" Y="-150e-03" />
  <CLimitLinePoint X="500e-12" Y="-150e-03" />
  <CLimitLinePoint X="600e-12" Y="-400e-03" />
  <CLimitLinePoint X="900e-09" Y="-400e-03" />
 </CLimitLine>
</CLimitLineTestData>


<CLimitLinePoint> Element

<CLimitLinePoint> defines a limit line point (X,Y) that establishes the beginning or end of a limit line segment. Points within a limit line must be defined in ascending order of X values. The only exception is when two consecutive points have the same X value, as when creating a vertical limit line segment between two segments having different amplitudes. Any number of adjacent points can have the same Y value. The maximum number of points in a limit line is 2048, which results in 2047 limit line segments. If points are not defined in ascending X values, the file will fail to load and an error will be reported.

Time and amplitude values are interpreted to be in the window's current vertical and horizontal units.

  • Introduction to creating Limit Line Test files

Parent Elements

<CLimitLine>

Child Elements

None.

Attributes

Name | Value | Description
X | string | Sets the point's time.
Y | string | Sets the point's amplitude.

Example

<CLimitLineTestData Name="Compliance Test">
 <!-- Define Upper Limit Line -->
 <CLimitLine Name="top rail" IsMaxLine="True">
  <CLimitLinePoint X="0" Y="150e-03" />  <!-- Define the first point -->
  <CLimitLinePoint X="500e-12" Y="150e-03" />  <!-- Define another point -->
  <CLimitLinePoint X="600e-12" Y="400e-03" />  <!-- Define another point -->
  <CLimitLinePoint X="900e-09" Y="400e-03" />  <!-- Define another point -->
 </CLimitLine>  <!-- Finish the line -->

 <!-- Define Lower Limit Line -->
 <CLimitLine Name="bottom rail" IsMaxLine="False">
  <CLimitLinePoint X="0" Y="-150e-03" />
  <CLimitLinePoint X="500e-12" Y="-150e-03" />
  <CLimitLinePoint X="600e-12" Y="-400e-03" />
  <CLimitLinePoint X="900e-09" Y="-400e-03" />
 </CLimitLine>
</CLimitLineTestData>


Limit Testing

Limit testing allows you to stop data acquisition based on one of the following four types of events. When the specified limit conditions are met, the active tasks stop and, if defined, a reporting action is taken for each limit test.

  • Acquisition Limits (number of samples, waveforms, or patterns acquired)
  • Measurement Limits (measurement values inside or outside of a specified range)
  • Limit-Line-Test Limits (data points in violation of user-defined line boundaries on the display)
  • Mask Limits (data points in violation of display user-defined mask)

To select and configure limit testing, click Measure > Limit Tests. The following table shows the availability of each type of limit test according to instrument modes.

Availability of Limit Tests
Type of Limit Test | Instrument Mode
 | Oscilloscope | Eye/Mask | TDR/TDT | Jitter
Acquisition Limits | ♦ | ♦ | ♦ | ♦
Measurement Limits | ♦ | ♦ | ♦ | ♦
Limit-Line-Test Limits | ♦ |  | ♦ |
Mask-Test Limits |  | ♦ |  |

You can run one or more limit tests at a time. As soon as the limit conditions for one of the tests is met, data acquisition and all tests stop. To reset any of the limit tests, click Clear on the menu bar or change any of the following parameters: vertical scale, offset, horizontal position, horizontal scale, trigger settings, acquisition record length, or averaging.


Acquisition Limit Tests

Use this dialog box to limit data acquisition to a specified number of waveforms, samples, or patterns. As the limit test is running, the current acquisition count is shown at the top of the display. When the limit is reached, the green light ( [image]) shown next to the count turns red ( [image]).

Click Measure > Limit Tests > Acquisition Limits to open this dialog box.

Acquire Entire Pattern (Off)

Acquire Entire Pattern (On)

As seen above, the selections available in the dialog box depend on the Acquire Entire Pattern setting and the instrument mode as described in the following table. After selecting the type of data acquisition, use the Number of Waveforms (Samples or Patterns) field to actually enter the number of acquisitions that stop the test. Click Specify Reporting Action to select how the limit test results are reported.

Clicking Enable Limits immediately starts the test. To start after you close the dialog box, use the Stop, Single, and Run acquisition controls on the menu bar.

Availability of 'Run Until' Conditions
FlexDCA Mode | Acquire Entire Pattern Setting | Available Selection
 |  | Waveforms | Samples | Patterns
Oscilloscope | Off | ♦ | ♦ |
 | On |  |  | ♦
Eye/Mask | Off | ♦ | ♦ |
 | On |  |  | ♦
Jitter | Off |  |  | ♦
 | On |  |  | ♦
TDR/TDT | — | ♦ | ♦ |

Note

If a math function is displayed, at least one channel must be on in order to be able to specify acquisition limits for a specific channel. If no channel is active, acquisition limits must be set to All Channels Together.

Note

The number of samples the instrument acquires is always a multiple of the number of points that you specify in the Acquisition dialog box. Therefore, the acquisition limit test will stop when the specified number of samples is acquired, and the specified number of samples is a multiple of the number of points specified in the Acquisition dialog box.


Failure Limit Test for Limit Line

In Oscilloscope and TDR/TDT modes, when limit lines are displayed, use this dialog box to stop a Limit Line Test upon the first failed or successful data point and to create a report on the test results.

Click Measure > Limit Tests > Limit Line Test Limits to open this dialog box.

Clicking Enable Limits immediately starts failure testing. To delay the start until after you close the dialog box, do the following steps:

  1. Click the Stop acquisition button on the menu bar.
  2. Open and configure the Failure Limit Test dialog box.
  3. Close the dialog box.
  4. Click the Run acquisition button on the menu bar.

Click Stop on failure to end limit testing when a data point occurs above an upper limit line or below a lower limit line. Click Stop on success to end limit testing when a data point occurs below an upper limit line or above a lower limit line.

Click Specify Reporting Action to select how the Limit Lines Test results are reported.


Mask Limit Tests

In Eye/Mask mode, use this dialog box to stop mask testing after a specific number of mask violations have occurred. Violations in all mask and mask margin regions are counted towards the total number of failures. If you want to restrict the failure counts to a specific mask or mask margin region, use the Measurement Limit Test dialog box. (Click Measure > Limit Tests > Measurement Limits.)

Click Measure > Limit Tests > Mask Limits to open this dialog box.

Use the Number of failures to stop limit test field to enter the number of mask violations that stop mask testing. The default number of violations is 1.

Click Specify Reporting Action to select how the limit test results are reported.

Clicking Enable Limits immediately starts the test. To start after you close the dialog box, use the Stop, Single, and Run acquisition controls on the menu bar.


Measurement Limit Tests

Use the Measurement LImit Tests dialog box to simultaneously perform limit testing on up to 16 active measurements.

Click Measure > Limit Tests > Measurement Limits to open this dialog box.

To define a limit test:

  1. Select one of 16 tabs that are on the dialog box's left side.
  2. Make selections in the tab to select an active measurement and to define your test.
  3. Click Specify Reporting Action to select how the limit test results are reported.
  4. Click Enable limit test on the following measurement to immediately start all defined measurement limit tests.

Note

To start limit testing after you close the dialog box, use the Stop, Single, and Run acquisition controls on the menu bar.

Click Specify Reporting Action to select how the limit test results are reported. Use the dialog box's Turn All OFF button to quickly turn off all running limit tests. After clicking this button, although all tabs read Off, none of your definitions have been erased. Simply open a tab and click Enable limit test on the following measurement to restart the test.

The status of the current limit tests are shown in the Failures column of the Results panel. A green dot ( [image]) in the column indicates that no failures have occurred. A red dot ( [image]) indicates a failure. The Failures column shows the number of failures that occur for measurement limit test. The # Wfms column shows the total number of waveforms sampled from the active measurements.

Measurement Fields

Use the Measurements drop-down list to select an active measurement for the limit test.

Measurement Fields and Eye Mask Tests

In Eye/Mask mode, use a Measurement Limit Test to stop mask testing after a number of mask violations has occurred from a specific mask area or mask margin region. Select the region from the Measurements drop down list. If you want to include the violations from all mask and mask margin regions in the total number of failures, use the Mask Limit Test.

Limits Fields

The Lower Limit and Upper Limit fields establish a range of measurement values. Relative to this range, measurements are considered to be passed or failed according to the following slections:

  • Inside. Measurement fails when a measurement value is within the lower and upper limits.
  • Outside. Measurement fails when a measurement value is beyond the lower and upper limits. This is the default setting.
  • Always. Measurement fails always regardless of the measured values. The values in the Upper Limit and Lower Limit boxes are ignored. Use this selection when you want to record the action each time the measurement is executed. You can then use this data to monitor measurement trends.
  • Never. Measurement never fails regardless of the measured values. This allows you to monitor a measurement without having to set up any fail criteria. Use this mode when you want to observe a measurement without failures and compare the measurement to another measurement with failures.

Advanced Fields

Use the If measurement cannot be performed, then field to select the action to take when a measurement cannot be performed: Fail, Pass, or Ignore. An example of this selection being used would be if the waveform's edge could not be located in a risetime measurement. The default setting is Fail, which stops the measurement after the specified number of failed waveforms occurs. This selection is used in most applications.

Action Taken When Measurement Cannot be Performed
Setting | Failure Count | Number of Waveforms
Fail | incremented | incremented
Pass | — | incremented
Ignore | — | —


Save Screen Image

Specify Report Action (Save Screen Image tab)

Default User Folder

The default user data folder for saving screen image files is \Screen Images.

Use the Save Screen Image tab of the Specify Report Action for Limit Test dialog box to save a screen capture of the graticule area to a graphics file for a limit test. Close the dialog box to return to the Limit Test dialog box.

Click the tabs in this picture!

Select Save Screen to save a screen capture. The screen image allows you to see what the waveform image looked like at the time the limit test stopped.

Select Monochrome to save the screen as a black and white image.

Select Invert Graticule Area Background Color to save the image file's background color as white (the original color is black). The waveform colors remain unchanged. This option is especially useful when printing the waveform. The background of the printed image will be white; the waveform color will vary depending on the printer available (black and white, or color).

In the Include in screen capture field, select the display area to capture: Entire Display or Only Waveform Window. The following screen captures show the output from these two selections.

Entire Display Screen Capture

Only Waveform Window Screen Capture

Available Graphics Formats

Click Browse to enter a starting filename and the file format:

  • .png. A popular format for documents and the web.
  • .jpg (24-bit color Joint Photographic Experts Group file format). A graphics format which can be highly compressed. This compression can result in permanent loss of image quality.

Note

This instrument uses the .jpg software written by the Independent JPEG Group.

  • .gif (Graphics Interchange File format). A standard graphics format (256 color) used to store bit mapped graphic files.

Note

For .gif files, this instrument uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.

  • .tif (256 color Tag Image File format). A format of choice for storing master copies. It provides better quality, but larger files. This format is widely supported across platforms (PC, Mac, UNIX).

Note

For .tif files, this instrument uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.

Note

The .ps and .eps files can only be viewed with a software application that supports indexed color space. You can use a postscript printer to print .ps files. If you are using Microsoft Windows NT, Microsoft has documented this known defect associated with Word 97 and Windows NT: "OFF97: EPS File Is Not Printed or Is Printed Incorrectly Under Windows NT". You must install service release upgrade of Word 97 in or to print .eps images.


Save Summary

Specify Report Action (Save Summary tab)

Default User Folder

The default user data folder for saving limit test summary files is \Limit Summaries.

Use the Save Summary tab of the Specify Report Action for Limit Test dialog box to save a summary text file for a limit test. Close the dialog box to return to the Limit Test dialog box. Select Save Summary To File to save a limit test data report after each test fails or is completed. The summary is a text file (.sum) that contains a log of the limit test results. Click Browse to save summaries to a different file name. Limit summary files can be imported into any text editor or word processor.

Click the tabs in this picture!

Note

The Save Summary tab is not available for an acquisition limit test.


Save Waveform

Reporting Limit Test Results (Save Waveform tab)

Use the Save Waveform tab of the Specify Report Action for Limit Test dialog box to save a waveform for a limit test. Close the dialog box to return to the Limit Test dialog box.

Click the tabs in this picture!

Use the Select Waveform Source to select a waveform source (input channel, function, or memory) available at the time the limit test is stopped. For each source, specify if the waveform is saved to disk or to waveform memory. A saved waveform contains the vertical and horizontal scaling information you can use to rescale the waveform.

Click Set All Destinations to Off to set the destination for all waveform sources to Off. You can then specify a new destination for each source.

Note

The Save Waveform tab is not available in Jitter mode.

Note

A waveform memory can contain only one waveform at a time. Use the waveform memory option when you are looking for only one failure during the limit test. You can specify a different destination for each waveform source. For example, you can save channel 1A to an external memory device and channel 2A to a memory.


Maintenance

  • Connector Care
  • Instrument Software Versions
  • Firewall
  • Drive-C Recovery
  • Drive-D Restoration
  • Removable Hard Drive
  • Declassify Memory


Declassifying Instrument Memory

Perform this procedure before removing the instrument from a secure area.

  1. Turn the 86100D on.
  2. Press the Default Setup key two consecutive times. (Press Default Setup, then immediately press Default Setup again.)

    3. Note

    The instrument always maintains its current and prior settings in non-volatile RAM, so that when you power up the instrument, the settings will be the same as when it was last powered off. This step resets the current and prior instrument state settings to their default settings by erasing the states that are stored in non-volatile RAM.

  3. Clear channel memory (overwrite with noise) using the following steps:
    1. Install two measurement modules, and turn all four Channel on. Do not connect any signals.
    2. Click Setup > Acquisition to open the Acquisition dialog box.
    3. On the Waveform tab, click Manual and enter a value of 4096.
    4. Close the Acquisition dialog box.
    5. On Option 86100D-ETR instruments, click the Pattern Lock button. When the Pattern Autodetect Fail dialog box is displayed, click Cancel to close the dialog box.

  4. Reset the remote interface (GPIB) address using the following steps:
    1. Click Tools > Remote Interface.
    2. Enter a GPIB address value of 7 and close the dialog box.


Drive-C Recovery

This hard disk drive recovery re-images the drive-C partition, only. Because the factory backup image resides on the hard disk, no external media is required to recover drive C. After the recovery process is complete, the Infiniium DCA firmware is set to the version installed when the factory image was created. If needed, you can upgrade the 86100D instrument software.

When performing this recovery procedure, all application license files and user files (including data files) are left unchanged. However, in case of a problem, you may want to make a backup of your data before you begin. After the procedure completes, the Windows XP Setup Wizard will automatically run.

Print out this topic so that you can refer to it during the recovery procedure.

Note

Once started, the time required to complete the recovery is approximately 30 minutes.

  1. Connect a keyboard to the instrument.
  2. Press the ON/Standby switch to turn on the instrument. When the Windows Boot Manager screen appears, press the keyboard's down-arrow key to select "Keysight Recovery System". Then, press the Enter key.

  3. When the following screen appears, enter choice number 2, "Recover the original factory system image". Then, click OK or press the Enter key.

  4. Press OK to recover the hard disk, or press Cancel to exit the procedure.

    5. This is your last chance to abort the recovery process. Once the hard drive recovery procedure starts, do not interupt the procedure with any key presses. The procedure requires about 30 minutes to complete.

  5. A screen will show you the progress of the setup with an estimate of the remaining time.

  6. Do not take any action when the following screen appears. Do not attempt to enter or change any values. After a few seconds, the Windows Boot Manager appears.

  7. Do not take any action in the Windows Boot Manager. After a few seconds, the window automatically accepts the default selection ("Windows XP Professional"). You can, however, press the keyboard's Enter key if you want.

  8. Press the keyboard's Enter key when the following screen appears.

  9. The following screens are displayed for several minutes as the installation progresses.

  10. When the Windows XP Professional Setup dialog box appears, read the license agreement and, if you accept the agreement, select I accept this agreement. Then, click Next.

    11. Note

    If you do not accept this agreement, the instrument installation will abort.

  11. Do not take any action when the Windows XP Professional Setup screen appears. Do not attempt to enter or change any values. After a few seconds, the setup automatically progresses to the next screen.

  12. Do not take any action when the Windows Boot Manager appears. After a few seconds, the window automatically accepts the default selection ("Windows XP Professional"). You can, however, press the keyboard's Enter key if you want.

  13. After a brief period, the splash screen is displayed.

  14. The setup procedure is completed when the instrument screen appears.


Drive-D Restoration

Drive D on the instrument's hard disk contains all user files including data files. It also includes backup copies of the factory calibration and application license files that are automatically created from Drive C by the instrument. To restore drive D back to factory defaults, you must reformat the partition using the Windows XP Format utility. Formatting will erase all data on drive D.

Performing a Drive C Recovery immediately after formatting the D partition (without restarting the instrument) results in the loss of factory calibration and any application license files. Always turn off and then restart the instrument after performing the Drive-D Restoration procedure.

  1. Click File > Exit to close the Infiniium DCA application.
  2. Click Start to view Windows Administrator.

  3. Click My Computer and select the USER (D:) drive.
  4. On the File menu, click Format > Start, and then OK. Do not change the default setup. Leave the Format Options selections unchecked.
  5. When the Format Complete dialog box appears, click OK.
  6. Click Close
  7. Turn off and then restart the instrument. The instrument automatically performs the following tasks:
    • Creates the original factory folders on drive D
    • Creates backup copies of the factory calibration and any application license files that reside on drive C.


Configuring the Firewall

This procedure describes the settings for the Windows Firewall, settings using a different firewall will be similar. These settings allow control of the instrument over SICL/LAN and allow the Keysight Connection Expert to locate the instrument.

  1. Minimize the Infiniium DCA application to view the Windows desktop.
  2. On the Start menu, click Control Panel.
  3. If Category View is set, click Switch to Classic View.
  4. Open Windows Firewall.
  5. On the Exceptions tab, clear or select to unblock (allow) the Keysight Remote I/O Port Mapper Utility and the Keysight Remote I/O Server. These programs allow control of the instrument over SICL/LAN. If these utilities are not listed, click Add Program in the dialog box and add them using the following paths:
    • Keysight Remote I/O Port Mapper Utility found at C:\Program Files\Keysight\IO Libraries Suite\bin\portmap.exe
    • Keysight Remote I/O Server found at C:\Program Files\Keysight\IO Libraries Suite\bin\siclland.exe
  6. On the Windows Firewall, click the Advanced tab.
  7. Click ICMP to open the ICMP Settings dialog box.
  8. Clear or select Allow incoming echo request. Selecting this feature allows the Keysight Connection Expert's (version 15.0 and above) Instrument I/O on this PC to automatically find the 86100D.


Instrument Software Versions

You can install the latest version of the software for the Infiniium DCA mainframe. Newer software versions upgrade the operating system of the instrument mainframe and the plug-in modules. The instrument's software can also be downgraded to a previous version, if needed.

Download the software upgrades from the Keysight website: www.Keysight.com. In the search box, type the instrument model number and click Go. Scroll down to the "Software & Firmware Downloads" section and follow the Firmware Upgrade link.

To Upgrade 86100D Instrument Software

SICL/LAN and the FIREWALL

The ability to control the instrument over SICL/LAN requires that two programs be unblocked by the firewall. You might be prompted by a firewall application to block the Keysight Remote I/O Port Mapper Utility and the Keysight Remote I/O Server. If you decide to allow the features to be blocked, then remote control of the instrument over SICL/LAN will not be possible. We recommend that you select Unblock on these features. However, if you block these features, you can always reconfigure the firewall at a later time to allow SICL/LAN.

After you have obtained the software upgrade file for your instrument, perform the following steps.

  1. Copy the software upgrade file to a USB Flash Drive, external USB CD-RW drive, LAN folder, or other device so that the file will be available to copy to the instrument.
  2. On the instrument, click File > Exit and then click Yes to exit the 86100D application.
  3. On the Start menu, click My Computer.
  4. Select the D: drive and create a new folder. Give the new folder a meaningful name. For example, Software Upgrade.
  5. Copy the upgrade file (.exe file extension) from an external memory device to your new folder.
  6. Select the upgrade file to begin the installation. Click Next twice for the installation wizard to automatically uninstall the current version and install the newer version.
  7. If you are prompted by a firewall application to block the Keysight Remote I/O Port Mapper Utility and the Keysight Remote I/O Server, select Unblock.

  8. From the Windows desktop, double click the program icon to start the Infiniium DCA application.

To Downgrade Instrument Software

After you have obtained the software version file for your 86100D, perform the following steps:

  1. Copy the software upgrade file to a USB Flash Drive, external USB CD-RW drive, LAN folder, or other device so that the file will be available to copy to the instrument.
  2. On the instrument, click File > Exit and then click Yes to exit the Infiniium DCA application.
  3. Click Control Panel on the Start menu.
  4. Click Add or Remove Programs, and select the current Infiniium DCA software version.
  5. Click Remove, and then click Yes to remove the current software version.
  6. Click My Computer on the Start menu.
  7. Select the D: drive and create a new folder. Give the new folder a meaningful name. For example, Software Upgrade.
  8. Copy the new file (.exe or .msi file extension) from an external memory device to your new folder.
  9. Select the new file to begin the installation. Click Next twice for the installation wizard to automatically install the new version.
  10. From the Windows desktop, double click the program icon to start the 86100D software.


Removable Hard Drive

The removable hard disk (Option 090) is designed for instruments that are used in a secure environment. Because the hard disk is easily removed from the instrument, you can protect any sensitive data.

The removable hard disk option comes with two hard disks. One is installed in the instrument, and one is provided separately. When shipped from the factory, both hard disks include identical operating system, applications, factory calibration, and licensing files. You simply exchange the hard disks, and the instrument is ready to use.

Both drive C (INFINIIUM) and drive D (USER) are located on the hard disk. Drive C contains the operating system, the instrument DCA application, and any factory installed or user installed applications. Drive C also contains factory calibration data and application licenses, which are automatically backed up to drive D. Drive D contains backup files and user files including data files.

Use standard anti-static precautions when handling removable hard disks to avoid damaging the disks.

To exchange the removable hard disks

  1. Turn the instrument on.
  2. If you're removing the instrument from a secure area, declassify instrument memory.
  3. If the instrument has been returned from Keysight with a new mainframe calibration, you must save a copy of the calibration file from the current hard disk. Later in this procedure, you will install this file on the secure hard disk.
    1. On the 86100D, click Calibrate > All Calibrations. Click the Mainframe and Skew tab. Record the calibration date for use later in this procedure.
    2. Close the All Calibrations dialog box.
    3. Click File > Exit to close the DCA application.
    4. From the Windows Start menu, click My Computer.
    5. Enter the path, c:\scope\cal, in the address line on the My Computer dialog box. Then, press Enter to locate the file, framecal.dat. The folder, c:\scope\cal, is hidden and will not be shown if you browse for it.
    6. Copy the file, framecal.dat, to an external USB memory device.
  4. Turn off the 86100D.
  5. Remove the screw that secures the hard disk to the instrument's rear panel.
  6. Using the handle, remove the hard disk.
  7. Install the alternate hard disk. Make sure that the hard disk is oriented so that the connector on the hard disk lines up with the connector in the mainframe.
  8. Secure the hard disk to the rear panel using the screw.
  9. If you saved the mainframe calibration file in Step 3, perform these steps:
    1. Turn on the instrument, and click File > Exit to close the DCA application.
    2. From the Windows Start menu, click My Computer.
    3. Locate the file, framecal.dat, that you copied to your external USB memory device.
    4. Copy this file and paste the file into the folder, c:\scope\cal. Locate the folder by entering the path, c:\scope\cal, in the My Computer dialog box. Click OK to overwrite the current file.
    5. Turn the instrument off and then on again.
    6. Click Calibrate > All Calibrations. Click the Mainframe and Skew tab.
    7. Confirm that the displayed calibration date is the same date that you recorded in Step 3. Verify that the displayed status message reads "Current service mainframe timebase calibration is valid."


TrackingMarkers

markers:

  • Tracking
  • Manual Line

Tracking Markers

Tracking markers measure the position and magnitude at any sample point on a single-valued waveform. Tracking markers can be placed on Waveform, Freq-Mag, Phase, GrpDelay, Time-Ohms, Time-Volts, and Time-% waveform content windows. When a tracking marker is placed on a Freq-Mag, Phase, and GrpDelay window, it appears on the same x position on all three of these windows. In TDR mode, a tracking marker assigned to a Time-Ohms, Time-Volts, and Time-% window does not appear on the other Time windows. Freq-Mag, Phase, and GrpDelay windows are displayed for TDR Mode's S-parameters and when using the FFT math function (other than an FFT that is defined as Linear Magnitude). Time-Ohms, Time-Volts, and Time-% windows are displayed for TDR Mode's T-parameters.

Phase For multi-valued waveforms, like eye diagrams, use manual line markers.

Click Measure > Markers to open the Markers dialog box.

In Oscilloscope Mode, turn pattern lock on if a multi-valued waveform is displayed.

In Eye/Mask Mode:

  • Turn Pattern lock on
  • If Acquire Entire Pattern is selected, turn Wrap Waveform off.

In TDR/TDT Mode, assign the marker to a channel, T-domain, or S-parameter waveform.

TDR/TDT Mode

In TDR/TDT mode, the Source Type field shown in the above picture is added to the dialog box. This selection determines the type of Source Waveform that you can assign the marker to as shown in the following table. In the Source Waveform drop-down list, channels are labeled by DUT and Port number. For example, marker 1 in the above picture is assigned to DUT 1 Port1 (1A), which is channel 1A. Also notice in the picture that marker 2 is assigned to T-domain response T11, which is displayed in a Time-Volts waveform content window.

Valid Source Type Selections in TDR/TDT Mode
Source Type | Valid Source Waveforms
Waveform | Channels, or T-domain responses
S-Parameter | S-Parameters

To Turn on Tracking Markers

  • Click Measure > Markers to open the Markers dialog box (shown above), and select the Tracking Markers tab. In the dialog box, click one of the four available tracking marker button so that it turns green. The marker is now turned on. Select the Source Waveform on which to place the marker.
  • From the 86100D front-panel, click the Marker button.
  • Click the quick access toolbar button [image].

Note

You can simultaneously use both tracking markers and manual line markers on Waveform content windows (non-spectral graphs). However, turning on a tracking marker disables the associated manual line markers. For example, turning on tracking marker 2 disables manual markers X2 and Y2.

To move a displayed marker, simply drag the marker line or marker handle [image]. Depending on the display window view, the marker handle may not be visible. For exact marker positioning, enter the marker value directly in the Markers dialog box. You can also move markers using the 86100D front-panel Marker Position knob. When multiple markers are displayed, pressing the 86100D Marker Position knob selects an active marker for positioning. Repeatedly press the Marker Position knob to move through all active markers.

Click to select the tracking marker. Tracking markers are designed for single-valued waveforms which can be displayed in Oscilloscope Mode or in Eye/Mask mode (pattern-lock trigger, Acquire Entire Pattern selected, and Wrap Waveform cleared). Waveform tracking markers track the waveform at the position determined by the X-axis marker. A small box appears at the intersection of the X and Y markers. This box moves along the waveform as you reposition the X-axis marker on the display graticule. When using waveform tracking, the manual markers are unavailable. Waveform tracking is disabled and manual marker mode is enabled when the Y-axis marker is turned on.

Reference Marker and Markers Table

When multiple markers are turned on, you can measure the time and magnitude difference between any two waveform locations. The first marker becomes the reference marker, and the position of all subsequent markers is measured relative to the location of the reference marker. As shown in the above picture, the reference marker on the waveform has a solid label [image] and, in the Markers table, the reference marker is identified by the [image] icon. To show or hide the Δ Pos (delta position), Δ Mag (delta magnitude), and 1/Δ Pos (reciprocal of delta position) values in the Markers table, click Show Δ Values. Click Setup to open the Markers dialog box.

To change the reference marker:

  • Use the dialog box's Reference Marker field.
  • In the Markers table, click the marker entry beneath the Marker heading.

Note

Marker values are based on the units of the source waveform. The marker resolution is limited to the resolution of the display.

Note

If you adjust the waveform's horizontal position, the markers will move with the waveform, and the marked position value does not change, even if the marker is moved off the screen.

Note

The marker buttons are also enabled whenever Histogram Windowing or Mask Test Scaling is enabled. You can then use the marker knobs to adjust the marker lines.

Markers and Waveform Sampling Points

When positioning a tracking marker between waveform sampling points, the marker's time position and associated y-axis value may be restricted. For non-spectral waveforms this is determined by Pattern Lock's Acquire Entire Pattern setting as described in the following table. Because there is normally an abundance of waveform sampling points on screen, you may seldom notice that a marker is restricted to specific positions and values.

Tracking Marker Positions and Values Versus Pattern Acquisition
Acquire Entire Pattern Setting | Marker X-Axis Position | Marker Y-Axis Value
Non-Spectral Waveforms
Enabled | any time position | interpolated
Disabled | restricted to sampling- point position | nearest sampling- point value
Spectral Waveforms (such as created by the FFT function)
Enabled | always restricted to sampling-point position | always nearest sampling-point value
Disabled

To observe markers restricted to sampling points:

  1. Switch to oscilloscope mode and select single-sweeps.
  2. Open the Waveform tab of the Acquisition dialog box, and set the Samples/Waveform setting to 16 sample points.
  3. Open the Display Setup dialog box and turn the Connect Waveform Points setting off.
  4. Drag the tracking marker using the marker handle [image], and you will see that the marker can only be positioned on sampling points. You can also click the position arrows in the dialog box. If you enter a specific marker position in the dialog box's Position field, the marker will move to the entered location but the amplitude value will be equal to the amplitude at the nearest sampling point.


Manual Line Markers

markers:

  • Tracking
  • Manual Line

Manual Line Markers

Use manual line markers on eye diagrams (multi-valued waveforms). Manual line markers measure the position or magnitude of any location on the display and not just a point on a waveform. Although manual line markers can be used in Scope and TDR mode (in the Waveform, Time-Ohms, Time-Volts, and Time-% waveform content windows only) they are of minimal value. Instead, use Tracking markers. Manual line markers can never be placed on Freq-Mag, Phase, or GrpDelay waveform content windows in any measurement mode.

Click Measure > Markers to open the Markers dialog box.

Note

Manual line markers can only be placed on waveforms that are displayed in a Waveform waveform content window. Manual line markers cannot be placed on Freq-Mag, Phase, GrpDelay, Time-Ohm, Time-Volts, or Time-% waveform content windows. These content windows are displayed in TDR/TDT Mode or when an FFT function's output is defined as some type other than Linear Magnitude. In these instances, use a tracking marker.

TDR/TDT Mode

In TDR/TDT mode, the Source Type field shown in the above picture is added to the dialog box. Do not select S-Parameter as manual line markers can not be assigned to S-parameters or T-domain responses. In the Source Waveform drop-down list, you can only assign the marker to channels which are labeled by DUT and Port number. For example, marker 1 in the above picture is assigned to DUT 1 Port1 (1A), which is channel 1A.

Using Manual Line Markers

To turn a marker on, click one of the eight available manual line marker buttons (X or Y) so that it turns green. Select the Source Waveform on which to place the marker. You can also click the Marker button to turn on a marker.

Note

You can simultaneously use both tracking markers and manual line markers. However, turning on a tracking marker disables the associated manual line markers. For example, turning on tracking marker 2 disables manual markers X2 and Y2.

To move a displayed marker, simply drag the marker line or marker handle [image]. Depending on the display window view, the marker handle may not be visible. For exact marker positioning, enter the marker value directly in the Markers dialog box. You can also move markers using the 86100D front-panel Marker Position knob. When multiple markers are displayed, pressing the 86100D Marker Position knob selects an active marker for positioning. Repeatedly press the Marker Position knob to move through all active markers.

The Markers dialog box controls four sets of markers, which allows you to measure the time and amplitude difference between any two waveform locations:

Click this button to select one of four X Manual markers. X Manual markers can be positioned independently anywhere on the display. X-axis markers ( vertical lines) measure the time delay from the trigger point. When more than one X-axis markers is turned on, Δ (delta) values between the markers are shown. Depending on the relative position of the markers, the Δ value can be calculated as a negative number, which can result in negative time interval measurements.

Click this button to select one of four Y Manual markers. Y Manual markers can be positioned independently anywhere on the display. Y-axis markers (horizontal lines) measure the amplitude with respect to the corresponding source ground. Y-axis markers, unlike tracking markers, do not follow the source waveform. When more than one Y-axis marker is turned on, the Δ value between the markers is shown which is useful for voltage or power measurements.

Reference Marker and Markers Table

When multiple markers are turned on, you can measure the time and magnitude difference between any two waveform locations. The first marker turned on becomes the reference marker, and the position of all subsequent markers is measured relative to the location of the reference marker. As shown in the above picture, the reference marker on the waveform has a solid label [image] and, in the Markers table, the reference marker is identified by the [image] icon. To show or hide the Δ Pos (delta position), Δ Mag (delta magnitude), and 1/Δ Pos (reciprocal of delta position) values in the Markers table, click Show Δ Values. Click Setup to open the Markers dialog box.

To change the reference marker:

  • Use the dialog box's Reference Marker field.
  • In the Markers table, click the marker entry beneath the table's Marker heading.

Note

Marker values are based on the units of the source waveform. The marker resolution is limited to the resolution of the display.

Note

When directly entering marker values, you can position the markers beyond the vertical and horizontal limits of the display graticule. Turn the marker knob or click the dialog box position arrows to set the marker to the edge-of-screen value.

Note

If you adjust the waveform's horizontal position, the X markers will move with the waveform, and the marked position value does not change, even if the marker is moved off the screen.

Note

The marker buttons are also enabled whenever Histogram Windowing or Mask Test Scaling is enabled. You can then use the marker knobs to adjust the marker lines.


Type of Available Memory

You can save active channel inputs, active math functions, and data previously saved to a file to the following types of memory: Waveform, Color Grade-Gray Scale, Jitter Data memory, or JSA memory.

  • Waveform Memory
  • Color Grade-Gray Scale Memory
  • Jitter Data Memory
  • JSA Memory
  • S-Parameter Memory


Waveform Memory Setup

Use the Waveform Memories dialog box to load single-valued waveforms and pattern waveforms into any of eight available memories.

Click File > Waveform Memory to open this dialog box.

Note

The waveform memories are non-volatile because they are stored on the hard disk. These memories are restored each time the instrument is turned on.

Loading Memory

To load one of the following waveform types into memory, select an available waveform from the Source drop-down list and click Load:

  • Displayed input channel
  • Waveform memory
  • Math function
  • Histogram

Or, click Load From File to load a previously saved waveform file. To clear waveform data from a memory, click Clear.

Once you have loaded a waveform into a memory, click Display On/Off to display the memory waveform. This button is hidden until a waveform has been loaded into a memory. You can simultaneously display all eight waveform memories.

Custom Waveform User Names

Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can change the waveform's labels to your own more meaningful user name by clicking the Name button or by clicking the the [image] icon that appears in the waveform label at the top of this dialog box.

  • To learn about custom labels

Vertical and Horizontal Scale

You can manually adjust a memory waveform's Vertical and Horizontal scale and offset. The Track Timebase checkbox must be cleared before you can adjust the Horizontal settings. The adjustment of the memory waveform's horizontal settings is independent of the horizontal scale and offset for acquired waveforms. By default the Track Timebase checkbox is cleared. Click Restore Defaults to undo any changes to these settings.

If the Horizontal Track Timebase checkbox is selected, the memory waveform is automatically scaled and tracks the FlexDCA's settings for acquired waveforms. Be aware that with Track Timebase selected, FlexDCA's horizontal trigger delay setting may prevent the memory waveform from being displayed.

To quickly turn off the display of all waveform memories, click Turn All Memories Off.

Wrap Waveform

The Wrap Waveform selection is used to display an eye diagram from single-valued waveforms. This feature is available for selection whenever color-grade or gray-scale persistence is turned on. These types of persistence are always used in Eye/Mask mode. When selected, the Wrapping Options are shown which include the applied Interpolation and the waveform's Data Rate. This Wrap Waveform setting only applies to the waveform memory. A separate Wrap Waveform setting is available for acquired waveforms.

Signal Type

In FlexDCA, three signal types can be placed in waveform memory: Unspecified, NRZ, or PAM4. The PAM4 selection is only available if options 9FP or 9TP PAM-N Analysis software license is installed. Use this field to specify the signal type. The Signal Type settings are coupled to the identical settings that are in the PAM-N Analysis Setup dialog box. You can make these selections in either location.

Memory State Indicators

A quick glance at the dialog box tabs shows you the state of each of the eight available memories. As shown in the following table and in the picture above, tabs can be text only or text with a grey or colored button. You can click on the grey and colored tab buttons to display or hide the waveform on the display.

Buttons on Dialog Box Tabs
Button | Description | Example in Picture
 | Colored button indicates that the waveform is loaded and displayed | Memory 1
 | Grey button indicates that the waveform is loaded but not displayed | Memory 2
none | Missing button indicates that memory has no waveform loaded | Memory 3

Waveform Color

Click the Color button to display the waveform in one of 16 colors.


Messages

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

Instrument messages are displayed in the Message Area, which is located at the bottom of the display as shown in the following picture.

Note

If the Message Area is not displayed, click Setup > Display Setup to open the Display Setup dialog box. Select the Appearance tab and select Dock Message Area.

Messages provide information about the status of the instrument or an action that has been performed (for example, Calibration is complete). Messages also appear to inform you of errors that may have occurred. The following icons may be present to indicate the message type:

Operational error messages indicate instrument hardware or software failures. This type of message will remain on the display until the error condition is corrected.

Advisory messages allow you to take a recommended action. This type of message indicates if an operation did not complete or was cancelled.

Informational messages provide instrument status messages. No action is required.

Remote status messages (no symbol) are displayed when you use the following remote command SYSTem:DSP <string>.

Note

Click the letter buttons at the top of this topic to locate and view information about a specific displayed error message. Messages are listed alphabetically.

You can view a listing of all messages by clicking Help > View Message Log.


Messages and Errors (A)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Keysight IO Libraries is not properly installed.
  • At least <string> values must be provided for <string>
  • Acquisition stopped. <string> limit reached.
  • A memory error occured in the module in <slot>. Try reinstalling the module.
  • A serious problem has occurred while loading/saving a memory.
  • An unexpected remote DCA communication error occurred: <string>
  • A file has not been selected for the <math operator> operator driving <math function>
  • Auto Scale Failed. Could not detect data rate.
  • Autoscaling...
  • Autodetecting <string>...


Messages and Errors (B)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no message entries that begin with the letter B.


Messages and Errors (C)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Can not have more than <string> values for <string>
  • Characterizing Edges… <string>%
  • Characterizing Pattern…
  • Characterizing Uncorrelated Jitter...
  • Could not load "<string>": <string>
  • Could not find file "<string>"
  • Creating transfer function...
  • Calculating Channel Scales...
  • Connecting to the license service...
  • Channel <number> wavelength set to <string>
  • Channel <number> wavelength remains set to <wavelength>
  • Clock recovery lost lock
  • Control is at limit
  • Control entry was not a valid selection
  • Control is set to limit: Entry was out of range


Messages and Errors (D)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Disabled: <string>
  • Defined lead/lag CID (<string>:<string>) for one/zero level not found in pattern. Using closest (<string>:<string>.)
  • DCA module insertion/removal complete.


Messages and Errors (E)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Entry was out of range therefore <string> is set to limit
  • Error loading mask file: <string>
  • Exceeded maximum ASCII list length
  • Execution is not possible
  • Execution is not possible: <channel> has no acquisition capability


Messages and Errors (F)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • File is corrupt: <string>


Messages and Errors (G)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no message entries that begin with the letter G.


Messages and Errors (H)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Hardware Failure: <string>


Messages and Errors (I)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Invalid character(s) removed from <string> entry
  • Invalid filename: <string>
  • Insufficient memory to process <string>. Reduce the record length or turn off some signals.
  • Incompatible file: Cannot load <string> into <string>.
  • Invalid measurement detected.
  • Invalid argument <argument> for setup command: <command>
  • Incompatible setup


Messages and Errors (J)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Jitter measurements cannot be performed on a function of a memory and a channel.


Messages and Errors (K)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no message entries that begin with the letter K.


Messages and Errors (L)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no message entries that begin with the letter L.


Messages and Errors (M)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Missing mask margin definition for region <number>
  • Mask aligns to data in eye boundary; current boundary is <string>% to <string>%
  • Mask test mask align failed
  • Measurement cannot be performed on the selected waveform
  • Measurement is already being performed
  • Measurement location <index> is out of range.


Messages and Errors (N)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Not a valid choice: <string>
  • Not a valid selection: <string>
  • Not responding or busy: <string>
  • Not a recognized measurement: <string>
  • No time reference set: <string>
  • No mask loaded
  • No measurements are on for limit test
  • No valid mask test sources turned on
  • No waveform was found: Instrument setup is unchanged


Messages and Errors (O)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Out of memory. Restart the application as soon as possible.


Messages and Errors (P)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Parameter is at limit
  • Parameter changed: Perform Auto Scale to resume measurements
  • Please provide a <string> trigger signal or correct the pattern lock parameters
  • Please turn on a valid source for the <string> measurement.
  • Processing a DCA module insertion/removal. Do not insert/remove DCA modules…
  • Please <string> reset time reference
  • Please <string> set time reference to enable precision timebase
  • Please restore reference clock signal and clear display OR reset time reference


Messages and Errors (Q)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Queries are not supported in mask file setup.


Messages and Errors (R)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Remote DCA connection terminated by another user.


Messages and Errors (S)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Setting time reference<string>…
  • Saved "<string>"
  • Settings conflict
  • Setup defaulted
  • Setup loaded
  • Signal source is not available
  • Signal or trigger source selection is not available
  • String entry was ignored: Valid characters are <string>
  • String entry was truncated: Only <number> characters are allowed
  • Synchronization with the test pattern has been lost.


Messages and Errors (T)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • The Keysight IO Libraries service does not appear to be running.
  • The operation was not completed. The instrument is busy or not responding.
  • The ".<string>" extension is not valid for <string>. Using extension ".<string>".
  • The <feature> feature is unlicensed.
  • The file specifies clock times that are not monotonically increasing.
  • The module in <string> is not supported.
  • The <model number> module must occupy the leftmost or rightmost position of the module bay.
  • The <model number> module requires firmware version <version> or later
  • The <string> measurement is not specified correctly.
  • The remote DCA did not respond.
  • The connection to the remote DCA has been lost.
  • TDR mode is not supported; reverting to oscilloscope mode.
  • The waveform can not be acquired with <number> samples/bit. The record length is restricted to <number>
  • Time reference set<string>
  • Timebase position is at limit
  • The interpolation factor was restricted to <string> because waveform length is restricted to <string>
  • This mask file is not fully supported.
  • The clock recovery module has lost lock
  • The current measured RN is invalid or questionable
  • The <option name> option <option> is not installed
  • Too many points sent
  • Turn on <source> for the <measurement> measurementt


Messages and Errors (U)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • User <string> entry was limited to <string> characters
  • Unable to read from signal <string>
  • Unable to write to signal <string>.
  • Unexpected software problem: <string> has recovered.
  • Unable to Characterize Edges: <string>
  • Unable to Characterize Pattern: <string>
  • Unable to determine the module's slot. The USB instance ID <string> was not recognized.
  • Unable to find any suitable edges on which to measure RJ/PJ.
  • Unable to find any suitable one/zero levels on which to measure RN/PI.
  • Unable to parse file.
  • Unkown file format or version.
  • Unable to save: <string>
  • Unable to load due to insufficient memory.
  • Unable to normalize: <string>
  • Unable to write to file "<string>"
  • Unable to read from file "<string>"
  • Unrecognized command in mask file: <command>
  • Unable to start the License Manager.
  • Unable to find the License Manager. Verify that it was installed correctly and try again.
  • User rate <rate> is not a multiple of detected trigger rate <rate>
  • User reference clock frequency is not a multiple of detected trigger rate <rate>


Messages and Errors (V)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no message entries that begin with the letter V.


Messages and Errors (W)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z
  • Waveforms are restricted in length to <string>


Messages and Errors (X)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no message entries that begin with the letter X.


Messages and Errors (Y)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no message entries that begin with the letter Y.


Messages and Errors (Z)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
  • Z

There are no message entries that begin with the letter Z.


Acquisition Stopped

Acquisition stopped <string> limit reached

Explanation

The instrument stops acquiring data when the conditions for the current limit test are reached. There are three types of limit tests: acquisition, measurement, and mask test.

Solution

No action required.


Autodetecting Pattern Length …

Autodetecting <string>

Complete Message

Autodetecting Pattern Length, Bit Rate, and Trigger Divide Ratio

Explanation

The instrument is in the process of establishing a pattern lock. Upon completion, the instrument trigger will be synchronized with the data pattern instead of the data bits.

Solution

No action required.


Auto Scale Failed. Could not detect data rate.

Explanation

An input signal could not be identified.

Solution

Confirm that a valid data signal is connected. If using a simulated extended module, confirm that the signal is turned on. Open the General Trigger Setup tab of the Trigger dialog box. Confirm that the Source and Trigger Mode selections are correct for your data signal.


Autoscaling …

Explanation

The instrument is currently performing an Auto Scale.

Solution

No action required.


Could not find file "

Could not find file "<string>"

Explanation

A path is a sequence of folder (or directory) names that specifies the location of a folder or file within the directory. Each folder name and filename within the path (except the first) must be preceded by a backslash (\).

Solution

Check the path name for errors and try again.


Characterizing edges …

Characterizing Edges… <string>%

Explanation

When Jitter Mode is started, the instrument characterizes the eye-diagram's edges in preparation for the task of making jitter measurements. This message informs you that this is taking place.

Solution

No action required.


Module detection complete

DCA module insertion/removal complete

Explanation

When you install a plug-in module in the instrument mainframe, a module detection sequence occurs. This message indicates that the module detection was successful.

Solution

No action required.


Not a valid selection: <string>

Not a valid selection: <string>/h1>

Explanation

An incorrect value was entered for a control without a default value.

Solution

Please verify your settings.


Detecting inserted module …

Complete Message

Processing a DCA module insertion/removal. Do not insert/remove DCA modules…

Explanation

The above message appears when you install a plug-in module in the instrument mainframe. Do not attempt to remove the module. When the detection sequence is complete, the message Module detection complete appears.

Solution

No action required.


Uninstalled Option

The <option name> option <option> is not installed

Explanation

The instrument was unable to execute a feature that requires an upgrade option that is not installed in the instrument. For example, The 12 GHz trigger option (001) is not installed

Solution

Verify the instrument settings.


Module not Installed

Signal or trigger source selection is not available

Explanation

Signal or trigger source may be unavailable. For example, in remote operation, if you attempt to set the trigger source to a module that does not have a trigger input.

Solution

Verify your instrument settings and hardware configuration to ensure desired setting is available.


Mask Test Align Failed

Mask test mask align failed

Explanation

The mask test align algorithm was not able to detect a signal compatible with the installed mask. This can occur when there are not enough points on an edge or when the required edges are not present.

Solution

Please adjust the horizontal (time base) scale to place the required edges on the display.


Control at Limit

Control is at limit

Explanation

The control that you are adjusting has reached the upper or lower limit of the control. This control can be a front panel knob or the adjustment arrows on the dialog box associated with the control. The upper or lower limits are dependent upon the plug-in modules installed, instrument options, or other control settings.

Solution

Adjust the control to a value within the operating range of that control as listed in the specifications.


Parameter at Limit

Parameter is at limit

Explanation

The parameter that you are adjusting has reached the upper or lower limit.

Solution

Limit the paramter to its range.


Timebase position is at limit

Explanation

The timebase position has reached its upper or lower limit.

Solution

Limit the timebase position to its range.


Control is set to limit: Entry was out of range

Complete Message

Control is set to limit: Entry was out of range

Explanation

The numeric keypad entry was not accepted as entered. The numeric values, such as vertical scale, offset, horizontal scale, and horizontal position operate over a range that cannot be exceeded.

Solution

Enter a value within the operating range of the control. The instrument will set the affected control to the closest limit. For example, the horizontal scale cannot be greater than 10 s/div, but if you enter 100 s/div with the numeric keypad, the instrument will set the horizontal scale to the closest allowable value, 10 s/div.


Control entry was not a valid selection

Explanation

An incorrect value was entered for a control. The instrument sets the control to its default value.

Solution

Please verify your settings and check specifications for more information about the instrument and plug-in module operating ranges.


Source not Available

Signal source is not available

Explanation

Signal source may be currently unavailable. For example, if you activate markers using remote commands without having a signal source activated.

Solution

Make signal source available by either activating a signal or changing instrument settings. If problems persist, please contact the Keysight Call Center.


The operation was not completed. The ...

The operation was not completed. The …

Complete Message

The operation was not completed. The instrument is busy or not responding.

Solution

Wait for FlexDCA to complete the current process.


Execution not Possible

Execution is not possible

Explanation

This message occurs when a remote command is sent to a value on a channel that does not have the feature. For example, this message will occur when you try to set the channel wavelength on an electrical channel.

Solution

No action required.


Invalid character(s) removed from

Invalid character(s) removed from <string> entry

Explanation

You entered a character into a field that is not proper for the entry. These characters were ignored.

Solution

No action is required.


Invalid filename: <string>

Explanation

File name is in a protected path, such as any path on the c: drive.

Solution

Check the file name and retry operation. If the problem persists, please contact the Keysight Call Center.


String entry was ignored …

Complete Message

String entry was ignored: Valid characters are <string>

Explanation

Only the listed characters can be entered for this control or function.

Solution

No action required.


String Entry Truncated

String entry was truncated: …

Complete Message

String entry was truncated: Only <number> characters are allowed

Explanation

The blank space (___) represents the maximum string size.

Solution

Shorten string entry to be less than or equal to maximum allowable string size and enter again.


Unable to read from signal

Unable to read from signal <string>

Explanation

Solution

No action is required.


Unable to write to signal

Unable to write to signal <string>

Explanation

Solution

No action is required.


No Waveform was Found

No waveform was found: Instrument setup is unchanged

Mainframe calibration failed to find a waveform.

Solution

Please check all connections to the instrument. Perform mainframe timebase calibration again. If problems persist, please contact the Keysight Call Center.


User rate is not a multiple of detected trigger rate

User rate <rate> is …

Complete Message

User rate <rate> is not a multiple of detected trigger rate <rate>

Explanation

If you clear automatic detection of the data rate, but specify a data rate that is not a supported multiple of the supplied trigger frequency, this message alerts you to the problem.

Solution

Allow the DCA to automatically determine the data rate and trigger divide ratio or specify the correct data rate and trigger divide ratio.


Measurement cannot be performed …

Complete Message

Measurement cannot be performed on the selected waveform

Explanation

The measurement is not defined for this waveform type, and cannot be made.

Solution

Please perform the measurement on another waveform.


Out of memory. Restart the application as soon as possible.

Explanation

Windows has run out of available memory.

Solution

Turn off any signals not in use. If this does not resolve the problem, close the FlexDCA application and any other applications that may be demanding too much memory. Then, restart FlexDCA.


Measurement is already being performed

Explanation

The selected measurement is already being made.

Solution

No action required.


Insufficient memory to process

Insufficient memory to process <string>. Reduce …

Complete Message

Insufficient memory to process <string>. Reduce the record length or turn off some signals.

Explanation

Windows has run out of available memory.

Solution

Turn off any signals not in use or reduce the record length of the waveforms. If this does not resolve the problem, close the FlexDCA application and any other applications that may be demanding too much memory. Then, restart FlexDCA.


Mask aligns to data …

Complete Message

Mask aligns to data in eye boundary; current boundary is <string>% to <string>%

Explanation

The instrument automatically aligns the mask to the waveform data on the display graticule when a mask test is started.

Solution

No action required.


No Valid Mask Test Sources

No valid mask test sources turned on

Explanation

Unable to perform a mask test from a remote command when a valid source is not available.

Solution

Please check your source connections. Please ensure that the source is turned on.


No mask loaded

Explanation

Unable to perform a mask test when a mask is not selected.

Solution

Please select a mask prior to performing a mask test.


No Measurements for Limit Test

No measurements are on for limit test

Explanation

Unable to perform a measurement limit test through remote control when there are no active measurements.

Solution

Please turn on the measurements you want prior to performing a measurement limit test.


Unable to Characterize Edges

Unable to Characterize Edges: <string>

Explanation

Sampling level is not in the valid range. In Jitter Mode, the jitter sampling level determines the active sample area for the measurements. The default is a value that is 50% of the logic highs and lows values. If you change this setting above or below the acceptable limits, this message appears.

Solution

Enter a units value for the Jitter Sampling Level (in the Configure Jitter Measurements dialog box) that is inside the minimum and maximum values shown on the message line.


Unable to Characterize Pattern

Unable to Characterize Pattern: <string>

Explanation

Sampling level is not in the valid range. In Jitter Mode, the jitter sampling level determines the active sample area for the measurements. The default is a value that is 50% of the logic highs and lows values. If you change this setting above or below the acceptable limits, this message appears.

Solution

Enter a units value for the Jitter Sampling Level (in the Configure Jitter Measurements dialog box) that is inside the minimum and maximum values shown on the message line.


Defined lead/lag for one/zero level not found in pattern

Defined lead/lag CID …

Complete Message

Defined lead/lag CID (<string>:<string>) for one/zero level not found in pattern. Using closest (<string>:<string>.

Explanation and Solutions

During Jitter Mode's amplitude analysis measurements, the amplitude level can be defined as average one/zero levels or as minimum number of consecutive identical digits. This is set in the Amplitude tab of the Configure Jitter Measurements dialog box. Reduce the specified minimum number of leading or lagging consecutive identical digits to be used in defining the one and the zero levels.


Unable to find any suitable edges on which to measure RJ/PJ.

Explanation

To apply RJ/PJ stabilization in Jitter Mode, you must first have a valid RJ or PJ measurement. Pressing the Get Measured RJ in the Advanced Jitter tab while a questionable RJ measurement is displayed results in this error message. Scanning for asynchronous PJ components can only be done if there are significant PJ frequencies detected in the aliased jitter spectrum. If there are no components, or if the components are too small to be accurately identified, scanning will not take place.

Solution

Check your measurement setup to obtain a valid measurement.


Unable to find any suitable one/zero levels on which to measure RN/PI.

Explanation

To apply RN or PI compensation in Jitter Mode, you must first have a valid RN or PI measurement. Pressing the Get Measured RN button in the Advanced Jitter tab while a questionable RN measurement is displayed results in this error message.

Solution

Check your measurement setup to obtain a valid measurement.


User reference clock frequency …

Complete Message

User reference clock frequency is not a multiple of detected trigger rate <rate>

Explanation

If you clear automatic detection of the trigger divide ratio, but the clock frequency is not a supported multiple of the detected trigger rate, this message alerts you to the problem.

Solution

Allow the instrument to automatically determine the trigger divide ratio or specify the correct trigger divide ratio.


Hardware Failure

Hardware Failure: <string>

Explanation

Unable to perform a task due to hardware failure.

Solution

Check to ensure that all modules are correctly installed in the mainframe. Re-start the 86100D and attempt the same task again from the standare user interface. Then, try on FlexDCA. Check for any 86100D firmware updates. If problem still exists, contact Keysight.


Module not Supported

The module in <string> is not supported.

Explanation

An error due to a recent software upgrade may have occurred. Confirm that the current FlexDCA version supports the installed module.

Solution

Please contact the Keysight Call Center.


Memory Error Occurred

Memory error occurred in …

Complete Message

A memory error occurred in the module in <slot>. Try reinstalling the module.

Explanation

The plug-in module memory could be incorrect. The 86100D can not recognize the module.

Solution

Perform the following:

  • reinstall the module
  • finger-tighten the knurled screw on the front panel of the module

If these actions do not solve the problem, there may be a hardware problem in the mainframe or module. Please contact the Keysight Call Center for service.


Unable to determine the module's slot. The USB instance ID

Unable to determine the module's slot. The USB instance ID <string> was not recognized.

Explanation

The plug-in module memory could be recognized.

Solution

Perform the following:

  • reinstall the module
  • finger-tighten the knurled screw on the front panel of the module

If these actions do not solve the problem, there may be a hardware problem in the mainframe or module. Please contact the Keysight Call Center for service.


The

The <model number> module must occupy the leftmost or rightmost position of the module bay.

Explanation

The indicated plug-in module is improperly installed in the 86100D so as to straddle slots 2 and 3.

Solution

Install the indicated module in slots 1/2 (leftmost slots) or 3/4 (rightmost slots).


The

The <model number> module requires firmware version <version> or later

Explanation

The module require a minimum 86100D firmware version as shown in the error message.

Solution

Upgrade the 86100D firmware to the latest version.


Execution not Possible

Execution is not possible: <channel> has no acquisition capability

Explanation

The instrument is unable to acquire data from the selected channel.

Solution

Please ensure all cable and probe connections are seated correctly. If the problem persists, please contact the Keysight Call Center.


Incompatible File: Cannot Load ...

Incompatible file: Cannot load …

Complete Message

Incompatible file: Cannot load <string> into <string>.

Explanation

FlexDCA is unable to recognize waveform format when loading file.

Solution

Verify the file format.


Unable to parse file.

Explanation

FlexDCA is unable to recognize waveform format when loading the file.

Solution

Verify the file format.


Unkown file format or version.

Explanation

The contents of the file do not match the expected format. The file may be corrupted or may not be the correct type.

Solution

Check the file type and contents. For mask files, the product identifier may be missing or incorrect. If these are valid, but the problem persists, please contact the Keysight Call Center.


Setup loaded

Explanation

Setup loaded from the instrument internal hard disk or external memory device.

Solution

No action required.


Unable to save:

Unable to save: <string>

Explanation

The targeted folder or drive may be write protected or may not have available memory.

Solution

Confirm that the specified file location is available.


Setup defaulted

Explanation

This message appears after you perform a default setup. A default setup resets the instrument to its factory default settings and places the instrument in a known operating condition.

Solution

No action required.


Unable to load due to insufficient memory.

Explanation

The targeted memory location does not have sufficient available memory to store the data.

Solution

Select another memory location or delete any unused files.


Incompatible setup

Explanation

A previously saved setup is incompatible, possibly due to an instrument software change.

Solution

Please contact an Keysight Call Center for information on upgrading your instrument.


A serious problem has occurred while loading/saving a memory.

Explanation

FlexDCA could not save (or load) a waveform to or from memory.

Solution

Confirm that there is memory available on the selected drive.


File is corrupt:

File is corrupt: <string>

Explanation

FlexDCA discovered an error in the file that was being opened.

Solution

Attempt to load a different file. Try using a backup of the corrupt file.


The file specifies clock times that are not monotonically increasing.

Explanation

.

Solution

.


Clock recovery lost lock

Explanation

FlexDCA's clock recovery has become unlocked.

Solution

Confirm that the input data signal is has not changed. Check the clock recovery settings.


The remote DCA did not respond.

Explanation

FlexDCA's remote connection to the 86100D has failed or the instrument is waiting to complete a process.

Solution

Check that the remote connection has not been terminated from the 86100D or that the instrument has not lost instrument power. Confirm that the LAN or GPIB is working correctly.


The connection to the remote DCA has been lost.

Explanation

FlexDCA's remote connection to the 86100D has failed.

Solution

Check that the remote connection has not been terminated from the 86100D or that the instrument has not lost instrument power. Confirm that the LAN or GPIB is working correctly.


An unexpected remote DCA communication error occurred:

An unexpected remote DCA communication error occurred: <string>

Explanation

FlexDCA communication with the 86100D has experienced an error.

Solution

Perform an default setup on both the instrument and FlexDCA. If this does not solve any observed problem, reboot the instrument and restart FlexDCA.


The clock recovery module has lost lock

The clock recovery module …

Complete Message

The clock recovery module has lost lock

Solution

Confirm that the input data signal is has not changed. Check the clock recovery settings.


Waveforms are restricted in length to

Waveforms are restricted in length to <string>

Explanation

.

Solution

.


The waveform can not be acquired with

The waveform can not be acquired with <string> samples/bit. The record length is restricted to <number>

Explanation

.

Solution

.


A file has not been selected for the

A file has not been selected for the <math operator> operator driving <math function>

Explanation

Some math operators require that a supporting file be imported. For example, the Apply S4P simulation operator requires that a four-port S-parameter file be applied to it.

Solution

Click on the operator to open the setup dialog box. Click the Browse button to load the file. Click on the dialog box's help button to learn about any supporting file that is required by the operator.


Please

Please <string> reset time reference

Explanation

The precision timebase needs to be reset.

Solution

.


No time reference set:

No time reference set: <string>

Complete Messages

  • No time reference set: Reference clock amplitude is too large
  • No time reference set: Reference clock not present or amplitude too small
  • No time reference set: Reference clock amplitude has too much DC offset
  • No time reference set: Please check reference clock frequency and amplitude

Explanation

The instrument fails to set the time reference due to one of the following conditions:

  • The reference clock frequency is too large.
  • The reference clock amplitude is too small or not present.
  • The reference clock frequency has too much DC offset.
  • The reference clock frequency is not in one of the three valid frequency ranges: 9 to 12.5 GHz, 18 to 25 GHz, and 39 to 43 GHz. Or, the clock signal does not have a stable frequency.

Solution

Verify the setting of the reference clock frequency and set the time reference again.


Please

Please <string> set time reference to enable precision timebase

Explanation

This message appears when you enable the precision timebase and the time reference is not valid. The time reference may not be valid because either of the following occurred

  • the reference clock frequency setting was changed from one frequency band to another
  • a saved instrument setup is opened

Solution

Set the time reference. When the time reference is set, the instrument will turn on the precision timebase.


Channel Wavelength Set to ...

Channel <number> wavelength set to <wavelength>

Explanation

The channel's wavelength is set to the wavelength specified in an optical channel user calibration. You can perform an optical channel user calibration on a factory-calibrated wavelength (for example, 1310 nm) or a user-defined wavelength.

Solution

No action required.


Channel Wavelength Remains Set to ...

Channel <number> wavelength remains set to <wavelength>

Explanation

The channel's wavelength is set to the wavelength specified in an optical channel user calibration. You can then perform your measurements using this calibrated wavelength. You can perform an optical channel user calibration on a factory-calibrated wavelength (for example, 1310 nm) or a user-defined wavelength.

Solution

No action required.


Settings conflict

Explanation

A remote command attempts to set a value that the instrument does not allow in its current state. For example, trying to turn on averaging when in Eye/Mask mode without the extended trigger option.

Solution

Please check your current instrument settings.


Exceeded maximum ASCII list length

Explanation

An attempt was made to load a waveform in ASCII format into waveform memory. Waveform size exceeded ASCII record limit of 128K. Contents of the file may be corrupted; the waveform file can not be loaded.

Solution

Select another waveform to load.


Turn on Source for Specified Measurement

Turn on <source> for the …

Complete Message

Turn on <source> for the <measurement> measurement

Explanation

You must turn on the source before you can perform the measurement.


Error loading mask file:

Error loading mask file: <string>

Explanation

The custom mask cannot be loaded due to illegal values, structure, or commands contained in the mask file. The <string> in the message is replaced with one of the following:

  • region must be between 1 and 8
  • number of vertices must be between 3 and 512
  • inconsistent number of vertices
  • missing end setup delimiter
  • query not allowed in setup
  • illegal command in setup
  • missing mask header MASK_FILE_N1000X
  • missing mask type identifier
  • invalid data
  • too many vertices

Solution

Refer to Creating Masks for a description of allowable values and file structure.


Unrecognized command in mask file:

Unrecognized command in mask file: <command>

Explanation

The custom mask file contains an illegal command.

Solution

Refer to Creating Masks for a description of allowable values and file structure.


Invalid argument

Invalid argument <argument> for setup command: <command>

Explanation

The custom mask file contains an illegal argument for the <Setup> command (element).

Solution

Refer to Creating Masks for a description of allowable values and file structure. Refer to the <Setup> command element.


Missing mask margin definition for region

Missing mask margin definition for region <number>

Explanation

An Eye mask file has been loaded that is missing a mask-margin definition for the indicated region.

Solution

Edit the mask file to add the missing <Polygon> element with the required type of MinMargin or MaxMargin.


The Keysight IO Libraries service does not appear to be running.

Explanation

While attempting to connect FlexDCA Remote Access to an 86100D, FlexDCA could not locate the Keysight IO Libraries.

Solution

Install the Keysight Connection Expert on your PC.


Measurement location

Measurement location <index> is out of range.

Explanation

When remotely attempting to clear, remove, or select a measurement in a results panel, the specified measurement index is greater than the actual number of entries. For example, this can happen with any of the following commands:

Commands Used to Modify Table Results
Oscilloscope Mode
:OSCilloscope:LIST:CLEar
:OSCilloscope:LIST:REMove
Eye/Mask Mode
:EYE:LIST:CLEar
:EYE:LIST:REMove
Jitter Modee (jitter results)
:JITTer:LIST:CLEar
:JITTer:LIST:DEFault
:JITTer:LIST:REMove
Jitter Mode (noise results)
:AMPLitude:LIST:CLEar
:AMPLitude:LIST:DEFault
:AMPLitude:LIST:REMove

Solution

Use the desired measurement's child :LOCation command to determine the proper index to use.


Synchronization with the test pattern has been lost.

Explanation

In Jitter Mode, the pattern lock has been lost.

Solution

Confirm that the signal and synchronized trigger clock are still being applied to the instrument. Check that the signal's bit rate, pattern length, and trigger divide ratio has not changed. When using a clock recovery module, check that this dialog box is not hiding the Clock Recovery Lock Lost dialog box. Check that the clock recovery module is locked on the signal. Restore lock and then troubleshoot the loss of pattern lock.

After restoring the clock and data, if the Pattern Synchronization Lost dialog box, click Clear Data and Resume to perform an Auto Scale without automatic detection of bit rate, pattern length, and trigger divide ratio. Click Auto Detect Parameters to start an Auto Scale including automatic detection of bit rate, pattern length, and trigger divide ratio. Click Cancel to remove the dialog box without initiating any action and with all data acquisition stopped. For more information, refer to Pattern Lock Setup tab (Trigger dialog box) and Jitter Measurements tab (Configure Measurements dialog box).


Remote DCA connection terminated by another user

Explanation

A user of the 86100D or another user of FlexDCA Remote Access has ended your FlexDCA remote connection.

Solution

Reconnect to the 86100D or confirm that someone is using the instrument.


Keysight IO Libraries is not properly installed.

Explanation

FlexDCA Remote Access encountered an error while opening the Keysight IO Libraries on your PC.

Solution

Re-install the Keysight IO Libraries on your PC. The Keysight IO Libraries Suite is provided on a CD that is shipped with the instrument and can also be downloaded from Keysight.com.


The

The <feature> feature is unlicensed.

Explanation

FlexDCA is attempting to use a feature that requires an optional license.

Solution

Confirm that the license is missing. Investigate, purchase, and install if desired.


Parameter changed: Perform Auto Scale to resume measurements

Parameter changed: Perform …

Complete Message

Parameter changed: Perform Auto Scale to resume measurements

Explanation

In Jitter Mode only one source can be displayed at a time. If jitter data memory is turned off, the horizontal and vertical scaling set by jitter data memory is no longer valid for the current conditions.

Solution

Select an active channel for input data. Then, press the front-panel Auto Scale key.


Please provide a trigger signal

Please provide a <string> trigger …

Complete Message

Please provide a <string> trigger signal or correct the pattern lock parameters

Explanation

The instrument is no longer being supplied triggers at the rate on which it locked. Or, automatic detection of the data rate has been turned off, but the entered value is an incorrect rate.

Solution

Restore the correct trigger signal. If the instrument has stopped taking samples and the restored trigger signal does not cause acquisition to resume, turn pattern lock off and on again which will perform an Auto Scale and automatically detect the pattern parameters and should resume proper acquisition.


Please restore reference clock signal …

Complete Message

Please restore reference clock signal and clear display OR reset time reference

Explanation

This message appears when the timebase analysis of an acquired record can no longer guarantee the specified jitter performance. It continues to trigger and take samples and the jitter performance will continue to be better than the standard trigger mode when this message is displayed. The instrument does not detect a change in the reference clock if acquisition is stopped. The time reference may be lost due to a change in the amplitude or frequency of the clock signal.

Solution

You can perform one of the following:

  • clear the instrument display
  • set the time reference
  • turn off the precision timebase

You must connect an external reference clock to the 86107A prior to using the precision timebase. To ensure precision timebase accuracy, confirm that the following frequencies are identical values:

  • frequency of the external reference clock
  • frequency selected in the Precision Timebase dialog box
  • frequency range of clock input

Any deviations in either frequency will result in an inaccurate timebase.


Saved ...

Saved <string>

Explanation

Indicates that the waveform source was saved (for example, Channel 1).

Solution

No action required.


Setting time reference...

Setting time reference <string>

Explanation 1. <string> is Time reference set

This message appears while the instrument attempts to set the time reference. No action required.

Explanation 2. <string> is Module calibration and reset of the time reference are recommended

The time reference setting is complete but the module does not have a valid module calibration. Perform a module calibration. When the module calibration is complete, set the time reference.

Explanation 3. <string> is Turn on a channel to use Precision Timebase

The time reference setting is complete, the module calibration is valid, but there are no measurement channels or functions enabled. Enable a measurement channel or math function.


System Software Problem

Unexpected software problem: <string> has recovered.

Explanation

An error has occured in the FlexDCA application.

Solution

If the problem re-occurs, close the application and cycle 86100D power. Check to see if the latest 86100D firmware is installed. Check to see is any updates are available for the FlexDCA application


Too many points sent

Explanation

The points value in the remote command for waveform preamble has exceeded the maximum allowed number of points.

Solution

Refer to the programmer's guide for more information on waveform preamble in the Waveform Commands chapter.


Unable to Read File

Unable to read from file "<string>"

Complete Message

Unable to read from file "<string>"

Solution

Consider the following possibilities:

  • Confirm that the disk that you are using is available and formatted.
  • If using a network path, check that it is mapped. For example, if you attempt to load or save a file to an unmapped or non-existent network path. Contact your network administrator to verify the network path and the network configuration of your instrument. If the problem persists, please contact the Keysight Call Center.


Unable to Write File

Unable to write to file "<string>"

Complete Message

Unable to write to file "<string>"

Solution

Consider the following possibilities:

  • Confirm that the disk is available and formatted.
  • Check that the file being copied is not too large for the destination disk. Otherwise, use a higher capacity external memory device, or delete files from device to make room for the new file.
  • Check that the destination is not write protected and, if needed, remove the write protection.
  • If using a network path, check that it is available and mapped. Contact your network administrator to verify the network path and the network configuration of your instrument.
  • Confirm that the file that is not being used by another application.


Modules

HOT SWAP THE MODULES

You do not need to turn off the mainframe to install or remove the modules. The module can be installed in either the left or right instrument slot. To ensure the instrument meets all published specifications there must be a good ground connection between the module and mainframe. The RF connectors on the rear of the module are spring-loaded; therefore, you must finger-tighten the knurled screw on the front panel of the module to ensure the module is securely seated in the mainframe.

A large selection of plug-in modules are available for the instrument which provide electrical and optical channel inputs covering various data and filter rates. Some modules include vertical scale and offset knobs. Use the links in this topic to learn about the available (as well as no longer available) modules. The provided information includes description, options, accessories, and specifications.

  • Information on M-Series products

If a module is not properly identified by the mainframe, remove the module. Click File > Exit to close FlexDCA and again to close the instrument application. Re-insert the module and finger tighten the locking screws. From the desktop, restart the instrument application.

  • Module Specifications
  • Protecting Input Channels that have 3.5 mm Connectors
  • Minimum required 86100D firmware revision for modules

TDR/TDT Modules

  • N1055A 30/50 GHz TDR/TDT Remote Sampling Head Module
  • 54754A Differential TDR/TDT Module
  • 54753A Module (obsolete)

One-Slot Mini Modules

  • N1055A 30/50 GHz TDR/TDT Remote Sampling Head Module
  • N1045A 2/4 Port Electrical Remote Sampling Head Module

Precision Timebase Modules

  • 86108B Module
  • 86107A Module
  • 86108A Module (discontinued)

Precision Waveform Analyzer Modules

  • 86108B Precision Waveform Analyzer Module
  • 86108A Precision Waveform Analyzer Module (discontinued)

Optical/Electrical Modules

  • 86116C High Speed Optical, Electrical Module
  • 86105D 20 GHz Optical, 30 GHz Electrical Module
  • 86105C 9 GHz Optical, 20 GHz Electrical Module
  • 86116B High Speed Optical, Electrical Module (obsolete)
  • 86116A 53 GHz Optical, 63 GHz Electrical Module (obsolete)
  • 86109B 40 GHz Optical, 50 GHz Electrical Module (obsolete)
  • 86109A 30 GHz Optical, 40 GHz Electrical Module (obsolete)
  • 86106B 28 GHz Optical, 40 GHz Electrical Module (discontinued)
  • 86106A 30 GHz Optical, 40 GHz Electrical Module (obsolete)
  • 86105B 20 GHz Optical, 20 GHz Electrical Module (discontinued)
  • 86105A 20 GHz Optical, 20 GHz Electrical Module (obsolete)
  • 86103B 10 GHz Optical, 20 GHz Electrical Module (obsolete)
  • 86103A 3 GHz Optical, 20 GHz Electrical Module (obsolete)
  • 86102U 15 GHz Optical, 20 GHz Electrical Module (obsolete)
  • 86102A 10 GHz Optical, 20 GHz Electrical Module (obsolete)
  • 86101A 3 GHz Optical, 20 GHz Electrical Module (obsolete)

Dual Optical Modules

  • 86115D 20 GHz Optical Module
  • 86111A 3 GHz Dual Optical (Multimode/Single Mode) Module (obsolete)
  • 86111U 15 GHz Dual Optical Module (obsolete)
  • 86113A 3 GHz Dual Optical (Multimode) Module (obsolete)
  • 86115B 3 GHz Dual Optical Module (obsolete)

Dual Electrical Modules

  • 86118A 70 GHz Dual Remote Sampling Head Module
  • 86108B Precision Waveform Analyzer Module
  • 86117A 50 GHz Dual Electrical Module
  • 86112A 20 GHz Dual Electrical Module
  • 86108A Precision Waveform Analyzer Module (discontinued)
  • 86117B 65 GHz Dual Electrical Module (obsolete)

Clock Recovery Modules

  • 86108B Precision Waveform Analyzer Module
  • 86108A Precision Waveform Analyzer Module (discontinued)
  • 83496A/B Optical and Electrical Module (discontinued)
  • 83495A Optical and Electrical Module (obsolete)
  • 83491/2/3/4A Module (obsolete)

83480-Series Modules

  • 83481A Module (obsolete)
  • 83482A Module (obsolete)
  • 83483A Module (obsolete)
  • 83484A Module (obsolete)
  • 83485A Module (obsolete)
  • 83485B Module (obsolete)
  • 83486A Module (obsolete)
  • 83487A Module (obsolete)


Module Setup

INSTALL or REMOVE MODULES

You do not need to turn off the mainframe to install or remove the modules. The module can be installed in either the left or right instrument slot. To ensure the instrument meets all published specifications there must be a good ground connection between the module and mainframe. The RF connectors on the rear of the module are spring-loaded; therefore, you must finger-tighten the knurled screw on the front panel of the module to ensure the module is securely seated in the mainframe.

To learn how to configure the different types of modules, click on the following links:

  • To calibrate a module
  • To setup dual-electrical modules
  • To setup dual-optical modules
  • To setup optical/electrical modules
  • To setup clock-recovery modules
  • To setup 86108A Precision Waveform Analyzer modules
  • To setup 86107A Precision Timebase Module modules

FlexDCA channels are numbered 1A, 2A, 3A, and 4A and they correspond to channel inputs as shown in the figure. Use the Channel dialog box to quickly turn channels on or off and to enter precise values for channel scale and offset.

MODULE IDENTIFICATION

If a module is not properly identified by the mainframe, remove the module. Click File > Exit to close FlexDCA and again to close the instrument application. Re-insert the module and finger tighten the locking screws. From the desktop, restart the instrument application.

Protecting Input Channels that have 3.5 mm Connectors

The Keysight N9355CK01 is a DC coupled limiter (DC to 26.5 GHz) that is used to protect sensitive oscilloscope channels from damage due to electric overload stress (EOS) and electrostatic discharge (ESD). For example, voltages in excess of ±2V can damage high-performance samplers used in oscilloscopes. The limiter dramatically reduces the likelihood that such voltages will reach the sensitive part of the instrument, ensuring that the oscilloscope will perform reliably. Instruments with dual electrical channels, such as the 54754A, will require two N9355CK01 limiters. Step generators within the TDR modules use ≤0.2V, which is less than the diode threshold of the N9355CK01 limiter. The N9355CK01 can also be used to protect the electrical channel of the 86105x and similar modules, as long as the signal does not exceed –0.5V to +0.5V. The N9355CK01's voltage drop is ±0.6V to 0.7V at ±10 mADC.

The N9355CK01 will protect instruments from occasional and short voltage spikes. A major power source, such as a high voltage and current supply can still cause severe damage to the limiter itself, or the instruments. Operators should continue using industry standard EOS and ESD practices to minimize this risk.

Figure. Two N9355CK01s Inserted into Signal Paths


Protecting Input Channels that have 3.5 mm Connectors

The Keysight N9355CK01 is a DC coupled limiter (DC to 26.5 GHz) that is used to protect sensitive oscilloscope channels from damage due to electric overload stress (EOS) and electrostatic discharge (ESD). For example, voltages in excess of ±2V can damage high-performance samplers used in oscilloscopes. The limiter dramatically reduces the likelihood that such voltages will reach the sensitive part of the instrument, ensuring that the oscilloscope will perform reliably. Instruments with dual electrical channels, such as the 54754A, will require two N9355CK01 limiters. Step generators within the TDR modules use ≤0.2V, which is less than the diode threshold of the N9355CK01 limiter. The N9355CK01 can also be used to protect the electrical channel of the 86105x and similar modules, as long as the signal does not exceed –0.5V to +0.5V. The N9355CK01's voltage drop is ±0.6V to 0.7V at ±10 mADC.

The N9355CK01 will protect instruments from occasional and short voltage spikes. A major power source, such as a high voltage and current supply can still cause severe damage to the limiter itself, or the instruments. Operators should continue using industry standard EOS and ESD practices to minimize this risk.

Figure. Two N9355CK01s Inserted into TDR Module Signal Paths


54753A Single-Ended TDR/TDT Module

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

COMPATIBLE CONFIGURATIONS

This module is compatible with the following 86100D configurations:

  • Compatibility (electrical only)
  • Legacy (TDR and electrical)

Note

This module is no longer sold and has been obsoleted.

The 54753A TDR/TDT plug-in module provide both time domain reflectometry (TDR) and time domain transmission (TDT) measurements. The module contains a built-in TDR step generator that launches a fast voltage step into the device under test. You can then monitor both the transmitted and reflected pulse at a particular point on the line. The instrument reveals the following information about the device under test:

  • characteristic impedance
  • position of any discontinuities
  • type (resistive, inductive, or capacitive) of discontinuities
  • type of loss (series or shunt)

The input circuits of the 54753A and 54754A can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to the front-panel input connectors. Before connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure the instrument is properly earth-grounded to prevent buildup of static charge.

Using the 54753A TDR/TDT module gives more meaningful information concerning the broadband response of a transmission system than any other measuring technique. The addition of the second vertical channel provides capability of performing single-ended TDT measurements as well as TDR measurements. This module provides:

  • automatic and manual single-ended TDR and TDT measurement capability
  • user-selectable 12.4 or 18 GHz bandwidth (Channel 1 or 3)
  • user-selectable 12.4 or 20 GHz bandwidth (Channel 2 or 4)
  • 2.5 GHz bandwidth trigger channel

On the module's front-panel, the connector labeled Channel 1/3 identifies Channel 1 if the module is installed in the left slot and Channel 3 if the module is installed in the right slot. Channel 2/4 also refers to left and right slot channel identification.

See Also

  • Available Accessories
  • 54753A Module Specifications
  • Modules

Protecting Input Channels

The Keysight N9355CK01 is a DC coupled limiter (DC to 26.5 GHz) that is used to protect sensitive oscilloscope channels from damage due to electric overload stress (EOS) and electrostatic discharge (ESD). For example, voltages in excess of ±2V can damage high-performance samplers used in oscilloscopes. The limiter dramatically reduces the likelihood that such voltages will reach the sensitive part of the instrument, ensuring that the oscilloscope will perform reliably. Instruments with dual electrical channels, such as the 54754A, will require two N9355CK01 limiters. Step generators within the TDR modules use ≤0.2V, which is less than the diode threshold of the N9355CK01 limiter. The N9355CK01 can also be used to protect the electrical channel of the 86105x and similar modules, as long as the signal does not exceed –0.5V to +0.5V. The N9355CK01's voltage drop is ±0.6V to 0.7V at ±10 mADC.

The N9355CK01 will protect instruments from occasional and short voltage spikes. A major power source, such as a high voltage and current supply can still cause severe damage to the limiter itself, or the instruments. Operators should continue using industry standard EOS and ESD practices to minimize this risk.

Figure. Two N9355CK01s Inserted into TDR Module Signal Paths

Supplied Accessories

Item | Description
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver (2)
9300-1484 | Static safe kit


54754A Differential TDR/TDT Module

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00. The minimum required FlexDCA version for TDR and electrical support is A.04.00.

COMPATIBLE CONFIGURATIONS

This module is compatible with the following 86100D configurations:

  • Standard (electrical only)
  • Compatibility (electrical only)
  • Legacy (TDR and electrical)

The 54754A TDR/TDT plug-in module provides both time domain reflectometry (TDR) and time domain transmission (TDT) measurements. This module provides two 18-GHz channels that have built-in TDR step generators. The two channels may work in tandem to provide differential and common mode TDR stimulus/response or may be used independently. The instrument reveals the following information about the device under test:

  • characteristic impedance
  • position of any discontinuities
  • type (resistive, inductive, or capacitive) of discontinuities
  • type of loss (series or shunt)

The input circuits of the 54753A and 54754A can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to the front-panel input connectors. Before connecting any coaxial cable to the connectors, momentarily short the center and outer conductors of the cable together. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure the instrument is properly earth-grounded to prevent buildup of static charge.

Note

Either channel works as a normal oscilloscope vertical system when the TDR/TDT step generators are not operating.

The 54754A TDR/TDT module provides:

  • automatic and manual single-ended and differential TDR and TDT measurement capability
  • user selectable 12.4 or 18 GHz bandwidth
  • 2.5 GHz bandwidth trigger channel
  • 3.5 mm (m) connectors

On the module's front-panel, the connector labeled Channel 1/3 identifies Channel 1 if the module is installed in the left slot and Channel 3 if the module is installed in the right slot. Channel 2/4 also refers to left and right slot channel identification.

See Also

  • Available Accessories
  • 54754A Module Specifications
  • Modules

Protecting Input Channels

The Keysight N9355CK01 is a DC coupled limiter (DC to 26.5 GHz) that is used to protect sensitive oscilloscope channels from damage due to electric overload stress (EOS) and electrostatic discharge (ESD). For example, voltages in excess of ±2V can damage high-performance samplers used in oscilloscopes. The limiter dramatically reduces the likelihood that such voltages will reach the sensitive part of the instrument, ensuring that the oscilloscope will perform reliably. Instruments with dual electrical channels, such as the 54754A, will require two N9355CK01 limiters. Step generators within the TDR modules use ≤0.2V, which is less than the diode threshold of the N9355CK01 limiter. The N9355CK01 can also be used to protect the electrical channel of the 86105x and similar modules, as long as the signal does not exceed –0.5V to +0.5V. The N9355CK01's voltage drop is ±0.6V to 0.7V at ±10 mADC.

The N9355CK01 will protect instruments from occasional and short voltage spikes. A major power source, such as a high voltage and current supply can still cause severe damage to the limiter itself, or the instruments. Operators should continue using industry standard EOS and ESD practices to minimize this risk.

Figure. Two N9355CK01s Inserted into TDR Module Signal Paths

Supplied Accessories

Item | Description
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver (2)
9300-1484 | Static safe kit


83481A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

COMPATIBLE CONFIGURATIONS

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

See Also

  • Available Accessories
  • 83481A Module Specifications
  • Modules

Supplied Accessories

Item | Description
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 mm (f-f) adapter/connector saver
11900B | 2.4 mm (f-f) adapter/connector saver
54124-24101 | 2.4 mm cap

Available Options

Item | Description
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface
81000WI | Biconic
83481A-UK6 | Measured performance data


83482A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

See Also

  • Available Accessories
  • 83482A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 mm (f-f) adapter/connector saver
11900B | 2.4 mm (f-f) adapter/connector saver
54124-24101 | 2.4 mm cap

Available Options

Item | Description
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface
81000WI | Biconic
83482A-UK6 | Measured performance data


83483A Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The electrical plug-in module provides two accurate measurement channels with user selectable bandwidths. The lower bandwidth mode provides excellent oscilloscope noise performance for accurate measurement of small signals. The high bandwidth mode provides high- delity display and measurement of very high-speed waveforms.

The Keysight 83483A or Keysight 54751A electrical plug-in module provides:

  • User selectable 12.4 or 20 GHz bandwidth
  • 2.5 GHz bandwidth trigger channel
  • 3.5 mm (m) connectors

See Also

  • Available Accessories
  • 83483A Module Specifications
  • Modules

Supplied Accessories

Item | Description
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver (2)

Available Options

Item | Description
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface
81000WI | Biconic
83483A-UK6 | Measured performance data


83484A/B, 54752A/B Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard (83484A, 54752A only)
  • Compatibility
  • Legacy

This electrical plug-in module provides two accurate measurement channels with user selectable bandwidths. The lower bandwidth mode provides excellent oscilloscope noise performance for accurate measurement of small signals. The high bandwidth mode provides high- delity display and measurement of very high-speed waveforms.

The Keysight 83484A,B or Keysight 54752A,B electrical plug-in module provides:

  • User selectable 26.5 or 50 GHz bandwidth
  • 2.5 GHz bandwidth trigger channel
  • 2.4 mm (m) connectors

See Also

  • Available Accessories
  • 83484A/B, 54752A/B Module Specifications
  • Modules

Supplied Accessories

Item | Description
-- | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver (2)
11900B | 2.4 mm (f-f) adapter/connector saver
54124-24101 | 2.4 mm cap

Available Options

Item | Description
83484A-UK6 | Measured performance data


83485A Optical/ElectricalModule

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

See Also

  • Available Accessories
  • 83485A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
-- | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
83485A-101 | OC-3/STM 1 (155 Mb/s)
83485A-102 | OC-12/STM-4 (622 Mb/s)
83485A-103 | OC-48/STM-16 (2.488 Gb/s)
83485A-201 | OC-12/STM-4 (622 Mb/s) OC-48/STM-16 (2.488 Gb/s)
83485A-202 | OC-48/STM-16 (2.488 Gb/s) OC-192/STM-64 (9.953 Gb/s)
83485A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


83485B Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

See Also

  • Available Accessories
  • 83485B Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
-- | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 mm (f-f) adapter/connector saver
11900B | 2.4 mm (f-f) adapter/connector saver
54124-24101 | 2.4 mm cap

Available Options

Item | Description
83485B-101 | OC-192/STM-64 (9.953 Gb/s) Fourth order filter
83485B-102 | OC-192/STM-64 (9.953 Gb/s) Fifth order filter
83485A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface
81000WI | Biconic


83486A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

See Also

  • Available Accessories
  • 83486A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
-- | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
83486A-201 | OC-3/STM-1 (155 Mb/s), filtering OC-12/STM-4 (622 Mb/s), filtering
83486A-202 | FC-1063 (1062.5 Mb/s), filtering Gigabit Ethernet (1250 Mb/s), filtering
83486A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


83487A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

See Also

  • Available Accessories
  • 83487A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
-- | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
83487A-201 | OC-3/STM-1 (155 Mb/s), filtering OC-12/STM-4 (622 Mb/s), filtering
83487A-202 | FC-1063 (1062.5 Mb/s), filtering Gigabit Ethernet (1250 Mb/s), filtering
83487A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


83491/2/3/4A Clock Recovery Modules

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for these modules is A.03.01.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

There are no designated channels for these modules; they are active as soon as they are installed in the instrument. The data signal is passed, with minimal insertion loss, to the reference receiver module. The modules produce two clock signals, recovered clock (made available to the instrument by way of a connector located on the module's rear panel) and front-panel clock. The recovered clock has a lower operating bandwidth, which results in less jitter present on the trigger signal and provides a more complete view of the jitter on the waveform data.

See Also

  • Available Accessories
  • 83491A Module Specifications
  • 83492A Module Specifications
  • 83493A Module Specifications
  • 83494A Module Specifications
  • Modules

Note

Signals displayed using a data trigger are less reliable than using a recovered clock. Signals triggered on data can also vary depending upon the trigger level.

When you press the module's front-panel button to select Trigger On Data, the internal clock recovery circuits are bypased and the data directly passes (AC coupled) to the rear-panel recovered clock connector. It is similar to not having a clock recovery module and using a splitter to divide the input signal and routing one portion to the front-panel trigger input. While triggering on the data provides a quick method of checking the data waveform, be aware that the displayed response may be missing 75% of the data patterns. This happens because triggering occurs at either the 1-to-0 or 0-to-1 data transition, and, as a result, only portions of data patterns having transition edges will be included in the eye diagram. For example, consider a pattern such as 1111000. Only the transition between the 1-to-0 will be displayed. Transitions between adjacent lows and highs will be lost. In addition, signals triggered on data can also vary depending upon the trigger level.

Maximum Input Signal Levels
Module | Maximum Signal Input | Damage Level
83491A | ±5V | ±5V
83492A | ±3 dBm | +10 dBm
83493A | ±3 dBm | +10 dBm
83494A | ±3 dBm | +10 dBm

Note

To use the front panel clock, 83494A modules require an instrument with the enhanced trigger option to recover the clock at 9.953 Gb/s (standard module) and 10.664 Gb/s (Option 106).

Note

Avoid selecting a data rate that is a multiple of the input signal. For example, do not select a 622 Mb/s data rate if the signal is really at 155 Mb/s.

Note

Notice that on the 83491/2/3/4A clock recovery modules there may be two data rates that share an LED. One rate is written in green text, the other rate is red. The LED will be either green or red, corresponding to one of the two rates.

Note

If the Unlocked light is on, clock recovery cannot be established on the signal. Make sure that you have selected the correct data rate and that the instrument mainframe trigger level is adjusted appropriately.

Front-Panel Features

83491A

83492A

83493A

83494A

SELECT Button

Press this button to change the modulation rate of the input signal. The recovered and retimed clock trigger is sent to the mainframe. You can select one of the available data rates or you can select Trigger On Data. The Trigger On Data mode allows the data stream to directly trigger the mainframe.

Trigger On Data Indicator

The Trigger On Data selection is a bypass mode in which the data stream directly triggers the instrument mainframe.

Trigger Loss Indicator

This 83494A and 83494A Option 106 indicator, lights when clock recovery cannot be established on the signal. If a clock rate is selected, the trigger output to the mainframe is disabled to prevent free-run triggering. In bypass mode (Trigger On Data selected), triggering is not disabled. When the Trigger Loss light is on, you can establish a trigger on the data input to the reference receiver.

Green and Red Data-Rate Lights 83491/2/3 and 83494A Option 106

The data-rate indicator lights change color between red and green to show which data rate is selected. A red light does not indicate a problem. A red light shows that the adjacent red data rate label is selected. A green light shows that the adjacent green data rate label is selected. Repeatedly pressing the SELECT button cycles through the selections in one color before switching to the opposite color. On 83491A modules for example, the first selection cycle shows 155 Mb/s selected. The second selection cycle shows 1062 Mb/s selected.

Data-Rate Lights (83494A modules)

Green data-rate indicator lights show which data rate is selected. Repeatedly pressing the SELECT button cycles through the available data rates, as well as the Trigger On Data bypass mode. 83494A Option 106 modules use green and red data-rate indicator lights to show which data rate is selected. A red light does not indicate a problem. A red light shows that the adjacent red data rate label is selected. A green light shows that the adjacent green data rate label is selected.

UNLOCKED Indicator

Available on the 83491/2/3A modules, the Unlocked indicator lights when clock recovery cannot be established on the signal. If a clock rate is selected, the trigger output to the mainframe is disabled to prevent free-run triggering. In bypass mode (Trigger On Data mode selected), triggering is not disabled. When the Unlocked light is on, you can establish a trigger on the data input to the reference receiver.

Data Connector

The Data connector provides a fully regenerated version of the input signal. It is intended for monitoring purposes only and not for rigorous eye mask compliance testing. The frequency response does not conform to the requirements for eye mask testing as described in ITU-T G.957 and Bellcore GR-253-CORE. On 83492A and 83493A modules, this port is amplitude stabilized for input signals greater than approximately –23 dBm. On 83494A modules, this port is amplitude stabilized for input signals greater than approximately –10 dBm. The Clock Auxiliary Output remains synchronized to input signals several dB below the onset of errors at the Data Auxiliary Output .

Clock Connector

The Clock connector provides the recovered clock signal. You can use this signal to measure jitter transfer, because this output can track and follow input data with very fast jitter; it has a wide bandwidth jitter transfer function when compared to the recovered clock signal which is routed through a rear-panel connector to the mainframe for triggering. The Clock Auxiliary Output remains synchronized to input signals several dB below the onset of errors at the Data Auxiliary Output.

Input and Output Connectors

The input connectors pass the digitally modulated signal to the receiver module. The input signal is slightly attenuated and available at the Output connector. The input signal is also connected to the input of any of the Keysight 8348x or 861xx series modules. The connectors on optical modules include adapters that can easily be changed to match the type of connectors that are used on your fiber-optic cables.

Light energy can radiate from the front panel OUTPUT connectors on Keysight 83492A, 83493A, and 83494A modules. The light emitted from these connectors is the slightly attenuated light that is input to the front-panel INPUT connector.


83495A Clock Recovery Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.04.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 83495A module can recover the clock for all 10 Gb/s rates from 9.953 Gb/s to 11.32 Gb/s. There are no designated channels for this module, and the module is active as soon as it is installed in the instrument mainframe.The optical connections on Option 100 modules use single-mode fiber. The optical connections on Option 101 modules use multimode fiber. This module provides two clock signals: a rear-panel clock signal is divided by eight before being passed to the trigger and a front panel Recovered Clock Out that is a full-rate clock. If triggering becomes unlocked, the rear-panel recovered clock output is disabled and triggering will stop. However, the front-panel Recovered Clock Out will not be disabled even though the clock is not valid.

Maximum signal input for the 83495A module is 6Vp-p electrical and 12 mW optical. Damage will occur at input powers above these levels.

Note

The 83495A cannot be used with an 11898A Extender module.

Note

Specific jitter frequencies in the vicinity of 4 MHz may appear amplified or attenuated due to the scope timebase delay and clock recovery group delay. This effect can be compensated for, by adding a length of cable between the optical output and the reference receiver input.

Note

Keysight 83495A Option 100 modules use 9/125 µm single-mode fiber. Connecting multimode fiber to the Optical Input connector results in large reflections and insertion loss.

Note

Keysight 83495A Option 101 modules use multimode fiber. Connecting the output to the Optical Input connector on single-mode modules results in large reflections and insertion loss.

Note

To support this module, the mainframe must have the required minimum firmware revision installed.

You use the Clock Recovery dialog box to configure the module. You can select the entire 9.953 Gb/s to 11.32 Gb/s range for clock recovery or Trigger On Data, which bypasses the internal clock recovery circuits and passes the data to the rear-panel recovered clock connector via an AC coupled limit amplifier. It is similar to not having a clock recovery module and using a splitter to divide the input signal and routing one portion to the front-panel trigger input. While triggering on the data provides a quick method of checking the data waveform, be aware that the displayed response may be missing 75% of the data patterns. This happens because triggering occurs at either the 1-to-0 or 0-to-1 data transition, and, as a result, the instrument will only be triggered when a transition occurs in the data instead of triggering on any bit period as with a clock. For example, consider a pattern such as 1111000. Only the transition between the 1-to-0 triggers the instrument. Transitions between adjacent lows and highs will not cause trigger events. The recovered clock will still be available at the Front Panel Recovered Clock Out even when set to trigger on the data.

You can select the loop bandwidth for the recovered clock from two settings: < 4 MHz and < 300 kHz (default setting). The loop bandwidth setting applies both to the Recovered Clock and the Front Panel Recovered Clock Out paths. The narrow loop bandwidth provides a more complete view of the jitter on the waveform data; if the signal has jitter components with frequencies in the 4 MHz loop bandwidth range, the wide loop bandwidth tracks out low-frequency jitter showing more of a jitter free signal.

See Also

  • Available Accessories
  • 83495A Module Specifications
  • Modules

Loss of Lock Conditions

Square Wave Patterns

Loss of lock, or false lock, conditions may be caused by square wave patterns due to the reduced number of signal transitions inherent in this type of pattern. Users of applications that require using such a continuously repetitive pattern, for example 5 consecutive 1's followed by an equal number of 0's (1111100000), should consider triggering the scope on data. Non-repetitive use of consecutive 0's or 1's, such as that found in PRBS patterns, do not cause this type of module lock problems.

Optical Mode Scramblers (Option 101, Multimode)

The 83495A Option 101 module uses a 62.5 micron multimode fused fiber coupler to provide light for the clock recovery circuit. An input signal that does not have sufficient higher order modes excited in the input fiber may reduce the coupling/split ratio, causing intermittent or loss of lock conditions. An example of this condition is launching from a single mode laser that may have power distributed in a very narrow center region of the fiber core.

Keysight recommends that an external optical mode scrambler be used with 83495A Option 101 (Multimode) modules. A scrambler optimizes the input fiber mode distribution, helping to prevent loss of lock conditions, by filling the module's 62.5 micron multimode input fiber. Optical mode scramblers are available from several vendors outside of Keysight.

To help determine if a module loss of lock condition is caused by an inadequately filled fiber, you may be able to increase the number of modes in the fiber by trying the following techniques:

  • Back out the optical input connector slightly
  • Insert a 62/125 multimode patchcord in between the single-mode fiber and the front panel input. Excite the higher modes by stressing the fiber with tight loops

Note

To use the front panel clock, Keysight 83495A modules require an instrument with the enhanced trigger option.

Note

If the display shows a clock recovery lock lost status message, clock recovery cannot be established on the signal. Make sure that your signal is attached with a power level greater than minimum (see the specifications) and that the data rate is within the range 9.953 Gb/s to 11.32 Gb/s. Also make sure that the correct source (optical or electrical) is selected. On 83495A modules, you do not need to select a data rate. The module automatically locks to any rate within the continuous range of rates from 9.953 Gb/s to 11.32 Gb/s.

Front-Panel Features

Figure. Module Front Panels

Optical and Electrical Input Connectors

Optical and electrical signals can be input for clock recovery using the appropriate input connector. To make the optical signal available to a receiver module, the slightly attenuated optical input signal is available at the Optical Output connector. The optical connector includes an adapter that can easily be changed to match the type of connectors that are used on your fiber-optic cables.

Optical Output Connector

The signal available at the Optical Output connector is the slightly attenuated signal input on the Optical Input connector. The optical connector includes an adapter that can easily be changed to match the type of connectors that are used on your fiber-optic cables.

Light energy can radiate from the front panel Output connectors on Keysight 83495A modules. The light emitted from this connector is the slightly attenuated light that is input to the front-panel Optical Input connector.

Recovered Clock Out Connector

The front-panel Recovered Clock Out connector provides an auxiliary output of the recovered clock that tracks and follows the input data with very fast jitter (a wide bandwidth jitter transfer function).


83496A/B Clock Recovery Modules

Note

This module has been discontinued.

Minimum Firmware Version

The minimum required 86100-series firmware version for these module is:

  • 83496A: A.04.20
  • 83496B: A.07.00

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

Option 100 modules have electrical signals inputs and Option 101 modules have optical inputs. The modules provide continuous, unbanded tuning within the following ranges:

  • 50 Mb/s to 7.10 Gb/s (83496A/B Standard)
  • 50 Mb/s to 13.5 Gb/s (83496A Option 200)
  • 50 Mb/s to 14.2 Gb/s (83496B Option 200)
  • 7.10 Gb/s to 14.2 Gb/s (83496B Option 201)

Maximum electrical signal input for 83496 modules is 6Vp-p differential and 3Vp-p single-ended. Maximum optical signal input for 83496B Option 101 modules is 1.5 mW average and 15 mW peak. Damage will occur at input powers above these levels.

Note

If the display shows a clock recovery lock lost status message, clock recovery cannot be established on the signal. Make sure that your signal is attached with a power level greater than the minimum (see the specifications) and that the data rate is set correctly to within the specified acquisition range. Also make sure that the correct source (optical or electrical) is selected.

Note

To use the front-panel clock above 3.2 Gb/s, 83496 modules require an instrument with the enhanced trigger option or the 86100A/B/C Option ETR (Divided Trigger). Or, the front panel output divide ratio must be set on the 83496 to reduce the frequency below 3.2 GHz.

Note

The 83496B module requires an 86100D or 86100D mainframe. This module is not compatible with an 86100A or 86100B.

See Also

  • Available Accessories
  • 83496A Module Specifications
  • 83496B Module Specifications
  • Modules

Simplified Block Diagram

Figure. Example Block Diagram with Clock Recovery Module

Automatic Relock

If the clock recovery module looses lock, the trigger becomes asynchronous with the data and the instrument will not display a correctly triggered waveform. By default, when lock is lost, the instrument automatically tries to re-establish lock. Automatic relocking is most helpful when probing a device under test. You can turn off or on automatic relocking from the Clock Recovery setup dialog box. Loss of lock, or false lock, conditions may be caused by unusual patterns with a large amount of consecutive 1's or 0's. If the module looses lock during any procedure or measurement, reestablish lock and then repeat the procedure or measurement. For example, if lock is lost while saving a pattern waveform to a file, the data stored in the file will be corrupt.

Locking on the Data Rate

When using the module, you must specify the data rate of the clock to be recovered and lock the module on the data rate. Under two conditions, the module may lock on a data rate other than the specified rate. In the first condition, lock can occur if the entered data rate is an integer multiple of the actual data rate of the signal. The second condition occurs because the acquisition range is broad (greater than ±5000 PPM). This makes it possible for the module to lock on a signal that is higher or lower than the selected value. For example, if you select a 2.48832 Gb/s data rate but the signal is actually 2.5 Gb/s, the module may still lock on the signal.

Using with Pattern Lock or Jitter Mode

When the instrument is using the pattern lock feature or is in Jitter Mode and the data rate is below 400 Mb/s, the instrument must be triggered from the front panel rather than the 83496's rear-panel connector. Connect the module's front-panel Recovered Clock Out to the mainframe's front-panel Trigger input.

Loop Bandwidth and Jitter

Because jitter is measured relative to the clock, jitter that is present on both the data and the recovered clock can not be detected by the instrument. Jitter that is within the clock recovery module's loop bandwidth appears on the recovered clock. Jitter that is outside of the loop bandwidth does not appear on the recovered clock and can be detected on the data.

Note

Specific jitter frequencies in the vicinity of the loop bandwidth may appear amplified or attenuated due to the scope timebase delay and clock recovery group delay. The optical through-path includes a 40 ns delay line to compensate for the timebase delay. Further compensation can be made, by adding a length of cable between the optical output and the reference receiver input. The electrical through-path does not have a delay line. Compensation can be made, by adding an electrical cable between the electrical output and the vertical channel. However, this may affect signal quality.

Front-Panel Features

The diagram that is printed on the front panel associates Data Input connectors with Data Output connectors and the internal clock recovery circuit. Data Outputs provide a slightly attenuated input signal for use with a receiver module or other test equipment.

The loop bandwidth of standard modules can be configured at two discrete settings that depend upon the data rate. Option 300 modules provide a Golden PLL (tunable loop bandwidth from 15 kHz to over 10 MHz) that meets the requirements for jitter compliance testing to industry standards such as Ethernet and Fibre Channel. Performing a module calibration leaves the module unlocked. Therefore, always lock the module after a calibration. The trigger level is automatically set when using this module.

Figure. Module Front Panels

Electrical Inputs

Two electrical clock recovery inputs are available for single-ended or differential signals. The inputs use 3.5 mm connectors.

Refer to the front-panel annotation and the specifications for information on the maximum input signal level before damage to the module occurs.

The maximum differential electrical signal input is 6 Vpp before damage to the module occurs. The maximum single-ended electrical signal input is 3 Vpp before damage to the module occurs.

Electrical Outputs (Option 100)

The two electrical outputs provide output signals that are attenuated 3 dB from the input signal level. The inputs use 3.5 mm connectors.

Single-Mode Optical Inputs (Option 101)

Use this single-mode (9/125 µm) optical clock recovery input for 1250 nm to 1650 nm signals. The slightly attenuated input signal is available at an associated front-panel output connector. The optical connector includes an adapter that can easily be changed to match the type of connectors that are used on your fiber-optic cables.

The maximum optical input signal is 5 mW before damage to the module occurs.

Multimode Optical Inputs (Option 101)

Use this multimode (62.5/125 µ m) optical clock recovery input for 750 nm to 1330 nm signals. The slightly attenuated optical input signal is available at an associated optical output connector. The optical connector includes an adapter that can easily be changed to match the type of connectors that are used on your fiber-optic cables.

The maximum optical input signal is 5 mW before damage to the module occurs.

Single-Mode Optical Outputs Option 101

The signal available at this single-mode optical Data Output connector is the slightly attenuated signal input on the associated optical Data Input connector. The optical connector includes an adapter that can easily be changed to match the type of connectors that are used on your fiber-optic cables.

Light energy can radiate from the front-panel Data Output connectors on Keysight 83496 modules. The light emitted from this connector is the slightly attenuated light that is input to the front-panel Data Input connector.

Multimode Optical Outputs Option 101

The signal available at this multimode optical Data Output connector is the slightly attenuated signal input on the associated optical Data Input connector. The optical connector includes an adapter that can easily be changed to match the type of connectors that are used on your fiber-optic cables.

Light energy can radiate from the front-panel Data Output connectors on Keysight 83496 Option 101 modules. The light emitted from this connector is the slightly attenuated light that is input to the front-panel Data Input connector.

Recovered Clock Output

This front-panel SMA connector provides an auxiliary recovered clock output for triggering the instrument (via the front-panel trigger) when using pattern lock or Jitter Mode with clock rates less than 400 Mb/s. Also use this output to trigger other test equipment such as Bit Error Ratio Testers. The output is a full rate clock for data rates up to 7.1 Gb/s and a half rate clock for higher data rates.


86101A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86101A optical/electrical module incorporates two measurement channels, one optical and one electrical. The module provides:

  • 2.85 GHz, integrated, calibrated optical channel (single mode or multimode) optical signals, with wavelengths between 750 nm and 870 nm) with sensitivity to below –17 dBm (P avg)
  • 12.4 GHz (excellent noise performance) and 20 GHz (greater high-speed signal fidelity) electrical channel
  • Switchable reference filters for transceiver compliance testing
  • Compliance testing at OC-3, OC-12, Fibre Channel 1063, and Gigabit Ethernet 1250 rates depending on the option selected
  • Measurement capability for multimode and single mode optical signals

See Also

  • Available Accessories
  • 86101A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
86101A-201 | OC-3/STM-1 (155 Mb/s), receiver filter OC-12/STM-4 (622 Mb/s), receiver filter
86101A-202 | FC-1063 (1062.5 Mb/s), receiver filter Gigabit Ethernet (1250 Mb/s), receiver filter
86101A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10 connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86102A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.01.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86102A module incorporates one optical and one electrical measurement channel. The module provides:

  • 10 GHz, integrated, calibrated optical channel with sensitivity to below –13.5 dBm (P avg). It is calibrated at 850 nm. User calibration provides for consistent accuracy at any wavelength between 750 nm and 860 nm using an optical source and a precision optical power meter.
  • Up to 20 GHz electrical channel
  • Switchable reference filters for transceiver compliance testing
  • Compliance testing at 2.125 Gb/s (FC-2125) and 3.187 Gb/s (FC-3187) rates, or 2.500 Gb/s (2xGb Ethernet) and 3.125 Gb/s (XAUI) rates, or 2.720 Gb/s and 3.320 Gb/s (12x Parallel Optics) depending on the option selected

See Also

  • Available Accessories
  • 86102A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
86102A-201 | FC-2125 (2.125 Gb/s) FC-3187 (3.187 Gb/s)
86102A-202 | 2xGb Ethernet (2.500 Gb/s) XAUI (3.125 Gb/s)
86102A-203 | 2.720 Gb/s 12x Parallel Optics (3.320 Gb/s)
86102A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86102U Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.02.02.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86102U module incorporates one optical and one electrical measurement channel. The module provides:

  • 15 GHz, integrated, calibrated optical channel with sensitivity to below -7.5 dBm (P avg). It is calibrated at 850 nm. User calibration provides for consistent accuracy at any wavelength between 750 nm and 860 nm using an optical source and a precision optical power meter.
  • 12.4 GHz electrical channel and 20 GHz electrical channel
  • Switchable reference filters for transceiver compliance testing
  • Compliance testing at 1.250 Gb/s (Gigabit Ethernet) and 2.488 Gb/s (STM-16/OC-48) rates, or 2.488 Gb/s (STM-16/OC-48) and 3.125 Gb/s (XAUI) rates depending on the option selected

See Also

  • Available Accessories
  • 86102U Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
86102U-201 | Gigabit Ethernet (1.25 Gb/s) OC-48/STM-16 (2.488 Gb/s)
86102U-202 | OC-48/STM-16 (2.488 Gb/s) XAUI (3.125 Gb/s)
86102U-203 | XAUI (3.125 Gb/s) 10 Gb Ethernet (10.3125 Gb/s)
86102U-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86103A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86103A module incorporates one optical and one electrical measurement channel. The module provides:

  • 2.85 GHz, integrated, calibrated optical channel with sensitivity to below - 20 dBm (P avg). Single mode or multimode optical signals. User calibration provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 12.4 GHz (excellent noise performance) and 20 GHz (greater high-speed signal fidelity) electrical channel
  • Switchable SONET/SDH reference filters for transceiver compliance testing conform to ITU-TS G.957 and TANWT-000253 frequency response requirements (Option 201) or to reference receiver specifications for Fibre Channel (FC) 1063 and Gigabit Ethernet for transmitter compliance testing (Option 202).
  • Compliance testing at 155, 622, or FC 1063 and Gigabit Ethernet rates depending on the option that is chosen
  • Measurement capability for single mode or multimode optical signals

See Also

  • Available Accessories
  • 86103A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
86103A-201 | OC-3/STM-1 (155 Mb/s), receiver filter OC-12/STM-4 (622 Mb/s), receiver filter
86103A-202 | FC-1063 (1062.5 Mb/s), receiver filter Gigabit Ethernet (1250 Mb/s), receiver filter
86103A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10 connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86103B Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.01.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86103B module incorporates one optical and one electrical measurement channel. The module provides:

  • 10 GHz, integrated, calibrated optical channel with sensitivity to below –15 dBm (P avg). Single mode or multimode optical signals. User calibration feature provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 12.4 GHz and 20 GHz electrical channel
  • Switchable SONET/SDH reference filters for transceiver compliance testing designed to conform to ITU-TS G.957 and TANWT-000253 frequency response requirements, or to reference receiver specifications for Fibre Channel and Gigabit Ethernet for transmitter compliance testing, depending on the option that is chosen.
  • Compliance testing at 622 Mb/s (OC-12/STM-4) and 2.488 Gb/s (OC-48/STM-16), or 1.063 Gb/s (FC-1063) and 1.250 Gb/s (Gb Ethernet), or 2.125 Gb/s (FC-2125) and 2.500 Gb/s (2xGb Ethernet) rates depending on the option selected
  • Measurement capability for single mode or multimode optical signals

See Also

  • Available Accessories
  • 86103B Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
86103B-201 | STM-4/OC-12 (622 Mb/s) receiver filter STM-16/OC-48 (2488 Mb/s) receiver filter
86103B-202 | FC-1063 (1063 Mb/s) receiver filter Gigabit Ethernet (1250 Mb/s) receiver filter
86103B-203 | FC-2125 (2125 Mb/s) receiver filter 2xGb Ethernet (2500 Mb/s) receiver filter
86103B-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10 connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86105A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86105A optical/electrical module incorporates one optical and one electrical measurement channel. To protect the channel inputs, refer to Electrostatic Discharge Information. The module provides:

  • 20 GHz, unfiltered optical channel calibrated at 1310 nm and 1550 nm. User calibration feature provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 12.4 GHz and 20 GHz electrical channel
  • Switchable SDH/SONET filter for transceiver compliance testing to comply to ITU-TS (formerly CCITT) G.957 and Bellcore GR-253-CORE frequency response requirements for transmitter compliance testing.
  • Compliance testing at 155, 622, 2488, or 9953 Mb/s depending on the selected option

See Also

  • Available Accessories
  • 86105A Module Specifications
  • Optical Channel Calibration
  • Modules


86105B Optical/Electrical Module

Note

This module has been discontinued.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.03.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86105B optical/electrical module incorporates one optical and one electrical measurement channel. To protect the channel inputs, refer to Electrostatic Discharge Information. The module provides:

  • 10 GHz and 15 GHz unfiltered optical channel bandwidth calibrated at 1310 nm and 1550 nm. User calibration feature provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 12.4 GHz and 20 GHz electrical channel bandwidth
  • Switchable SDH/SONET filters for transceiver compliance testing
  • Compliance testing at the following data rates (in Mb/s), depending on the selected option: 155, 622, 1063, 1250, 2125, 2488, 2500, 2666, 9953, 10312.5, 10518.75, 10664, or 10709.

See Also

  • Available Accessories
  • 86105B Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
86105B-101 Receiver filters:
  • OC-192/STM-64 (9.953 Gb/s)
  • 10Gb Ethernet (10.3125 Gb/s)
  • 10x Fibre Channel (10.51875 Gb/s)
  • OC-192/STM-64 FEC (10.664 Gb/s)
  • OC-192/STM-64 FEC (10.709 Gb/s)
86105B-102 Receiver filters:
  • OC-3/STM-1 (155 Mb/s)
  • OC-12/STM-4 (622 Mb/s)
  • OC-48/STM-16 (2.488 Gb/s)
  • 2 Gb Ethernet (2.500 Gb/s)
  • InfiniBand (2.500 Gb/s)
  • OC-48/STM-16 FEC (2.666 Gb/s)
  • OC-192/STM-64 (9.953 Gb/s)
  • 10 Gb Ethernet (10.3125 Gb/s)
  • 10x Fibre Channel (10.51875 Gb/s)
  • OC-192/STM-64 FEC (10.664 Gb/s)
  • OC-192/STM-64 FEC (10.709 Gb/s)
86105B-103 Receiver filters:
  • 1x Fibre Channel (1.063 Gb/s)
  • Gigabit Ethernet (1.250 Gb/s)
  • 2x Fibre Channel (2.125 Gb/s)
  • OC-48/STM-16 (2.488 Gb/s)
  • 2Gb Ethernet (2.500 Gb/s)
  • InfiniBand (2.500 Gb/s)
  • OC-192/STM-64 (9.953 Gb/s)
  • 10Gb Ethernet (10.3125 Gb/s)
  • 10x Fibre Channel (10.51875 Gb/s)
  • OC-192/STM-64 FEC (10.664 Gb/s)
  • OC-192/STM-64 FEC (10.709 Gb/s)
86105B-111 | Includes all of the receiver filters provided in Option 86105B-101 plus additional FEC filters for 11.096 Gb/s and 11.317 Gb/s.
86105B-112 | Includes all of the receiver filters provided in Option 86105B-102 plus additional FEC filters for 11.096 Gb/s and 11.317 Gb/s.
86105B-113 | Includes all of the receiver filters provided in Option 86105B-103 plus additional FEC filters for 11.096 Gb/s and 11.317 Gb/s.
86105B-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86105C Optical/Electrical Module

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.04.10.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

The 86105C optical/electrical module incorporates one optical and one electrical measurement channel. To protect the channel inputs, Electrostatic Discharge Information. The module provides:

  • 9 GHz unfiltered optical channel bandwidth. 155.52 Mb/s to 11.3 Gb/s bandwidth depending on installed option. Calibrated at 850 nm, 1310 nm, and 1550 nm. User calibration can provide an additional user-defined wavelength for consistent accuracy at any wavelength between 750 nm and 1650 nm using an optical source and a precision optical power meter. For user calibrations from 750 nm to 1000 nm, the calibration source power must be between 175 mW and 225 mW. For user calibrations within 1000 nm to 1650 nm, the calibration source power must be between 375 mW to 425 mW.
  • 12.4 GHz and 20 GHz electrical channel bandwidth
  • Switchable SDH/SONET filters for transceiver compliance testing
  • Compliance testing at the following data rates (in Mb/s), depending on the selected option: 155.52, 622.08, 1063, 1250, 2125, 2488, 2500, 2666, 3125, 425, 5000, 6250, 8500, 9953, 10312.5, 10518.75, 10664, 10709, 11095, or 11317.

Option IRC

Option IRC provides optical channel System Impulse Response Correction (SIRC) measurement and data files to provide an ideal channel response. SIRC data can be applied in the System Impulse Response Correction dialog box when the 86100D is in Standard or Compatibility configuration. The SIRC correction data feature is a digital filter that is used to:

  • Improve the response of module reference filters to more closely match an ideal receiver.
  • Enable non-standard reference receiver rates or bandwidths.
  • Increase the bandwidth of the channel by up to 50%.
  • Ensures that an eye diagram will look identical between different modules.

SIRC correction data is unique to a specific 86105C's serial number. The data can be purchased with new modules or purchased separately for your existing modules. Purchasing data for an existing module requires that the module be returned to Keysight Technologies. SIRC data is downloaded from Keysight.com. To order SIRC data, contact your Keysight representative or visit http://www.keysight.com/Find/FlexDCA.

See Also

  • Available Accessories
  • 86105C Module Specifications
  • Optical Channel Calibration
  • Modules

86105C Option 197

Note

Option 197 (6.375 GHz BW) is a legacy option and is not compliant with 8x Fibre Channel.

86105C Option 197 provides an electrical hardware filter in the optical channel in order to achieve a 6.375 GHz (–3 dB electrical) bandwidth. This design is consistent with many standards that specify 75% of the signal rate as the preferred bandwidth for the 4 th order Bessel-Thomson behavior of optical reference receivers. In April 2008, the Fibre Channel workgroup T11.2 decided to require a reference receiver with 7.5 GHz bandwidth instead of 6.375 GHz. The 86105C Optical Electrical Module offers such capabilities when equipped with either Option 200 or Option 300.

To verify 8G Fibre Channel transmitter compliance (Current FC-PI-4 Requirement)

  1. Install an 86105C with Option 200 or Option 300 into the 86100D.
  2. Turn on the optical channel and open the Channel Configuration dialog box.
  3. Select the 10.3125 Gb/s filter. After selecting the filter, the dialog box shows the 10Gb Ethernet filter label.

This selection provides a 4 th order Bessel-Thomson transfer function that falls within the tolerance window of the 8G Fibre Channel requirements outlined in FC-PI-4.

To verify 8G Fibre Channel transmitter compliance (Early Draft FC-PI-4 Requirement)

  1. Install an 86105C with Option 197 into the 86100D.
  2. Turn on the optical channel and open the Channel Configuration dialog box.
  3. Select the 8.5 Gb/s filter. After selecting the filter, the dialog box shows the 8xFC filter label. Measurements can now be compared with earlier drafts of FC-PI-4.

To view and apply the correction factor

In Eye/Mask Mode, when performing extinction ratio measurements on optical channels, 86105C modules have recommended correction factors for each of the module's reference receiver filters. These factors correct for the frequency response of the filters. When you select an 86105C filter, the recommended correction factor is automatically selected for the extinction-ratio measurement.

  1. Click the Channel button for the optical channel. This button is located at the bottom of the display.
  2. In the Channel dialog box, select a filter.
  3. Click Filter to turn the on, and then close the Channel dialog box.
  4. Select Configure Meas in the Measure menu, to view the Configure Measure dialog box.
  5. Click the Ext Ratio tab.
  6. The recommended correction factor is displayed for the Correction Factor Value.
  7. Click Apply Correction Factor.

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Optical Channel Filter Options

Item | Description
86105C-IRC | Provides optical channel System Impulse Response Correction (SIRC) measurement and data files to provide an ideal channel response.
86105C-110 | Receiver Filter: OC-3/STM-1 (155 Mb/s)
86105C-120 | Receiver Filter: OC-12/STM-4 (622 Mb/s)
86105C-130 | Receiver Filter: 1x Fibre Channel (1.063 Gb/s)
86105C-140 | Receiver Filter: GPON (1.244Gb/s) and Gigabit Ethernet (1.250 Gb/s)
86105C-150 | Receiver Filter: 2x Fibre Channel (2.125 Gb/s)
86105C-160 Receiver Filters: OC-48/STM-16 (2.488 Gb/s) and
2Gb Ethernet (2.500 Gb/s)
86105C-170 | Receiver Filter: OC-48/STM-16 FEC (2.666 Gb/s)
86105C-180 | Receiver Filter: XAUI (3.125 Gb/s)
86105C-190 | Receiver Filter: 4x Fibre Channel (4.25 Gb/s)
86105C-193 | Receiver Filter: 5.000 Gb/s
86105C-195 | Receiver Filter: 6.250 Gb/s
86105C-200 Multiple 10 Gb/s Receiver Filters:
  • 8x Fibre Channel (8.5 Gb/s)
  • OC-192/STM-64 (9.953 Gb/s)
  • 10Gb Ethernet (10.3125 Gb/s)
  • 10x Fibre Channel (10.51875 Gb/s)
  • OC-192/STM-64 FEC (10.664 Gb/s)
  • OC-192/STM-64 FEC (10.709 Gb/s)
  • 10 Gb Ethernet FEC (11.0957 Gb/s)
  • 10x Fibre Channel FEC (11.317 Gb/s)
86105C-300 | Option 200 receiver filters plus any four series-100 option filters.

Additional Available Options

Item | Description
86105C-UK6 | Commercial calibration certificate with test data


86105D Optical/Electrical Module

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.08.10.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

The 86105D optical/electrical module incorporates one optical and one electrical measurement channel. The optical channel provides reference receiver filters for compliance testing at the following data rates:

  • 8x Fibre Channel (8.500 Gb/s), per T11 FC-PI-4
  • OC-192/STM-64 (9.953 Gb/s)
  • 10Gb Ethernet (10.3125 Gb/s)
  • 10x Fibre Channel (10.51875 Gb/s)
  • OC-192/STM-64 FEC (10.664 Gb/s)
  • OC-192/STM-64 FEC (10.709 Gb/s)
  • 10 Gb Ethernet FEC (11.0957 Gb/s)
  • 10x Fibre Channel FEC (11.317 Gb/s)
  • 16x Fibre Channel (14.025 Gb/s), per T11 FC-PI-5
  • 15 Gb (Option 281)
  • 25 Gb Ethernet (25.78125 Gb/s) (Option 281)
  • 25 Gb Ethernet FEC (27.7393 Gb/s) (Option 281)
  • 25 Gb 100GBASE-SR4, TDEC measurement (Option 168)
  • 27.952 Gb (Option 281)
  • 32x Fibre Channel (28.05 Gb/s) (Option 281)

ESD Safety

To protect the electrical channel inputs, refer to Electrostatic Discharge Information.

The unfiltered optical channel bandwidth is 20 GHz (24 GHz for Option 281). The electrical channel provides both low and high bandwidth modes. In the lower bandwidth mode of 25 GHz (30 GHz for Option 281), oscilloscope noise performance is improved, while the higher bandwidth mode, 35 GHz (50 GHz for Option 281), allows greater fidelity for high-speed signals.

The integrated optical channel reduces mismatch loss variation by eliminating signal distorting cables and connectors associated with the use of external receivers in order to accurately characterize optical waveforms. The optical channel is calibrated at 850 nm, 1310 nm, and 1550 nm to provide both accurate display of the received optical waveform in optical power units and measurement of the signal's average power. In addition, the optical channel calibration can be used to provide an additional user-defined wavelength for consistent accuracy at any wavelength between 750 nm and 1650 nm using an optical source and a precision optical power meter. For user calibrations from 750 nm to 1000 nm, the calibration source power must be between 800 µW and 2000 µW. For user calibrations within 1000 nm to 1650 nm, the calibration source power must be between 500 µW to 1500 µW.

The 86105D optical channel also is calibrated reference receiver that is designed to conform to the frequency response requirements of the respective standard for transmitter compliance testing. By selecting a reference receiver filter from the channel configuration dialog box, the measurement channel assumes a specified fourth-order Bessel-Thomson filtered response. The integration of the compliant response into the instrument removes the potential variability and the time wasted by manually inserting and removing the filter when alternating between high-fidelity waveform characterization and SONET/SDH compliance testing.

The module's front-panel knobs are used to adjust the vertical scale and the offset of the waveform.

Option IRC

Option IRC provides optical channel System Impulse Response Correction (SIRC) measurement and data files to provide an ideal channel response. SIRC data can be applied in the System Impulse Response Correction dialog box when the 86100D is in Standard or Compatibility configuration. The SIRC correction data feature is a digital filter that is used to:

  • Improve the response of module reference filters to more closely match an ideal receiver.
  • Enable non-standard reference receiver rates or bandwidths.
  • Increase the bandwidth of the channel by up to 50%.
  • Ensures that an eye diagram will look identical between different modules.

SIRC correction data is unique to a specific 86105D's serial number. The data can be purchased with new modules or purchased separately for your existing modules. Purchasing data for an existing module requires that the module be returned to Keysight Technologies. SIRC data is downloaded from Keysight.com. To order SIRC data, contact your Keysight representative or visit http://www.keysight.com/Find/FlexDCA.

See Also

  • Available Accessories
  • 86105D Module Specifications
  • Optical Channel Calibration
  • Modules

Note

The 86105D module requires an 86100C or 86100D mainframe. This module is not compatible with an 86100A or 86100B.

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver

Available Options

Item | Description
86105D-IRC | Provides optical channel System Impulse Response Correction (SIRC) measurement and data files to provide an ideal channel response.
86105D-100 | Remove 14.025 Gb/s filter
86105D-200 | Remove 8.5, 9.953 to 11.317 Gb/s filters
86105D-281 | 34 GHz Optical BW
86105D-UK6 | Commercial calibration certificate with test data


86106A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86106A module incorporates one optical and one electrical measurement channel. The module provides:

  • A reference receiver path for the 10 Gb/s transmitter test. Although no industry standards exist for 10 Gb/s testing, the 86106A has been designed to meet anticipated future standards.
  • 30 GHz unfiltered optical channel bandwidth. Calibrated at 1310 nm and 1550 nm. User channel calibration provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 18 GHz and 40 GHz electrical channel bandwidth

See Also

  • Available Accessories
  • 86106A Module Specifications
  • Optical Channel Calibration
  • Modules
Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 mm (f-f) adapter/connector saver
11900B | 2.4 mm (f-f) adapter/connector saver
54124-24101 | 2.4 mm cap

Available Options

Item | Description
86106A-101 | OC-192/STM-64 (9.953 Gb/s) Fourth order filter
86106A-102 | OC-192/STM-64 (9.953 Gb/s) Fifth order filter
86106A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86106B Optical/Electrical Module

Note

This module has been discontinued.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.02.20.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86106B module incorporates one optical and one electrical measurement channel. When performing compliance test measurements, the module automatically switches to the lower bandwidth mode, which provides lower noise performance and as a result, best sensitivity. The module provides:

  • 22 GHz bandwidth and 28 GHz typical bandwidth (–3 dBo). Calibrated at 1310 nm and 1550 nm. User channel calibration provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 18 GHz and 40 GHz electrical channel bandwidth
  • Option 410 provides the capability to perform compliance testing at 10.3125 Gb/s (10 Gb Ethernet), 10.664 Gb/s (STM-64/OC-192 FEC), and 10.709 Gb/s (STM-64/OC-192 FEC).

See Also

  • Available Accessories
  • 86106B Module Specifications
  • Optical Channel Calibration
  • Modules

Note

To support this module, the mainframe must have the required minimum firmware revision installed.

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 mm (f-f) adapter/connector saver
11900B | 2.4 mm (f-f) adapter/connector saver
54124-24101 | 2.4 mm cap

Available Options

Item | Description
86106B-410 | STM-64/OC192 (9.953 Gb/s) Fourth Order 10 Gb Ethernet (10.3125 Gb/s) Fourth Order STM-64/OC-192 FEC (10.664 and 10.709 Gb/s) Fourth Order
86106B-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86107A Precision Timebase Module

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.01.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

The 86107A precision timebase module provides an alternate timebase source for the instrument that, when enabled, greatly improves the instrument's jitter performance and timebase linearity. Use the 86107A only for applications in which a full or sub-rate reference clock that is synchronous to the input signal is available (such as communication measurements). This external reference clock is used instead of an external trigger.

See Also

  • Available Accessories
  • Precision Timebase Dialog Box
  • 86107A Module Specifications
  • 86108A precision waveform analyzer module (combines a precision timebase, electrical channel inputs, and clock recovery into one double-wide module)
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 mm (f-f) adapter/connector saver

Available Options

Item | Description
86107A-021 | 11742A blocking capacitor 45MHz - 26.5GHz APC 3.5mm (m-f) connectors
86107A-041 | 11742A-K01 blocking capacitor 10MHz - 50GHz APC 2.4mm (m-f) connectors

Note

The 11742A and 11742A-K01 blocking capacitors prevent DC offset if DC offset is greater than ±200mV.


86108A Precision Waveform Analyzer Module

Note

This module has been discontinued.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.08.00.

COMPATIBLE CONFIGURATIONS

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

SETUP WIZARD

From the FlexDCA application, configure the module directly from the Trigger, Clock Recovery, and Precision Timebase dialog boxes. There is no 86108A Setup Wizard.

The 86108A Precision Waveform Analyzer module is a dual-channel electrical module with integrated, compliant clock recovery, and a built-in precision time base. This is a double-wide module that fills both slots in the mainframe. The 86108A requires an 86100D or 86100C with firmware revision A.08.00 or above. It does not work with an 86100A or 86100B. For optimum performance, the mainframe should have the enhanced trigger option (86100D-ETR or 86100C-100) and Enhanced Jitter Analysis Software (86100D-200 or 86100C-200) installed. Without these options, the features provided with the 86108A module will be reduced.

Maximum electrical signal input for 86108A modules is 3Vp-p single-ended. Damage will occur at input powers above this level.

Note

To deskew the channel inputs, use external phase trimmers.

Front-Panel
Features

Block Diagram

Specifications

Automatic Relock

If the clock recovery module loses lock, the trigger becomes asynchronous with the data and the instrument will not display a correctly triggered waveform. By default, when lock is lost, the instrument automatically tries to re-establish lock. Automatic relocking is most helpful when probing a device under test. You can turn off or on automatic relocking from the Clock Recovery setup dialog box. Loss of lock, or false lock, conditions may be caused by unusual patterns with a large amount of consecutive 1's or 0's. If the module loses lock during any procedure or measurement, reestablish lock and then repeat the procedure or measurement. For example, if lock is lost while saving a pattern waveform to a file, the data stored in the file will be corrupt.

Locking on the Data Rate

When using the module, you must specify the data rate of the clock to be recovered and lock the module on the data rate. Under two conditions, the module may lock on a data rate other than the specified rate. In the first condition, lock can occur if the entered data rate is an integer multiple of the actual data rate of the signal. The second condition occurs because the acquisition range is broad (greater than ±5000 PPM). This makes it possible for the module to lock on a signal that is higher or lower than the selected value. For example, if you select a 2.48832 Gb/s data rate but the signal is actually 2.5 Gb/s, the module may still lock on the signal.

Loop Bandwidth and Jitter

When measuring jitter relative to the recovered clock, jitter that is present on both the data and the recovered clock can not be detected by the instrument. Jitter that is within the clock recovery module's loop bandwidth appears on the recovered clock. Jitter that is outside of the loop bandwidth does not appear on the recovered clock and can be detected on the data.

Specific jitter frequencies in the vicinity of the loop bandwidth may appear amplified or attenuated due to the scope timebase delay and clock recovery group delay. The electrical through-path does not have a delay line. Compensation can be made, by adding an electrical cable between the electrical output and the vertical channel. However, this may affect signal quality.

Note

If the display shows a clock recovery lock lost status message, clock recovery cannot be established on the signal. Make sure that your signal is attached with a power level greater than the minimum (see the specifications) and that the data rate is set correctly to within the specified acquisition range.

Note

To use the front-panel clock above 3.2 Gb/s, Keysight 86108A modules require an instrument with the enhanced trigger option. Or, the front panel output divide ratio must be set on the 86108A to reduce the frequency below 3.2 GHz.

Aux Input

86108A Option 400 modules include a front-panel auxiliary clock recovery input. This front-panel input can provide improved performance in the following situations:

  • Marginal Input Signals
  • Improved Phase Noise Measurements
  • Measurements on Data Rates Above the 14.2 Gb/s Channel Input Limits

Note

The 86108A's auxiliary clock recovery input is supported by 86100D software revision A.10.00.

See Also

  • Available Accessories
  • 86108A Module Specifications
  • AUX Input
  • Modules

Available Options

Item | Description
86108A–001 | Two 3.5 mm phase trimmers for external skew adjustment
86108A–002 | Two precision 3.5 mm 18 inch cables
86108A–100 | Dual 33 GHz electrical channels with internal clock-data recovery
86108A–200 | Clock recovery input data rate range of 0.05 Gb/s to 14.2 Gb/s. This option is automatically included with every 86108A module. The module can not be ordered without this option.
86108A–300 | Clock recovery adjustable loop bandwidth continuous-tuning range of 15 kHz to 10 MHz. Available loop bandwidth settings also depend on the data rate of the input signal. This option is automatically included with every 86108A module. The module can not be ordered without this option.
86108A–400 | Auxiliary Clock Recovery Input. This option is automatically included with every 86108A module.


86108B Precision Waveform Analyzer Module

dialog box tabs:

  • i
  • Channels
  • Clock Recovery
  • Precision Timebase

Introduction

Minimum Firmware Version

The minimum required firmware versions for this module are A.10.70 (86100-series) and A.01.70 (FlexDCA).

COMPATIBLE CONFIGURATIONS

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

SETUP WIZARD

From the FlexDCA application, configure the module directly from the Trigger, Clock Recovery, and Precision Timebase dialog boxes. There is no 86108B Setup Wizard.

The 86108B Precision Waveform Analyzer module is a dual-channel electrical module with integrated, compliant clock recovery, and a built-in precision time base. This is a double-wide module that fills both slots in the mainframe. The 86108B requires an 86100D or 86100C with firmware revision A.10.70 or above. It does not work with an 86100A or 86100B. For optimum performance, the mainframe should have the enhanced trigger option (86100D-ETR or 86100C-100) and Enhanced Jitter Analysis Software (86100D-200 or 86100C-200) installed. Without these options, the features provided with the 86108B module will be reduced.

Maximum electrical signal input for 86108B modules is 3Vp-p single-ended. Damage will occur at input powers above this level.

Note

To deskew the channel inputs, use external phase trimmers.

Front-Panel
Features

Block Diagram

Specifications

See Also

  • Available Accessories
  • 86108B Module Specifications
  • More Information on AUX Input
  • Modules

Automatic Relock

If the clock recovery module loses lock, the trigger becomes asynchronous with the data and the instrument will not display a correctly triggered waveform. By default, when lock is lost, the instrument automatically tries to re-establish lock. Automatic relocking is most helpful when probing a device under test. You can turn off or on automatic relocking from the Clock Recovery setup dialog box. Loss of lock, or false lock, conditions may be caused by unusual patterns with a large amount of consecutive 1's or 0's. If the module loses lock during any procedure or measurement, reestablish lock and then repeat the procedure or measurement. For example, if lock is lost while saving a pattern waveform to a file, the data stored in the file will be corrupt.

Locking on the Data Rate

When using the module, you must specify the data rate of the clock to be recovered and lock the module on the data rate. Under two conditions, the module may lock on a data rate other than the specified rate. In the first condition, lock can occur if the entered data rate is an integer multiple of the actual data rate of the signal. The second condition occurs because the acquisition range is broad (greater than ±5000 PPM). This makes it possible for the module to lock on a signal that is higher or lower than the selected value. For example, if you select a 2.48832 Gb/s data rate but the signal is actually 2.5 Gb/s, the module may still lock on the signal.

Loop Bandwidth and Jitter

When measuring jitter relative to the recovered clock, jitter that is present on both the data and the recovered clock can not be detected by the instrument. Jitter that is within the clock recovery module's loop bandwidth appears on the recovered clock. Jitter that is outside of the loop bandwidth does not appear on the recovered clock and can be detected on the data.

Specific jitter frequencies in the vicinity of the loop bandwidth may appear amplified or attenuated due to the scope timebase delay and clock recovery group delay. The electrical through-path does not have a delay line. Compensation can be made, by adding an electrical cable between the electrical output and the vertical channel. However, this may affect signal quality.

Note

If the display shows a clock recovery lock lost status message, clock recovery cannot be established on the signal. Make sure that your signal is attached with a power level greater than the minimum (see the specifications) and that the data rate is set correctly to within the specified acquisition range.

Note

To use the front-panel clock above 3.2 Gb/s, Keysight 86108B modules require an instrument with the enhanced trigger option. Or, the front panel output divide ratio must be set on the 86108B to reduce the frequency below 3.2 GHz.

Aux Input

86108B Option 400 modules include a front-panel auxiliary clock recovery input. This front-panel input can provide improved performance in the following situations:

  • Marginal Input Signals
  • Improved Phase Noise Measurements
  • Measurements on Data Rates Above the 14.2 Gb/s Channel Input Limits

Available Options

Item | Description
Bandwidth Options
86108B–HBW | 50 GHz BW, two channel electrical.
86108B–LBW | 35 GHz BW, two channel electrical.
Clock Recovery Options
86108B–216 | Clock recovery input data rate range of 0.05 Gb/s to 16 Gb/s (continuous).
86108B–232 | Clock recovery input data rate range of 0.05 Gb/s to 32 Gb/s (continuous).
86108B–300 | Clock recovery adjustable loop bandwidth continuous-tuning range of 15 kHz to 20 MHz. Available loop bandwidth settings also depend on the data rate of the input signal. This option is automatically included with every 86108B module. The module can not be ordered without this option.
86108B–400 | Auxiliary Clock Recovery Input. This option is automatically included with every 86108B module.
86108B–JSA | Jitter Spectrum Analysis and Clock Recovery Emulation.
Precision Timebase Options
86108B–PTB | Precision Timebase, ultra-low random jitter. This option is automatically included with every 86108B module.

Supplied Accessories

Item | Qty
Suppled with Option 86108-HBW
Phase trimmers for external skew adjustment (2.4 mm) | 2
DC Block (2.4 mm) | 2
Cable Pair, matched (2.4 mm), 24 in. long | 2
2.4 mm (f) to 3.5 mm (f) adapter | 2
Suppled with Option 86108-LBW
Phase trimmers for external skew adjustment (3.5 mm) | 2
DC Block (3.5 mm) | 2
Cable Pair, matched (3.5 mm), 18 in. long | 2


86109A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.01.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86109A module incorporates one optical and one electrical measurement channel. The optical channel frequency response minimizes distortion of the displayed optical pulse by not switching a SONET/SDH filter into the channel. The module provides:

  • 30 GHz optical bandwidth. Calibrated at 1310 nm and 1550 nm. User channel calibration provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 18 GHz and 40 GHz electrical channel bandwidth

See Also

  • Available Accessories
  • 86109A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 mm (f-f) adapter/connector saver
11900B | 2.4 mm (f-f) adapter/connector saver
54124-24101 | 2.4 mm cap

Available Options

Item | Description
86109A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86109B Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.02.20.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86109B optical/electrical module includes an optical and an electrical channel. The optical channel frequency response minimizes distortion of the displayed optical pulse by not switching a SONET/SDH filter into the channel. The module provides:

  • 30 GHz and 40 GHz optical channel. Calibrated at 1310 nm and 1550 nm. User channel calibration provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 26 GHz and 50 GHz electrical channel

See Also

  • Available Accessories
  • 86109B Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 mm (f-f) adapter/connector saver
11900B | 2.4 mm (f-f) adapter/connector saver
54124-24101 | 2.4 mm cap

Available Options

Item | Description
86109B-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86111A Dual Optical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.01.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86111A module includes two optical measurement channels. The factory calibration is performed using multimode optical source. The module provides:

  • Two 2.85 GHz, integrated, calibrated optical channels with sensitivity to below –17 dBm (P avg). Wavelengths between 750 nm and 860 nm. User calibration provides for consistent amplitude accuracy at any wavelength between 750 nm and 860 nm using an optical source and a precision optical power meter.
  • Switchable reference filters for transceiver compliance testing via channel configuration dialog box.
  • Compliance testing at OC-3, OC-12, Fibre Channel 1063, and Gigabit Ethernet 1250 rates depending on the option selected
  • Measurement capability for multimode and single mode optical signals

See Also

  • Available Accessories
  • 86111A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD

Available Options

Item | Description
86111A-201 | OC-3/STM-1 (155 Mb/s), receiver filter OC-12/STM-4 (622 Mb/s), receiver filter
86111A-202 | FC-1063 (1062.5 Mb/s), receiver filter Gigabit Ethernet (1250 Mb/s), receiver filter
86111A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10 connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86111U Dual Optical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.02.20.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86111U module incorporates two optical measurement channels. The module provides:

  • Two 15 GHz, integrated, calibrated optical channel with sensitivity to below –7.5 dBm (P avg). Wavelengths between 750 nm and 860 nm. Calibrated at 850 nm. User calibration provides for consistent amplitude accuracy at any wavelength between 750 nm and 860 nm using an optical source and a precision optical power meter.
  • Switchable SONET/SDH reference filters for transceiver compliance testing designed to conform to ITU-TS (formerly CCITT) G.957 and GR-253-CORE and TANWT-000253 frequency response requirements. .
  • Compliance testing at 1.250 Gb/s (Gigabit Ethernet) and 2.488 Gb/s (STM-16/OC-48) rates, or 2.488 Gb/s (STM-16/OC-48) and 3.125 Gb/s (XAUI) rates depending on the option selected

See Also

  • Available Accessories
  • 86111U Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD

Available Options

Item | Description
86111U-201 | Gigabit Ethernet (1.25 Gb/s) OC-48/STM-16 (2.488 Gb/s)
86111U-202 | OC-48/STM-16 (2.488 Gb/s) XAUI (3.125 Gb/s)
86111U-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86112A Electrical Module Module

Minimum Firmware Version

The minimum required firmware versions for this module is:

  • 86112A (standard): A.01.00
  • 86112A-HBW: A.10.03
  • FlexDCA (for 86112A-HBW): A.01.03

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard (86112A and 86112A-HBW)
  • Compatibility
  • Legacy

The 86112A electrical module provides two electrical channels. The module provides user-selectable 12.4 GHz or 20 GHz bandwidth or 30 GHz (Option HBW).

See Also

  • Available Accessories
  • 86112A Module Specifications
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
1810-0118 | SMA 50 ohm termination
5061-5311 | APC 3.5 (f-f) adapter/connector saver (2)

Available Options

Item | Description
86112A-030 | Warranted 30 GHz bandwidth
86112A-UK6 | Commercial calibration certificate with test data


86113A Dual Optical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.01.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86113A module incorporates two optical measurement channels. A single-mode optical source is used to perform the factory calibration. The module is a calibrated reference receiver that is measured to The module provides

  • Two 2.85 GHz, integrated, calibrated optical channel with sensitivity to below –20 dBm (P avg). Wavelengths between 1000 nm and 1600 nm. A user calibration provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • Switchable reference filters for transceiver compliance testing.
  • Compliance testing ITU-TS G.957 and TANWT-000253 frequency response requirements (Option 201) or to reference receiver specifications for Fibre Channel (FC) 1063 and Gigabit Ethernet for transmitter compliance testing (Option 202).
  • Measurement capability for single mode or multimode optical signals

See Also

  • Available Accessories
  • 86113A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD

Available Options

Item | Description
86113A-201 | OC-3/STM-1 (155 Mb/s), receiver filter OC-12/STM-4 (622 Mb/s), receiver filter
86113A-202 | FC-1063 (1062.5 Mb/s), receiver filter Gigabit Ethernet (1250 Mb/s), receiver filter
86113A-301 | OC-3/STM-1 (155 Mb/s), receiver filter OC-12/STM-4 (622 Mb/s), receiver filter OC-48/STM-16 (2.488 Gb/s), receiver filter
86113A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10 connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86115B Dual Optical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.01.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86115B module incorporates two optical measurement channels. The module provides:

  • 18 GHz, 22 GHz, and 28 GHz typical bandwidth (–3 dBo). Calibrated at 1310 nm and 1550 nm. User channel calibration provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • Option 410 provides the capability to perform compliance testing at 10.3125 Gb/s (10 Gb Ethernet), 10.664 Gb/s (STM-64/OC-192 FEC), and 10.709 Gb/s (STM-64/OC-192 FEC). Automatically switches to the lower bandwidth providing lower noise performance.

See Also

  • Available Accessories
  • 86115B Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD

Available Options

Item | Description
86115B-410 Receiver Filters:
  • STM-64/OC192 (9.953 Gb/s) Fourth Order
  • 10 Gb Ethernet (10.3125 Gb/s) Fourth Order
  • STM-64/OC-192 FEC (10.664 and 10.709 Gb/s) Fourth Order
86115B-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86115D 20 GHz Optical Module

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.09.00.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

Option 004 Front Panel

The 86115D module provides two broad wavelength, unamplified, optical measurement channels. Option 002 modules include two optical inputs, one for each channel. Option 004 modules include four optical inputs, two for each channel. For each Option 004 channel, an internal, 2 x 1, optical switch selects either optical input A or B. The module provides 20 GHz typical bandwidth (–3 dBo) and is calibrated at 850 nm, 1310 nm, and 1550 nm. User channel calibration provides for consistent accuracy at any wavelength between 750 nm and 1650 nm using an optical source and a precision optical power meter.

Option 002 modules, include front-panel vertical scale and offset adjustments knobs. Option 004 modules do not have front-panel vertical scale and offset adjustments knobs and these functions must be adjusted using the Channel dialog box. Click Setup > Channels.

When an 86115D Option 004 module used, the FlexDCA application's Channel Setup dialog box includes the Input Connector field. This field allows you to select either input A or input B for the channel.

Note

The 86115D requires an 86100D or 86100C mainframe. This module is not compatible with an 86100A or 86100B.

The 86115D includes the capability to perform compliance testing at the following data rates:

  • 8x Fibre Channel (8.500 Gb/s), per T11 FC-PI-4
  • OC-192/STM-64 (9.953 Gb/s)
  • 10Gb Ethernet (10.3125 Gb/s)
  • 10x Fibre Channel (10.51875 Gb/s)
  • OC-192/STM-64 FEC (10.664 Gb/s)
  • OC-192/STM-64 FEC (10.709 Gb/s)
  • 10 Gb Ethernet FEC (11.0957 Gb/s)
  • 10x Fibre Channel FEC (11.317 Gb/s)
  • 16x Fibre Channel (14.025 Gb/s), per T11 FC-PI-5
  • 15 Gb (Option 282)
  • 25 Gb Ethernet (25.78125 Gb/s) (Option 282)
  • 25 Gb Ethernet FEC (27.7393 Gb/s) (Option 282)
  • 25 Gb 100GBASE-SR4, TDEC measurement (Option 168)
  • 27.952 Gb (Option 282)
  • 32x Fibre Channel (28.05 Gb/s) (Option 282)

Option IRC

Option IRC provides optical channel System Impulse Response Correction (SIRC) measurement and data files to provide an ideal channel response. SIRC data can be applied in the System Impulse Response Correction dialog box when the 86100D is in Standard or Compatibility configuration. The SIRC correction data feature is a digital filter that is used to:

  • Improve the response of module reference filters to more closely match an ideal receiver.
  • Enable non-standard reference receiver rates or bandwidths.
  • Increase the bandwidth of the channel by up to 50%.
  • Ensures that an eye diagram will look identical between different modules.

SIRC correction data is unique to a specific 86115D's serial number. The data can be purchased with new modules or purchased separately for your existing modules. Purchasing data for an existing module requires that the module be returned to Keysight Technologies. SIRC data is downloaded from Keysight.com. To order SIRC data, contact your Keysight representative or visit http://www.keysight.com/Find/FlexDCA.

See Also

  • Available Accessories
  • 86115D Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD

Available Options

Option | Description
86105D-IRC | Provides optical channel System Impulse Response Correction (SIRC) measurement and data files to provide an ideal channel response.
86105D-002 | Two optical input channels (Option 002 modules cannot include Option 004)
86105D-004 | Four optical inputs (two internal optical 2-by-1 switches, one switch per channel pair) (Option 004 modules cannot include Option 002)
86105D-102 | Dual optical input, 8.5 Gb/s and 9.953 to 11.317 Gb/s filters
86105D-104 | Quad optical input, 8.5 Gb/s and 9.953 to 11.317 Gb/s filters
86105D-142 | Dual optical input, 14.025 Gb/s filter
86105D-144 | Quad optical input, 14.025 Gb/s filter
86105D-282 | 28 GHz Optical BW
86105D-UK6 | Commercial calibration certificate with test data


86116A Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.01.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86116A optical/electrical module includes an optical channel and an electrical channel. The optical channel frequency response minimizes distortion of the displayed optical pulse by not including the capability to switch a SONET/SDH filter into the channel. The module provides:

  • 50 GHz and 53 GHz optical channel. Calibrated at 1310 nm and 1550 nm. User channel calibration provides for consistent accuracy at any wavelength between 1000 nm and 1600 nm using an optical source and a precision optical power meter.
  • 43 GHz and 63 GHz electrical channel

See Also

  • Available Accessories
  • 86116A Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
5065-4642 | 1.85 mm (f-f) adapter/connector saver
11900B | 2.4 mm (f-f) adapter/connector saver
86116-20010 | 1.85 mm cap

Available Options

Item | Description
86116A-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86116B Optical/Electrical Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.04.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86116B module incorporates one optical and one electrical measurement channel. The optical channel frequency response minimizes distortion of the displayed optical pulse by not including the capability to switch a SONET/SDH filter into the channel. The module provides:

  • 55, 60, and 65 GHz optical channel. Calibrated at 1550 nm. User channel calibration provides for consistent accuracy at any wavelength between 1480 nm and 1620 nm using an optical source and a precision optical power meter.
  • 30, 55, and 70 GHz electrical channel

See Also

  • Available Accessories
  • 86116B Module Specifications
  • Optical Channel Calibration
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
5065-4642 | 1.85 mm (f-f) adapter/connector saver (qty 1)
86116-20010 | 1.85 mm shipping cap (qty 1)

Available Options

Item | Description
86116B-UK6 | Commercial calibration certificate with test data
81000AI | Diamond HMS-10/connector interface
81000FI | FC/PC/SPC/APC connector interface
81000KI | SC connector interface
81000SI | DIN 47256/4108.6 connector interface
81000VI | ST connector interface


86116C Optical/Electrical Module

Minimum Firmware Version

The minimum required firmware versions for this module is:

  • 86116C (standard): A.07.00
  • 86116C-025: A.08.00
  • 86116C-040: A.08.00

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard (Opt. 040, 041, and 025 only)
  • Compatibility
  • Legacy

The 86116C optical/electrical plug-in module incorporates a 45 GHz to 70 GHz optical measurement channel and an 80 GHz electrical channel. Standard modules require 86100D firmware revision A.07.00 and above. Option 040 or Option 025 modules require instrument firmware revision A.08.00 and above.

Select the reference receiver or unfiltered bandwidth using the channel configuration dialog box. The reference receivers are measured to conform to key industry specifications for transmitter compliance testing. Since the reference receiver is inserted in the measurement channel by a repeatable microwave switch, measurement repeatability is maximized and time wasted by manually inserting and removing the filter is minimized.

The optical channel is calibrated at the wavelengths listed in the above table to provide both accurate display of the received optical waveform in optical power units and measurement of the signal's average power. A user optical channel calibration provides for consistent accuracy at any wavelength between 1480 nm � 1620 nm and 1300 nm � 1330 nm using an optical source and a precision optical power meter.

Optical Channel Calibrated Wavelengths
Module Option | Calibrated Wavelength | Reference Receivers | Unfiltered Bandwidth Setting
040 | 1300 nm and 1620 nm (default setting) | 39.813 Gb/s 43.018 Gb/s | 55, 60, and 65 GHz
025 | 1300 nm (default setting) and 1620 nm | 17.0 Gb/s 25.8 Gb/s 27.7 Gb/s | 40 GHz
Without 025 and 040 | 1550 nm | 39.813 Gb/s 43.018 Gb/s | 40, 45, and 65 GHz

The optical and electrical channels have reduced bandwidth settings for improved noise performance. The electrical channel provides up to 80 GHz of bandwidth for:

  • performing measurements on tributary electrical signals
  • evaluating receiver performance in transceiver testing
  • measurements with Keysight Technologies' wide range of external optical receivers
  • general purpose measurements

Use the module's front-panel knobs to adjust the vertical scale and the offset of the waveform.

As with all microwave connectors, take extreme care to protect the 1.85 mm input connector. Torque forces in excess of 5 in-lbs (0.57 N-M) and any shear or axial forces on the 1.85 mm input connector must be avoided. Use Keysight torque wrench part number 8710-1582. Always use two wrenches when connecting or disconnecting cables or devices from the 1.85 mm connector. Use one wrench on the 1.85 mm connector and the other wrench on the cable (adapter, attenuator, or DUT) attached to connector. If you over-torque the RF connector, the connector may unscrew from the remote head. This will require service. If a connector loosens from the remote head, contact an Keysight service center for repair.

Option IRC

Option IRC provides optical channel System Impulse Response Correction (SIRC) measurement and data files to provide an ideal channel response. SIRC data can be applied in the System Impulse Response Correction dialog box when the 86100D is in Standard or Compatibility configuration. The SIRC correction data feature is a digital filter that is used to:

  • Improve the response of module reference filters to more closely match an ideal receiver.
  • Enable non-standard reference receiver rates or bandwidths.
  • Increase the bandwidth of the channel by up to 50%.
  • Ensures that an eye diagram will look identical between different modules.

SIRC correction data is unique to a specific 86116C's serial number. The data can be purchased with new modules or purchased separately for your existing modules. Purchasing data for an existing module requires that the module be returned to Keysight Technologies. SIRC data is downloaded from Keysight.com. To order SIRC data, contact your Keysight representative or visit http://www.keysight.com/Find/FlexDCA.

See Also

  • Available Accessories
  • 86116C Module Specifications
  • Optical Channel Calibration
  • Care of 1.85 mm connectors
  • Modules

Note

The 86116C module requires an 86100D or 86100D mainframe. This module is not compatible with an 86100A or 86100B.

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
5065-4642 | 1.85 mm (f-f) adapter/connector saver (qty 1)
86116-20010 | 1.85 mm shipping cap (qty 1)

Available Options

Item | Description
86116C-IRC | Provides optical channel System Impulse Response Correction (SIRC) measurement and data files to provide an ideal channel response.
86116C-025 | 40 GHz opt. / 80 GHz elec. channels, 17.0/25.8/27.7 Gb/s reference receiver.
86116C-040 | 65 GHz opt. / 80 GHz elec. channels, 39.8/43.0 Gb/s reference receiver
86116C-041 | 65 GHz opt. / 80 GHz elec. channels, 39.8/41.25/43.0 Gb/s reference receiver
86116C-201 | 15 cm 1.85mm semi rigid cable
86116C-UK6 | Commercial calibration certificate with test data


86117A Dual Electrical Module

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.03.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

The electrical module provides two accurate measurement channels with user selectable bandwidths. The electrical module provides user-selectable 30 or 50 GHz bandwidth and 2.4 mm (m) connectors.

See Also

  • Available Accessories
  • 86117A Module Specifications
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
11900B | 2.4 mm (f-f) adapter/connector saver (qty 2)
54124-24101 | 2.4 mm shipping cap (qty 2)

Available Options

Item | Description
86117A-UK6 | Measured performance data

Available Accessories

Item | Description
11667B | Power Splitter, DC to 26.5 GHz, APC 3.5 mm
11667C | Power Splitter, DC to 50 GHz, 2.4 mm
11742A-K01 | Blocking Capacitor, 45MHz - 26.5GHz APC 3.5mm (m-f) connectors
54008B | 24 ns delay line


86117B Dual Module

Note

This module is no longer sold and has been obsoleted.

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.03.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Compatibility
  • Legacy

The 86117B electrical module provides two accurate measurement channels with user selectable bandwidths. The module provides user-selectable 50 or 65 GHz bandwidth and 1.85 mm connectors.

See Also

  • Available Accessories
  • 86117B Module Specifications
  • Modules

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
5065-4642 | 1.85 mm (f-f) adapter/connector saver (qty 2)
86116-20010 | 1.85 mm shipping cap (qty 2)

Available Options

Item | Description
86117B-UK | Measured performance data


86118A Remote Sampling Head Module

Minimum Firmware Version

The minimum required 86100-series firmware version for this module is A.03.03.

Compatible Configurations

This module is compatible with the following 86100D configurations:

  • Standard
  • Compatibility
  • Legacy

The 86118A electrical plug-in module provides remote sampling heads and measurement channels, for the instrument mainframe. Each of the remote heads of the 86118A utilizes 1.85 mm connectors (1 mm connectors for option H02). This module scales the input signal, sets the bandwidth of the system, and allows the offset to be adjusted so the signal can be viewed. The output of the module is an analog signal that is applied to the ADCs on the acquisition boards inside the mainframe. It is not recommended to use the 86118A with the 11898A extender module.

The 86118A remote heads contain the sampling electronics. The remote heads can be placed up to two meters from the instrument mainframe. This design makes it easy to connect to probe stations or the device under test (DUT) with very short or no cabling. By using a reduced amount of cabling, measurement degradation is minimized. The result is more accurate high-speed electrical measurements.

The 86118A plug-in module provides two accurate measurement channels with user selectable 50 or 70 GHz bandwidths. The amplitude and phase frequency response of both channels provide wide bandwidth, and high-fidelity time domain response. The lower bandwidth mode provides excellent oscilloscope noise performance for accurate measurement of small signals. The high bandwidth mode provides high-fidelity display and measurement of very high-speed waveforms.

The 86118A's RF inputs are very sensitive to ESD. The 1.85 mm RF connectors require special care.

See Also

  • Available Accessories
  • 86118A Module Specifications
  • Modules

86118A Calibration

Unlike other modules, always attach a connector saver or cable to the input connectors before calibrating an 86118A. Do not provide any signal. Because each remote head's sampler is located near the input connector, this technique improves calibration accuracy by increasing thermal stability and by eliminating sampler reflections as explained in the following text. The mass of the cable or connector saver affects the sampler thermal equalibrium of your test setup. Even small temperature changes during calibration can affect sampler bias levels which in turn affect bandwidth and amplitude accuracy. Every time a sampler fires, it sends a small amount of energy towards the remote head's input connector. This is normal and common in all instruments that employ a sampler directly connected to the input. Without a connector saver or cable connected, this energy reflects back so quickly that it affects the sampled calibration value. Any cable ≥1 inch (2.54 cm) long or even an 86118A-101/2/3 connector saver, sufficiently extends the round trip time to eliminate this issue. It is not necessary to terminate the far end of the cable or connector saver.

In the module calibration dialog box, a positive ΔT value indicates how many degrees warmer the current mainframe temperature is compared to the temperature of the mainframe at the time of the last module calibration. For 86118A modules, a positive ΔT value indicates how many degrees warmer the current remote head temperature is compared to the temperature of the remote head at the time of the last module calibration.

Deskew Remote Sampling Heads on 86118A-H01 Modules

To automatically remove any difference in the electrical lengths between the two remote sampling head cables, use Auto Deskew located in the Differential Advanced Setup dialog box. Option H01 adds hardware skew capability and software control features for users who need skew adjustment to measure eye diagrams of differential signals. The skew adjustment of the module is limited to about 215 ps per channel. The 86100D introduces as much as 65 ps of internal skew. This means that the maximum allowable skew between the input signals is 150 ps at the RF inputs to the two remote sampling heads. You can also manually enter horizontal skew for each individual channel using each Channel's Advanced Setup dialog box.

Before Using the 86118A Module

Please review the following information prior to using the 86118A module.

Stabilizing the Temperature

Each remote head represents a relatively small thermal mass and meets specifications over a ±5°C range from the last calibration temperature, measured by the internal temperature sensor and reported in the All Calibrations dialog box. Factors other than the ambient air temperature will affect the operating temperature of the remote head. These factors include air currents and the temperature and thermal mass of objects in contact with the remote head. You must ensure the temperature of the 86118A module is stabilized prior to calibrating the module and making measurements. As with all plug-in modules, the temperature is stabilized after 1 hour of continuous operation. The preferred method to stabilize the temperature of the 86118A is to set up the module and remote heads in the configuration or fixture that will be used to make measurements. This includes connecting the device under test (DUT) to the remote heads.

Note

The temperature, thermal mass, and thermal conductivity of the DUT will affect the internal temperature of the remote head. A DUT that is significantly different in temperature than the remote head will add thermal mass, which may increase or decrease the temperature stabilization time.

When the internal temperature is stabilized, disconnect the DUT and perform a module calibration. If you move the remote head to a location that is thermally different than the location in which it was stabilized, you will have to wait for the temperature to stabilize again, and then calibrate the module before making measurements. For example, if the remote head is placed on a workbench for an hour, and then mounted on a cool metal fixture to make measurements, the temperature of the sampling head will begin to drop, possibly out of the ±5°C range.

Identifying Thermal Equilibrium

To identify thermal equilibrium of the remote heads, choose All Calibrations from the Calibrate menu. The All Calibrations dialog box opens. Click Modules. Each installed channel displays Cal ΔT. Note the ΔT value, and close the dialog box. Wait one minute then open the All Calibrations dialog box again. Note the new value for ΔT. If this value changes more than 0.5°C, the channel is not at thermal equilibrium. If the reported value is >5°C, the module will need to be calibrated.

Note

For very high speed signals (for example, 10 ps edges), if thermal equilibrium has not been reached, the rising and falling edges will appear to move on the horizontal axis of the display screen. If during the one minute of elapsed observation time the remote head is not moved, but the displayed signal shifts to the left or right, the channel is not thermally stable. The remote head cable should be mechanically stabilized during this observation, otherwise the displayed signal may show some movement due to slight phase changes in the cable.

Secure the Remote Heads

You should secure the remote head so that mass of the cable will not pull the remote head off a benchtop or out of a test fixture. You can coil or fasten the cables with cable ties to ensure the remote head remains in a position in which there is no strain on the RF input cables and connectors. You can create a mounting fixture for the remote heads. On the remote head's side cover there are three screw holes for M3 size screws. These holes are provided for mounting the remote head to a test fixture. It is important to consider the thermal properties of the remote head when designing a fixture. Larger fixtures will increase the thermal mass of the remote head, which will increase the time the remote head takes to reach thermal equilibrium.

Figure. Remote Sampling Head with Mounting Holes (Not to Scale)

Stability of the Remote Head during Measurements

The remote head cable carries the high frequency content of the timebase signal. Changes to the physical shape of the cable (for example, bending or twisting) may horizontally skew the signal on the display screen. Changes in the shape of the cable cause variations in the effective electrical length of the cable, which translates directly to horizontal timing variations. This is important to be aware of when making jitter measurements. Vibration is similar to cable movement. Vibrating the cable may also horizontally skew the signal on the display screen. Temperature changes can also result in timing variations. A temperature change of 1°C theoretically results in an approximate 200 fs change in electrical length. This electrical length change is due to the thermal expansion and contraction of the remote head cable.

As with all microwave connectors, take extreme care to protect the 1.85 mm input connector. Torque forces in excess of 5 in-lbs (0.57 N-M) and any shear or axial forces on the 1.85 mm input connector must be avoided. (4 in-lbs for Option H02 1.0 mm connectors.) Use Keysight torque wrench part number 8710-1582. Always use two wrenches when connecting or disconnecting cables or devices from the 1.85 mm connector. Use one wrench on the 1.85 mm connector of the remote head, and the other wrench on the cable (adapter, attenuator, or DUT) attached to connector. If you over-torque the RF connector, the connector may unscrew from the remote head. This will require service. If a connector loosens from the remote head, contact an Keysight service center for repair.

Removing Module for Transport or Storage

Before removing the module from the mainframe, coil the remote head cables. This will reduce the possibility of dropping one or both remote heads.

Supplied Accessories

Item | Description
— | Infiniium DCA Documentation CD
5962-5965 | Infiniium DCA Keysight 86100 Series 1.85mm Connector Reference Manual
86116-20010 | 1.85 mm shipping cap (qty 2)
86118A-101 | 1.85mm (m-m) adapters (qty 2) - Default option
86118A-102 | 1.85mm (m-f) adapter (qty 1) and 1.85mm (m-m) adapter (qty 1)
86118A-103 | 1.85mm (m-f) adapters (qty 2)
 | 1.85 mm Connector Information

Available Options

Item | Description
86118A-201 | 15cm 1.85mm rigid coaxial cable (qty 1)
86118A-H01 | Provides <65 ps of channel skew and alignment capabilities within 150 ps.
86118A-H02 | Front-panel input connectors are 1.0 mm.
86118A-UK6 | Commercial calibration certificate with test data


N1045A Electrical Remote Sampling Head Module

COMPATIBLE CONFIGURATIONS

This module is compatible with the following 86100D configurations:

  • Standard

The N1045A electrical sampling head module provides 2 or 4 measurement channels with either 1.85 male or female RF input connectors. The module occupies only one of the four module slots on the 86100D. Because the N1045A remote heads contain the sampling electronics, the distance between the sampling and the probe stations or the device under test (DUT) can be made with very short or without cabling. By using a reduced amount of cabling, measurement degradation is minimized. The result is more accurate high-speed electrical measurements. This module scales the input signal, sets the bandwidth of the system, and allows the offset to be adjusted so the signal can be viewed. The output of the module is an analog signal that is applied to the ADCs on the acquisition boards inside the mainframe.

When four N1092D DCA-M optical sampling oscilloscopes are connected to an 86100D that has four N1045A-04X mini-modules, you have a total of 16 optical channels and 16 electrical channels. All of the 32 channels can be displayed at the same time.

Minimum Firmware Version

This module requires the minimum required FlexDCA firmware version A.02.00.

The maximum input voltage is ±2V.

The maximum torque for the RF Input connector is 8 lb-in (90 N-cm).

Before removing the module from the 86100D, coil the remote head cables. This reduces the possibility of dropping one or both remote heads.

See Also

  • Fixture Deskew
  • N1045A Module Specifications
  • Available Accessories
  • Modules

To Deskew the Remote Sampling Heads

The following deskews are available:

  • Skew calibration in the Calibration dialog box which removes any difference in the electrical lengths between the two remote sampling head cables.
  • Auto Deskew located in the Differential Advanced Setup dialog box which quickly deskews a differential signal for skew introduced by fixtures, the device-under-test and the source.
  • Hardware Skew in the Advanced Setup dialog box which manually enters horizontal skew for an individual channel.

Changing the N1045A's bandwidth after performing any of the above three deskews degrades the applied deskew. If you need to change the module's BW while observing the DUT, use an Instrument Setup:

  1. Connect the remote heads to the DUT.
  2. For each BW setting:
    1. Select the module's BW setting.
    2. Perform the Auto Deskew.
    3. Save the Instrument Setup. (File > Save > Instrument Setup)
  3. Recall the Instrument Setup for the desired measurement BW. (File > Open Instrument Setup)

Remote Sampling Head Connectors

The N1045A comes with either two 1.85 mm remote sampling heads (options 02M or 02F) or four 1.85 mm remote heads (options 04M or 04F). Option 02M and 04M connections are male center contacts and female outside threads. Option 02F and 04F connections are female center contacts and male outside threads. Be sure to use proper RF connection techniques when making connections to the 1.85 mm connectors.

Keeping Your Test Setup Organized

If you install four N1045A modules, each with four remote heads, you'll have a total of 16 channel-input cables in your test setup. To help you manage all these cables and inputs, the module comes with a channel identification head LED, cable management clips, and head clips. The color of the head LED matches the color of the associated channel waveform.

Note

Due to the color variation in LEDs, there may be a slight color variation between the waveform and the head's light.

Twenty-four cable clips, six each of yellow, red, blue, and green, are provided to keep differential cables together thus reducing cable tangling. The clip's color can also be used to associate a single head or differential pair of heads with a module slot.

Head brackets snap over two heads to connect them together. This is especially useful when making differential measurements.

Calibration

Unlike other modules, always attach a connector saver or cable to the input connectors before calibrating an N1045A. Do not provide any signal. Because each remote head's sampler is located near the input connector, this technique improves calibration accuracy by increasing thermal stability and by eliminating sampler reflections as explained in the following text. The mass of the cable or connector saver affects the sampler thermal equalibrium of your test setup. Even small temperature changes during calibration can affect sampler bias levels which in turn affect bandwidth and amplitude accuracy. Every time a sampler fires, it sends a small amount of energy towards the remote head's input connector. This is normal and common in all instruments that employ a sampler directly connected to the input. Without a connector saver or cable connected, this energy reflects back so quickly that it affects the sampled calibration value. Any cable ≥1 inch (2.54 cm) long or even a connector saver, sufficiently extends the round trip time to eliminate this issue. It is not necessary to terminate the far end of the cable or connector saver.

In the module calibration dialog box, a positive ΔT value indicates how many degrees warmer the current mainframe temperature is compared to the temperature of the mainframe at the time of the last module calibration. For N1045A modules, a positive ΔT value indicates how many degrees warmer the current remote head temperature is compared to the temperature of the remote head at the time of the last module calibration.

Monitoring a Head's Thermal Equilibrium

To monitor the thermal equilibrium of a remote head:

  1. Click Tools > Calibrations on FLexDCA's menu to open the Calibrations dialog box.
  2. Click the N1045A tab.
  3. Click the Details button for the remote head's channel. This views the following Vertical Calibration Details:
    • Temperature change in °C for the remote head since the last calibration.
    • "The temperature has changed by more than 5.00°C" is displayed if module needs to be calibrated.

Wait one minute then open the All Calibrations dialog box again. If the temperature changes more than 0.5°C, the channel is not at thermal equilibrium.

Remote Monitoring

To monitor the remote head's change in temperature using remotely, use the :CALibrate:CHANnel:STATus:DTEMperature? query. You can also locate the command in the Interactive SCPI Command Tree and click the Query button.

Note

For very high speed signals (for example, 10 ps edges), if thermal equilibrium has not been reached, the rising and falling edges will appear to move on the horizontal axis of the display screen. If during the one minute of elapsed observation time the remote head is not moved, but the displayed signal shifts to the left or right, the channel is not thermally stable. The remote head cable should be mechanically stabilized during this observation, otherwise the displayed signal may show some movement due to slight phase changes in the cable.

Stabilizing the Temperature

Example Script

Click here to learn about a Python script for monitoring the remote head's temperature.

Each remote head represents a relatively small thermal mass and meets specifications over a ±5°C range from the last calibration temperature, measured by the internal temperature sensor and reported in the All Calibrations dialog box. Factors other than the ambient air temperature will affect the operating temperature of the remote head. These factors include air currents and the temperature and thermal mass of objects in contact with the remote head. You must ensure the temperature of the N1045A module is stabilized prior to calibrating the module and making measurements. As with all plug-in modules, the temperature is stabilized after 1 hour of continuous operation. The preferred method to stabilize the temperature of the N1045A is to set up the module and remote heads in the configuration or fixture that will be used to make measurements. This includes connecting the device under test (DUT) to the remote heads.

When the internal temperature is stabilized, disconnect the DUT and perform a module calibration. If you move the remote head to a location that is thermally different than the location in which it was stabilized, you will have to wait for the temperature to stabilize again, and then calibrate the module before making measurements. For example, if the remote head is placed on a workbench for an hour, and then mounted on a cool metal fixture to make measurements, the temperature of the sampling head will begin to drop, possibly out of the ±5°C range.

Note

The temperature, thermal mass, and thermal conductivity of the DUT will affect the internal temperature of the remote head. A DUT that is significantly different in temperature than the remote head will add thermal mass, which may increase or decrease the temperature stabilization time.

Recommendations

  • Ensure that the remote head's entire surface is never outside a 15°C to 35°C temperature range.
  • Verify temperatures using a thermometer. The hottest locations are likely close to the input connector and the center of the head's sides.
  • If possible, leave an air gap between remote heads.
  • Use forced airflow.
  • When designing a cooling system, anticipate that each remote head can generate between 1 and 3 Watts of heat.
  • Although the module's remote-head cable can sustain at least a 100 °C surface temperature, the cable's color might degrade if exposed to high temperatures for long periods of time. This does not damage the cable.

Secure the Remote Heads

To prevent the mass of the cable from pulling the remote head off a benchtop or out of a test fixture, five threaded mounting holes are provided as shown in the following picture. The five holes use M3 x 0.5 mm threads. Using these holes, you can attach the head to your own custom fixture. Or you can use an accessory universal bracket (N1027A-1PB) to attach the head to a probe positioner. It is important to consider the thermal properties of the remote head when designing a fixture. Larger fixtures increase the thermal mass of the remote head, which increases the time the remote head takes to reach thermal equilibrium.

The maximum torque for the mounting screws is 9 lb-in.

Figure. Dimensions for Mounting Holes and Screws

Figure. Dimensions of Head Protrusions

Figure. Dimensions for Two Heads Joined Together

Stability of the Remote Head Cables during Measurements

The remote head cable carries the high frequency content of the timebase signal. Changes to the physical shape of the cable (for example, bending or twisting) may horizontally skew the signal on the display screen. Changes in the shape of the cable cause variations in the effective electrical length of the cable, which translates directly to horizontal timing variations. This is important to be aware of when making jitter measurements. Vibration is similar to cable movement. Vibrating the cable may also horizontally skew the signal on the display screen. Temperature changes can also result in timing variations by adding femto or even pico seconds of change in electrical length. This electrical length change is due to the thermal expansion and contraction of the remote head cable. Use tape, cable ties, and the provided cable clips to stabilize the cables to minimize the affects of phase shift.

As with all microwave connectors, take extreme care to protect the 1.85 mm input connector. Torque forces in excess of 8 lb-in (90 N-cm) and any shear or axial forces on the 1.85 mm input connector must be avoided. Use Keysight torque wrench part number 8710-1582. Always use two wrenches when connecting or disconnecting cables or devices from the 1.85 mm connector. Use one wrench on the 1.85 mm connector of the remote head, and the other wrench on the cable (adapter, attenuator, or DUT) attached to connector. If you over-torque the RF connector, the connector may unscrew from the remote head. This will require service. If a connector loosens from the remote head, contact an Keysight service center for repair.

Supplied Accessories

Description | Quantity
Infiniium DCA documentation CD | 1
Module configuration card. | 1
1.85 mm protective cap for 02F and 02M options | 2
1.85 mm protective cap for 04F and 04M options | 4
Cable management clips. One each yellow, green, blue, red. | 4
Head clip | 2

Note

In the following tables, the terms (m) and (f) indicate the type of center contact, male or female respectively.

Note

1.85 mm and 2.4 mm connectors are mechanically compatible.

Options

Option | Description
N1045-02M | 2 Channel Remote Head with 1.85 mm (m) connectors.
N1045-02F | 2 Channel Remote Head with 1.85 mm (f) connectors.
N1045-04M | 4 Channel Remote Head with 1.85 mm (m) connectors.
N1045-04F | 4 Channel Remote Head with 1.85 mm (f) connectors.

Available Accessories Specific to the N1045A Module

Description | Item
Replacement cable management clips. Quantity 24, six each yellow, green, blue, and red. | N1027A-1CL
Replacement head clip. Quantity 1. | N1027A-2CL
Universal probe-head-to-probe-positioner bracket. The bracket is designed to fit over 1/4-inch diameter dowel on probe positioner. | N1027A-1PB
Protective cap for 1.85 mm female connector | N1027A-1CF
Protective cap, 1.85 mm male connector | N1027A-1CM
Adapter, 1.85 mm (f-f) | N1027A-1FF
Adapter, 1.85 mm (m-f) | N1027A-1MF
Adapter, 1.85 mm (m-m) | N1027A-1MM
Adapter, 2.4 mm (m) to 3.5 mm (m) | N1027A-23A
Adapter, 2.4 mm (f) to 3.5 mm (f) | N1027A-23B
Adapter, 2.4 mm (m) to 3.5 mm (f) | N1027A-23C
Adapter, 2.4 mm (f) to 3.5 mm (m) | N1027A-23D
2.4 mm DC block, 16V, 50 kHz to 50 GHz | N1027A-2DC
Accessory case | N1027A-1AC
Module storage case | N1027A-1MC


N1055A 30/50 GHz TDR/TDT Remote Sampling Head Module

COMPATIBLE CONFIGURATIONS

This module is compatible with the following 86100D configurations:

  • Standard

The N1055A 35/50-GHz (8 ps) time-domain reflectometry (TDR) and time-domain transmission (TDT) module provides fast, accurate impedance and S-parameter measurements on high-speed designs that have up to 16 ports. The 86100D DCA-X can be configured with one to four N1055A modules to provide a 2- to 16-channel TDR/TDT measurement system that is both economical and accurate. The 2/4 port TDR/TDT remote heads can be configured with a sampler bandwidth of 35 GHz or 50 GHz, providing single-ended and differential measurement capability including True-Mode stimulus functionality. Modules are shipped with a factory-performed TDR calibration for accurate measurements right out of the box. While a user-performed TDR calibration is optional, FlexDCA includes an integrated calibration wizard that dramatically enhances measurement accuracy by removing systematic imperfections in the instrumentation as well as the impact of adapters, cables, fixtures used to connect to the DUT. A special Keysight N4694A-HMM/HFF/HMF DC-67 GHz electronic calibration (ECal) module was developed for the DCA-TDR, making calibration fast, easy and accurate. The high-channel-count capability of the DCA-TDR solution minimizes cable reconnections and facilitates more efficient measurements in both R&D and high-volume test applications.

N1055A modules with Option FS1 include an increased module timebase sample rate (250 kSa/s) and TDR step repetition rate (1 kHz to 250 kHz). FlexDCA automatically selects the mainframe or module timebase based on the TDR DUT setup. Option FS1 is automatically included on all new N1055A modules.

Minimum Firmware Version

This module requires the following minimum required FlexDCA firmware version of A.04.00.

Note

Multiple module configurations require 86100D-ETR. 86100D-ETR is required if using an N1055A module to perform a TDT measurement using a separate DCA module (for example N1045A, N1055A, 86117A, etc.) as the receiver. In this configuration, 86100D Option ETR provides internal cabling for module synchronization.

The maximum input voltage is +2V / –1V.

The maximum torque for the RF Input connector is 8 lb-in (90 N-cm).

Before removing the module from the 86100D, coil the remote head cables. This reduces the possibility of dropping one or both remote heads.

Remote Sampling Head Connectors

The N1055A comes with either 2.92 mm or 1.85 mm port connectors, depending on the option. Both connection types can be ordered with male center contacts (female outside threads) or female center contacts (male outside threads). Be sure to use proper RF connection techniques when making connections to the these connectors.

Keeping Your Test Setup Organized

If you install four N1055A modules, each with four remote heads, you'll have a total of 16 heads and cables in your test setup. To help you manage all these cables and inputs, the module comes with a channel identification head LED, cable management clips, and head clips. The color of the head LED matches the color of the associated channel waveform.

Note

Due to the color variation in LEDs, there may be a slight color variation between the waveform and the head's light.

Twenty-four cable clips, six each of yellow, red, blue, and green, are provided to keep differential cables together thus reducing cable tangling. The clip's color can also be used to associate a single head or differential pair of heads with a module slot.

Head brackets snap over two heads to connect them together. This is especially useful when making differential measurements.

Calibration

Unlike other modules, always attach a connector saver or cable to the input connectors before calibrating an N1055A. Do not provide any signal. Because each remote head's sampler is located near the input connector, this technique improves calibration accuracy by increasing thermal stability and by eliminating sampler reflections as explained in the following text. The mass of the cable or connector saver affects the sampler thermal equalibrium of your test setup. Even small temperature changes during calibration can affect sampler bias levels which in turn affect bandwidth and amplitude accuracy. Every time a sampler fires, it sends a small amount of energy towards the remote head's input connector. This is normal and common in all instruments that employ a sampler directly connected to the input. Without a connector saver or cable connected, this energy reflects back so quickly that it affects the sampled calibration value. Any cable ≥1 inch (2.54 cm) long or even a connector saver, sufficiently extends the round trip time to eliminate this issue. It is not necessary to terminate the far end of the cable or connector saver.

In the module calibration dialog box, a positive ΔT value indicates how many degrees warmer the current mainframe temperature is compared to the temperature of the mainframe at the time of the last module calibration. For N1055A modules, a positive ΔT value indicates how many degrees warmer the current remote head temperature is compared to the temperature of the remote head at the time of the last module calibration.

Stabilizing the Temperature

Example Script

Click here to learn about a Python script for monitoring the remote head's temperature.

Each remote head represents a relatively small thermal mass and meets specifications over a ±5°C range from the last calibration temperature, measured by the internal temperature sensor and reported in the All Calibrations dialog box. Factors other than the ambient air temperature will affect the operating temperature of the remote head. These factors include air currents and the temperature and thermal mass of objects in contact with the remote head. You must ensure the temperature of the N1045A module is stabilized prior to calibrating the module and making measurements. As with all plug-in modules, the temperature is stabilized after 1 hour of continuous operation. The preferred method to stabilize the temperature of the N1045A is to set up the module and remote heads in the configuration or fixture that will be used to make measurements. This includes connecting the device under test (DUT) to the remote heads.

When the internal temperature is stabilized, disconnect the DUT and perform a module calibration. If you move the remote head to a location that is thermally different than the location in which it was stabilized, you will have to wait for the temperature to stabilize again, and then calibrate the module before making measurements. For example, if the remote head is placed on a workbench for an hour, and then mounted on a cool metal fixture to make measurements, the temperature of the sampling head will begin to drop, possibly out of the ±5°C range.

Note

The temperature, thermal mass, and thermal conductivity of the DUT will affect the internal temperature of the remote head. A DUT that is significantly different in temperature than the remote head will add thermal mass, which may increase or decrease the temperature stabilization time.

Recommendations

  • Ensure that the remote head's entire surface is never outside a 15°C to 35°C temperature range.
  • Verify temperatures using a thermometer. The hottest locations are likely close to the input connector and the center of the head's sides.
  • If possible, leave an air gap between remote heads.
  • Use forced airflow.
  • When designing a cooling system, anticipate that each remote head can generate between 1 and 3 Watts of heat.
  • Although the module's remote-head cable can sustain at least a 100 °C surface temperature, the cable's color might degrade if exposed to high temperatures for long periods of time. This does not damage the cable.

Monitoring a Head's Thermal Equilibrium

To monitor the thermal equilibrium of a remote head:

  1. Click Tools > Calibrations on FLexDCA's menu to open the Calibrations dialog box.
  2. Click the N1055A tab.
  3. Click the Details button for the remote head's channel. This views the following Vertical Calibration Details:
    • Temperature change in °C for the remote head since the last calibration.
    • "The temperature has changed by more than 5.00°C" is displayed if module needs to be calibrated.

Wait one minute then open the All Calibrations dialog box again. If the temperature changes more than 0.5°C, the channel is not at thermal equilibrium.

Remote Monitoring

To monitor the remote head's change in temperature using remotely, use the :CALibrate:CHANnel:STATus:DTEMperature? query. You can also locate the command in the Interactive SCPI Command Tree and click the Query button.

Note

For very high speed signals (for example, 10 ps edges), if thermal equilibrium has not been reached, the rising and falling edges will appear to move on the horizontal axis of the display screen. If during the one minute of elapsed observation time the remote head is not moved, but the displayed signal shifts to the left or right, the channel is not thermally stable. The remote head cable should be mechanically stabilized during this observation, otherwise the displayed signal may show some movement due to slight phase changes in the cable.

Secure the Remote Heads

To prevent the mass of the cable from pulling the remote head off a benchtop or out of a test fixture, five threaded mounting holes are provided as shown in the following picture. The five holes use M3 x 0.5 mm threads. Using these holes, you can attach the head to your own custom fixture. Or you can use an accessory universal bracket (N1027A-1PB) to attach the head to a probe positioner. It is important to consider the thermal properties of the remote head when designing a fixture. Larger fixtures increase the thermal mass of the remote head, which increases the time the remote head takes to reach thermal equilibrium.

The maximum torque for the mounting screws is 9 lb-in.

Figure. Dimensions for Mounting Holes and Screws

Figure. Dimensions of Head Protrusions

Figure. Dimensions for Two Heads Joined Together

Stability of the Remote Head Cables during Measurements

The remote head cable carries the high frequency content of the timebase signal. Changes to the physical shape of the cable (for example, bending or twisting) may horizontally skew the signal on the display screen. Changes in the shape of the cable cause variations in the effective electrical length of the cable, which translates directly to horizontal timing variations. This is important to be aware of when making jitter measurements. Vibration is similar to cable movement. Vibrating the cable may also horizontally skew the signal on the display screen. Temperature changes can also result in timing variations by adding femto or even pico seconds of change in electrical length. This electrical length change is due to the thermal expansion and contraction of the remote head cable. Use tape, cable ties, and the provided cable clips to stabilize the cables to minimize the affects of phase shift.

As with all microwave connectors, take extreme care to protect the 1.85 mm input connector. Torque forces in excess of 8 lb-in (90 N-cm) and any shear or axial forces on the 1.85 mm input connector must be avoided. Use Keysight torque wrench part number 8710-1582. Always use two wrenches when connecting or disconnecting cables or devices from the 1.85 mm connector. Use one wrench on the 1.85 mm connector of the remote head, and the other wrench on the cable (adapter, attenuator, or DUT) attached to connector. If you over-torque the RF connector, the connector may unscrew from the remote head. This will require service. If a connector loosens from the remote head, contact an Keysight service center for repair.

Supplied Accessories

Description | Quantity
Infiniium DCA documentation CD | 1
Module configuration card. | 1
Torque Wrench. 8 lb-in, 5/16 in | 1
Protective Caps for 2.92 mm, female (provided with options 32F and 34F. | 2 or 4
Protective Caps for 2.92 mm, male (provided with options 32M and 34M. | 2 or 4
Protective Caps for 1.85 mm, female (provided with options 52F and 54F. | 2 or 4
Protective Caps for 1.85 mm, male (provided with options 52M and 54M. | 2 or 4
1.85 mm protective cap for 04F and 04M options | 4
Cable Management Clips. Six each yellow, green, blue, red. | 24
Remote Head Clip | 2

Note

In the following tables, the terms (m) and (f) indicate the type of center contact, male or female respectively.

Note

1.85 mm and 2.4 mm connectors are mechanically compatible.

Options

Option | Description
N1055A-32M | 35 GHz BW, 2 Channel Remote Head with 2.92 mm (m) connectors. Upgradable from 2 channel to 4 channel after purchase (return to Keysight). Upgradable from 35 GHz to 50 GHz after purchase (return to Keysight).
N1055A-32F | 35 GHz BW, 2 Channel Remote Head with 2.92 mm (f) connectors. Upgradable from 2 channel to 4 channel after purchase (return to Keysight). Upgradable from 35 GHz to 50 GHz after purchase (return to Keysight).
N1055A-34M | 35 GHz BW, 4 Channel Remote Head with 2.92 mm (m) connectors. Upgradable from 35 GHz to 50 GHz after purchase (return to Keysight).
N1055A-34F | 35 GHz BW, 4 Channel Remote Head with 2.92 mm (f) connectors. Upgradable from 35 GHz to 50 GHz after purchase (return to Keysight).
N1055A-52M | 50 GHz BW, 2 Channel Remote Head with 1.85 mm (m) connectors. Upgradable from 2 channel to 4 channel after purchase (return to Keysight).
N1055A-52F | 50 GHz BW, 2 Channel Remote Head with 1.85 mm (f) connectors. Upgradable from 2 channel to 4 channel after purchase (return to Keysight).
N1055A-54M | 50 GHz BW, 4 Channel Remote Head with 1.85 mm (m) connectors.
N1055A-54F | 50 GHz BW, 4 Channel Remote Head with 1.85 mm (f) connectors.
N1055A-FS1 | Fast sample rate. Sample rate (module timebase) is 250 kSa/s (characteristic). TDR step repetition rate is 1 kHz to 250 kHz (characteristic). Refer to N1055A module specifications for details.

Available Calibration Kits

Model | Description
Electronic Calibration (ECal) Modules
N4694A-HMM | ECal module, DC-67 GHz, 1.85 mm, male-male
N4694A-HFF | ECal module, DCA-67 GHz, 1.85 mm, female-female
N4694A-HMF | ECal module, DCA-67 GHz, 1.85 mm, male-female
Mechanical Calibration Kits
85033D | 3.5mm calibration kit, 30 kHz to 6 GHz
85033E | Standard mechanical calibration kit, DC to 9 GHz, 3.5 mm
85052B | Standard mechanical calibration kit, DC to 26.5 GHz, 3.5 mm
85052C | Precision mechanical calibration kit, DC to 26.5 GHz, 3.5 mm
85052D | Economy mechanical calibration kit, DC to 26.5 GHz, 3.5 mm
85056A | Standard mechanical calibration kit, DC to 50 GHz, 2.4 mm
85056D | Economy mechanical calibration kit, DC to 50 GHz, 2.4 mm
85056K | Mechanical calibration kit, DC to 50 GHz, 2.4 mm and 2.92 mm
85058B | Standard mechanical calibration kit, DC to 67 GHz, 1.85 mm
85058E | Economy mechanical calibration kit, DC to 67 GHz, 1.85 mm

Available Accessories Specific to the N1055A Module

Description | Item
Replacement cable management clips. Quantity 24, six each yellow, green, blue, and red. | N1027A-1CL
Replacement head clip. Quantity 1. | N1027A-2CL
Universal probe-head-to-probe-positioner bracket. The bracket is designed to fit over 1/4-inch diameter dowel on probe positioner. | N1027A-1PB
Protective cap for 1.85 mm female connector | N1027A-1CF
Protective cap, 1.85 mm male connector | N1027A-1CM
Adapter, 1.85 mm (f-f) | N1027A-1FF
Adapter, 1.85 mm (m-f) | N1027A-1MF
Adapter, 1.85 mm (m-m) | N1027A-1MM
Adapter, 2.4 mm (m) to 3.5 mm (m) | N1027A-23A
Adapter, 2.4 mm (f) to 3.5 mm (f) | N1027A-23B
Adapter, 2.4 mm (m) to 3.5 mm (f) | N1027A-23C
Adapter, 2.4 mm (f) to 3.5 mm (m) | N1027A-23D
Coaxial cable. 1.85 mm, M/M, 67 GHz, 10 cm long | N1027A-1C1
Accessory case | N1027A-3AC
Module storage case | N1027A-3MC

See Also

  • Fixture Deskew
  • N1055A Module Specifications
  • Available Accessories
  • Modules


86108A Block Diagram

Click different areas of this picture!


86108A Front Panel

Click different areas of this picture!


86108A A/D Converter & Memory

The A/D converter tracks the peak value of the analog pulse at its input and converts it to a 12-bit digital word. These 12-bit words are put into a FIFO memory, then read and processed by the microprocessor through the CAL tables.

  • Return to block diagram


86108A Auxiliary Input

This 86108A Option 400 front-panel input can provide improved performance in the following situations:

  • Marginal Input Signals
  • Improved Phase Noise Measurements
  • Measurements on Data Rates Above the 14.2 Gb/s Channel Input Limits

Marginal Input Signal

The Auxiliary Input can be used to reduce unwanted jitter that can occur on the recovered clock under the following situations:

  • Low amplitude data or clock signals input to the CH1/CDR− or CH2/CDR+ front-panel input connectors.
  • Signals that have excessive noise on slow edges.

This unwanted jitter is caused by AM-to-PM conversion inside the 86108A and can appear on measurements of the input signal. To reduce this effect, provide a separate, synchronous signal to the front-panel Aux Input. This provides a larger signal from which to recover a clock. The result is a cleaner recovered clock signal and lower measured jitter.

Improved Phase Noise Measurements

When using the 86100D-400 PLL and Jitter Spectrum software, you can use the Aux Input to yield more accurate phase noise measurements. Since the Aux Input bypasses the pick-off circuits used on the CH1/CDR− or CH2/CDR+ input, a larger signal is provided to the clock-recovery circuit.

Measurements on Data Rates Above 14.2 Gb/s Channel Input Limits

For clock recovery, the maximum input to the front-panel CH1/CDR− or CH2/CDR+ input connectors is 14.2 Gb/s. To perform measurements on signals having higher bit-rate, connect a sub-rate reference clock to the Aux Input (for example, 468.75 MHz sub-rate clock for 15 Gb/s data). This technique can also be used for low-amplitude input signals. The input range for the Aux Input is 50 Mb/s to 14.2 Gb/s.


86108A CAL Table

The CAL table automatically adds the calibration factors to the sampled data. The result is referred to as adjusted data, and it is sent to the system bus. The CAL table increases the throughput of the analyzer because the microprocessor reads calibrated data. However, the microprocessor does not have to explicitly correct the data. This process is faster than using an alternate software solution.

  • Return to block diagram


86108A Clock Data Recovery

When an external trigger signal is unavailable, you can use clock recovery to derive a either a recovered clock or data trigger. The recovered trigger is routed to the mainframe via the module's rear panel. Clock recovery can also perform the task of regenerating data and, as with the recovered clock, is made available at the module's front panel. This allows the module to serve as a multi-rate reference receiver as well as generating trigger signals for waveform measurements. If you select to use an external precision timebase reference, the clock data recovery is turned off.

  • Return to block diagram


86108A 90-Degree Hybrid

The 90-degree hybrid coupler converts the clock input into two sine waves in quadrature; there is a nominal 90-degree phase difference between the two sine waves. These sine waves are sampled to determine within one clock period the time of the simultaneous acquisition of a sampled data point.

  • Return to block diagram


86108A Electrical Channels

Electrical channels (CH1/CDR- and CH2/CDR+) and clock-data recovery input. These input use 3.5 mm connectors.

  • Return to front-panel diagram


86108A External Time Ref In

Connect the synchronous reference clock to this input when the 86108A precision timebase function is turned on and the precision timebase is set to External in the Precision Timebase dialog box.

  • Return to front-panel diagram


86108A IF Amplifier

The IF amplifier senses the voltage on the sampling capacitor. It then conditions this voltage to prepare the voltage for digitizing in the A/D converter.

  • Return to block diagram


86108A Interface

The plug-in module interface circuitry accepts commands from the instrument microprocessor to control the module. These commands include IF gain, sampler bandwidth, and optical channel bandwidth. EEPROMs within the module provide the instrument microprocessor with module calibration factors as well as information on the type of plug-in module that is installed.

  • Return to block diagram


86108A Microprocessor and Display sections

The microprocessor translates the sample points from the CAL tables and performs any post processing you have selected before drawing the sample points on the display.

  • Return to block diagram


86108A Precision Timebase

The precision timebase is an alternate timebase source for the instrument. Normally, an external trigger is required to synchronize data samples with the input waveform. As an alternative, the precision timebase provides a stable reference clock that is synchronous to the input signal thus providing a reference for time calculations. This improves jitter performance and timebase linearity. Sampling is random and the precision timebase precisely identifies the timing of each random sample. You can select between an internal timebase or you can provide either a full or sub-rate reference clock via the front panel. The external time reference must be as clean of a sine wave as possible. Some internal filtering is provided within certain bands.

  • Return to block diagram


86108A Pulse Filter

The pulse filter transforms the low repetition rate trigger pulse from the mainframe into a narrow impulse that drives the sampler. The width of this impulse must be as narrow as possible because it directly affects the bandwidth of the vertical channel.

  • Return to block diagram


86108A Recovered Clk Output

This SMA connector provides an auxiliary recovered clock output for triggering the instrument (via the front-panel trigger) when using pattern lock or Jitter Mode with clock rates less than 400 Mb/s. Also use this output to trigger other test equipment such as Bit Error Ratio Testers. The output is a full rate clock for data rates up to 7.1 Gb/s and a half rate clock for higher data rates.

  • Return to front-panel diagram


86108A Sampler

The sampler consists of a diode gate and sampling capacitor. The incoming signal is applied to the input of the diode gate, which is normally biased off. When a trigger event occurs, the pulse filter produces a pulse that momentarily forward biases the gate and allows the input signal to charge the capacitor. On an optical module, the O/E conversion and SONET/SDH filtering occur ahead of the sampler.

  • Return to block diagram


86108A Sequential Delay Generator

The sequential delay generator controls the time between when it receives a trigger input from the trigger generator and when it sends a trigger output to the pulse filter. These delay times increase sequentially with each trigger event, allowing the trace to build up from left to right across the display screen. The delay values depend on the record length and time base setting. The values are programmed into the sequencer memory by the system microprocessor.

  • Return to block diagram


86108A Sync Output

This output is provided for a possible for future use. It is not recommended that it be used at this time.

  • Return to front-panel diagram


86108A Trigger Generator

The trigger generator receives the trigger input. It then sends a signal to the sequential delay generator. The trigger is enabled when a waveform edge meeting the trigger criteria is received. Depending on the instrument setup, the trigger input can originate from the front panel, left or right module (clock recovery), or an external time reference when using a precision timebase module. Or, the trigger can be set to freerun.

  • Return to block diagram


86108A Vertical Scale & Position

Turn the scale knobs to adjust the waveform's scale. Adjusting the scale changes the sensitivity of the instrument.

Turn the position knobs to adjust the offset value (vertical position) of the waveform on the display screen without modifying the waveform itself. The offset value represents an absolute value on the instrument display.

  • Return to front-panel diagram


86108B Block Diagram

Click different areas of this picture!


86108B Front Panel

Click different areas of this picture!


86108B A/D Converter & Memory

The A/D converter tracks the peak value of the analog pulse at its input and converts it to a 12-bit digital word. These 12-bit words are put into a FIFO memory, then read and processed by the microprocessor through the CAL tables.

  • Return to block diagram


86108B Auxiliary Input

This 86108B Option 400 front-panel input can provide improved performance in the following situations:

  • Marginal Input Signals
  • Improved Phase Noise Measurements
  • Measurements on Data Rates Above the 14.2 Gb/s Channel Input Limits

Marginal Input Signal

The Auxiliary Input can be used to reduce unwanted jitter that can occur on the recovered clock under the following situations:

  • Low amplitude data or clock signals input to the CH1/CDR− or CH2/CDR+ front-panel input connectors.
  • Signals that have excessive noise on slow edges.

This unwanted jitter is caused by AM-to-PM conversion inside the 86108A and can appear on measurements of the input signal. To reduce this effect, provide a separate, synchronous signal to the front-panel Aux Input. This provides a larger signal from which to recover a clock. The result is a cleaner recovered clock signal and lower measured jitter.

Improved Phase Noise Measurements

When using the 86100D-400 PLL and Jitter Spectrum software, you can use the Aux Input to yield more accurate phase noise measurements. Since the Aux Input bypasses the pick-off circuits used on the CH1/CDR− or CH2/CDR+ input, a larger signal is provided to the clock-recovery circuit.

Measurements on Data Rates Above 14.2 Gb/s Channel Input Limits

For clock recovery, the maximum input to the front-panel CH1/CDR− or CH2/CDR+ input connectors is 14.2 Gb/s. To perform measurements on signals having higher bit-rate, connect a sub-rate reference clock to the Aux Input (for example, 468.75 MHz sub-rate clock for 15 Gb/s data). This technique can also be used for low-amplitude input signals. The input range for the Aux Input is 50 Mb/s to 14.2 Gb/s.


86108B CAL Table

The CAL table automatically adds the calibration factors to the sampled data. The result is referred to as adjusted data, and it is sent to the system bus. The CAL table increases the throughput of the analyzer because the microprocessor reads calibrated data. However, the microprocessor does not have to explicitly correct the data. This process is faster than using an alternate software solution.

  • Return to block diagram


86108B Clock Data Recovery

When an external trigger signal is unavailable, you can use clock recovery to derive a either a recovered clock or data trigger. The recovered trigger is routed to the mainframe via the module's rear panel. Clock recovery can also perform the task of regenerating data and, as with the recovered clock, is made available at the module's front panel. This allows the module to serve as a multi-rate reference receiver as well as generating trigger signals for waveform measurements. If you select to use an external precision timebase reference, the clock data recovery is turned off.

  • Return to block diagram


86108B 90-Degree Hybrid

The 90-degree hybrid coupler converts the clock input into two sine waves in quadrature; there is a nominal 90-degree phase difference between the two sine waves. These sine waves are sampled to determine within one clock period the time of the simultaneous acquisition of a sampled data point.

  • Return to block diagram


86108B Electrical Channels

Electrical channels (CH1/CDR- and CH2/CDR+) and clock-data recovery input. These input use 3.5 mm connectors.

  • Return to front-panel diagram


86108B External Time Ref In

Connect the synchronous reference clock to this input when the 86108A precision timebase function is turned on and the precision timebase is set to External in the Precision Timebase dialog box.

  • Return to front-panel diagram


86108B IF Amplifier

The IF amplifier senses the voltage on the sampling capacitor. It then conditions this voltage to prepare the voltage for digitizing in the A/D converter.

  • Return to block diagram


86108B Interface

The plug-in module interface circuitry accepts commands from the instrument microprocessor to control the module. These commands include IF gain, sampler bandwidth, and optical channel bandwidth. EEPROMs within the module provide the instrument microprocessor with module calibration factors as well as information on the type of plug-in module that is installed.

  • Return to block diagram


86108B Microprocessor and Display sections

The microprocessor translates the sample points from the CAL tables and performs any post processing you have selected before drawing the sample points on the display.

  • Return to block diagram


86108B Precision Timebase

The precision timebase is an alternate timebase source for the instrument. Normally, an external trigger is required to synchronize data samples with the input waveform. As an alternative, the precision timebase provides a stable reference clock that is synchronous to the input signal thus providing a reference for time calculations. This improves jitter performance and timebase linearity. Sampling is random and the precision timebase precisely identifies the timing of each random sample. You can select between an internal timebase or you can provide either a full or sub-rate reference clock via the front panel. The external time reference must be as clean of a sine wave as possible. Some internal filtering is provided within certain bands.

  • Return to block diagram


86108B Pulse Filter

The pulse filter transforms the low repetition rate trigger pulse from the mainframe into a narrow impulse that drives the sampler. The width of this impulse must be as narrow as possible because it directly affects the bandwidth of the vertical channel.

  • Return to block diagram


86108B Recovered Clk Output

This SMA connector provides an auxiliary recovered clock output for triggering the instrument (via the front-panel trigger) when using pattern lock or Jitter Mode with clock rates less than 400 Mb/s. Also use this output to trigger other test equipment such as Bit Error Ratio Testers. The output is a full rate clock for data rates up to 7.1 Gb/s and a half rate clock for higher data rates.

  • Return to front-panel diagram


86108B Sampler

The sampler consists of a diode gate and sampling capacitor. The incoming signal is applied to the input of the diode gate, which is normally biased off. When a trigger event occurs, the pulse filter produces a pulse that momentarily forward biases the gate and allows the input signal to charge the capacitor. On an optical module, the O/E conversion and SONET/SDH filtering occur ahead of the sampler.

  • Return to block diagram


86108B Sequential Delay Generator

The sequential delay generator controls the time between when it receives a trigger input from the trigger generator and when it sends a trigger output to the pulse filter. These delay times increase sequentially with each trigger event, allowing the trace to build up from left to right across the display screen. The delay values depend on the record length and time base setting. The values are programmed into the sequencer memory by the system microprocessor.

  • Return to block diagram


86108B Sync Output

This output is provided for a possible for future use. It is not recommended that it be used at this time.

  • Return to front-panel diagram


86108B Trigger Generator

The trigger generator receives the trigger input. It then sends a signal to the sequential delay generator. The trigger is enabled when a waveform edge meeting the trigger criteria is received. Depending on the instrument setup, the trigger input can originate from the front panel, left or right module (clock recovery), or an external time reference when using a precision timebase module. Or, the trigger can be set to freerun.

  • Return to block diagram


86108B Vertical Scale & Position

Turn the scale knobs to adjust the waveform's scale. Adjusting the scale changes the sensitivity of the instrument.

Turn the position knobs to adjust the offset value (vertical position) of the waveform on the display screen without modifying the waveform itself. The offset value represents an absolute value on the instrument display.

  • Return to front-panel diagram


86100D Multi-Purpose Button

You can easily customize the 86100D's front-panel Multi-Purpose button to perform often needed tasks. Use this button to increase your efficiency by assigning one of the following tasks:

  • Save Screen Image
  • Run a SCPI Script
  • Load Instrument Setup
  • Save Documentation Wizard File
  • None. This is the Multi-Purpose button's factory preset setting (Setup > Factory Setup).

A default setup (Setup > Default Setup) does not affect the Multi-Purpose button's current setting. When running N1010A FlexDCA on a PC, the front-panel Multi-Purpose button is unavailable. Instead, click the Virtual Front Panel's Multi-Purpose button.

Click Setup > Configure Multi-Purpose Button to open this dialog box.


86100D Multi-Purpose Button (Running Documentation Wizard)

To configure the button to save a documentation wizard file, select Save Documentation Wizard as shown in this picture. The Documentation Wizard saves a zip file that includes all the information needed to archive a particular instrument configuration including setup file, screen captures, waveforms, and measurement results. To configure the contents of the documentation wizard file, click File > Documentation Wizard. When the Multi-Purpose button is pressed, the saved image file will be named by appending the current date and an incremented index number to the base file name. By default the file name is QuickDocWizardSave.zip.

QuickDocWizardSave_<year>-<month>-<day>_<index>.zip

The default folder for loading scripts is the \Documentation Results in the user folder.


86100D Multi-Purpose Button (Saving an Image)

To configure the button to capture screen images, select Save Screen Image as shown in this picture. In the Options field, the base file name is displayed. When the Multi-Purpose button is pressed, the saved image file will be named by appending the current date and an incremented index number to the base file name. By default the file name is QuickScreenSave.

QuickScreenSave_<year>-<month>-<day>_<index>.<extension>

For example, suppose that you enter a base filename of EyeDiagram.png and you save your first screen image file on April 19th, 2015. The name of the file will be EyeDiagram_2015-4-19_1.png. The index number is incremented for each subsequent save. Click Browse to change the base filename. The default filename is QuickScreenSave.jpg. The default folder for saving images is the \Screen Images user folder.

The base filename's extension determines the graphic file format of the saved images and can be .bmp, .gif, .jpg, .png, or .tif.

Select Monochrome to save images without color. The graticule background is shown in white rather than black. A Default Setup clears this selection.

Select Invert Graticule Area Background Color to save color images with a white graticule background. Inversion is automatically turned on and cannot be turned off if the Monochrome is selected. A Default Setup clears this selection.

Monochrome | Invert Graticule Area Background Color


86100D Multi-Purpose Button (Running a Script)

To configure the button to run SCPI scripts, select Run SCPI Script as shown in the following picture. SCPI scripts are recordings of your front-panel key presses translated into equivalent programming commands. Scripts allow you to automate the setup of complex instrument configurations and settings.

When Use Single Script for All Modes is selected, the MultiPurpose button will run a single script regardless of the current instrument mode. This script does not exist, so you must create the script, give it any name that you want, and place it in the \Scripts user folder. This folder has a subfolder named \Multi-Purpose Button. You cannot save scripts to this folder as it is a shortcut to a folder that is write protected.

When Use Single Script for All Modes is cleared, a unique script can be selected to run in each instrument mode (Oscilloscope, Eye/Mask, Jitter, and TDR/TDT). There are default mode scripts located in the \Scripts\Multi-Purpose Button folder as shown in the following table. You can create and assign your own scripts for each mode. Click Browse to select the script which should be placed in the \Scripts user folder.

Default Scripts for Each FlexDCA Mode
Instrument Mode | Use Single Script for All Modes Setting |  | Default Script in \Multi-Purpose Button folder
 | On | Off
Oscilloscope Modes |  | ♦ | MultiPurpose Default Scope Mode.scpi
Eye/Mask Modes |  | ♦ | MultiPurpose Default Eye Mode.scpi
Jitter Modes |  | ♦ | MultiPurpose Default Jitter Mode.scpi
TDR/TDT Modes |  | ♦ | MultiPurpose Default TDR Mode.scpi

A Default Setup does not clear or reset the currently assigned SCPI script. To reset the dialog box to the default scripts, click Setup > Factory Preset.

Oscilloscope Mode Default Script

Prerequisite

Oscilloscope mode is running with at least one waveform displayed.

Action

Several measurements are made.

Script

// MultiPurpose Default Scope Mode.scpi
:MEASure:OSCilloscope:RISetime
:MEASure:OSCilloscope:FALLtime
:MEASure:OSCilloscope:PERiod
:MEASure:OSCilloscope:JITTer
:MEASure:OSCilloscope:VAMPlitude

Eye/Mask Mode Default Script

Prerequisite

Eye/Mask mode is running with at least one waveform displayed.

Action

Several measurements are made.

Script

// MultiPurpose Default Eye Mode.scpi
:MEASure:EYE:RISetime
:MEASure:EYE:FALLtime
:MEASure:EYE:JITTer
:MEASure:EYE:AMPLitude
:MEASure:EYE:BITRate
:MEASure:EYE:CROSsing

Jitter Mode Default Script

Prerequisite

Jitter mode is running with at least one waveform displayed.

Action

Several measurements are made.

Script

// MultiPurpose Default Jitter Mode.scpi
:MEASure:JITTer:DDPWs
:MEASure:JITTer:FOVer2
:MEASure:JITTer:JN:SJN J2
:MEASure:JITTer:JN
:MEASure:JITTer:JN:SJN J9
:MEASure:JITTer:JN

TDR/TDT Mode Default Script

Prerequisite

TDR/TDT mode is running with a TDR module. A DUT is setup with channel 1A as the stimulus source.

Action

A TDR measurement is made with a time-domain response waveform shown in Ohms and another time-domain response waveform shown in volts. Three measurements are performed, with two of the measurements made over waveform regions. Finally, a tracking marker is turned on.

Script

// MultiPurpose Default TDR Mode.scpi
:TDR:STIMulus:CHAN1A:STEP ON
:TRACe1:COLor TCOLor1
:TRACe1:DUT DUT1
:TRACe1:PARameter T1_1
:TRACe1:OPERator OHMS
:TRACe1:CWINdow TOHMs1
:TRACe1:DISPlay ON
:TRACe2:COLor TCOLor1
:TRACe2:DUT DUT1
:TRACe2:PARameter T1_1
:TRACe2:OPERator VOLTs
:TRACe2:CWINdow TVOLts1
:TRACe2:DISPlay ON
:TIMebase:SCALe 2.0000E-10
:TIMebase:POSition 0
:MEASure:REGions:COUNt 2
:MEASure:REGions:STATe ON
:MEASure:REGions:REGion1:X1 2.0000E-10
:MEASure:REGions:REGion1:X2 4.0000E-10
:MEASure:REGions:REGion2:X1 5.0000E-10
:MEASure:REGions:REGion2:X2 7.0000E-10
:MEASure:OSCilloscope:VAMPlitude:SOURce1 TRACe2
:MEASure:TDR:VAVerage:REGion REGion1
:MEASure:TDR:VAVerage
:MEASure:TDR:VMINimum:REGion REGion2
:MEASure:TDR:VMINimum
:MARKer:Y1A:SOURce TRACe2
:MARKer:Y1A:STATe TRACk


86100D Multi-Purpose Button (Running a Setup)

To configure the button to load and run an instrument setup file, select Load Instrument Setup as shown in this picture. Instrument setup files contain FlexDCA's settings such as:

  • Type of measurements currently running
  • Markers (if used)
  • Horizontal and vertical settings
  • Trigger configuration
  • Display setup
  • Waveform signal processing functions
  • Fixture Deskew data (if saved at the end of the deskew procedure)
  • Extended module configuration
  • TDR/TDT Mode deskew values

The default instrument setup file is MultiPurpose.setx. The default folder for loading scripts is \Setups in the user folder.


Oscilloscope Mode

  • <
  • i
  • Quick Start
  • Time Meas.
  • Amplitude Meas.

Use Oscilloscope mode to make measurements on pulse waveforms, such as clock signals. Oscilloscope measurements are designed for single-valued waveforms and only work when a single-valued waveform (not an eye diagram) is displayed on the screen. This is in contrast to Eye/Mask mode, where measurements require a measurement database, to which histograms and statistically-based measurements are applied. To enter Oscilloscope mode, use the mode select button, or click Setup > Mode > Oscilloscope. The following picture shows FlexDCA using the Classic Silver theme.

  • Measurement Configuration
  • Measurement regions
  • Limit Lines
  • PAM
  • Measurement annotations
  • Time saving features and controls
  • JSA/CRE
  • User

Repetitive, random signals

In Oscilloscope mode, repetitive, random signals result in a displayed eye-diagram, as the PRBS signal shown here. Oscilloscope mode measurements cannot be made on this displayed waveform. To make measurements on this signal, use pattern triggering (requires instrument Option ETR).

Introduction

Oscilloscope mode measurement algorithms require a single-valued waveform and will not work with eye diagrams. Click the measurement toolbar buttons to make typical pulse measurements such as rise time, fall time, overshoot, and Vp-p. Measurement results are calculated from the most recent acquisition sweep of the active channel.

JITTER MEASUREMENT

When a jitter measurement is selected, the instrument's measurement database is enabled. Jitter is the only oscilloscope measurement that uses the database as a source. The waveform data that is sampled is accumulated in the measurement database. In order to view this data, you must select the color grade (or gray scale) display persistence mode in the Display dialog box.

All Oscilloscope mode measurements, with the exception of jitter, can be performed on any of the following sources:

  • input channels
  • waveform memories
  • math functions

One of these sources must be turned on in order to perform an oscilloscope measurement. If more than one source is turned on and you initiate a measurement, the Enter Measurement Info dialog box opens allowing you to select the measurement source.

You can perform up to 32 simultaneous measurements on one displayed waveform. Measurement results appear in the measurement results area. The results of up to 32 measurements can be displayed. The display also shows any measurement failures or instrument messages that occur.

Note

When you switch between operating modes, the graticule display is cleared. If you have an active jitter measurement, and you switch between operating modes, the measurement database will also be cleared.

Note

Once you have defined the settings you want for the measurement in the Configure Measurements dialog box, these values will be applied to all subsequent measurements. The settings will remain unchanged until you redefine the measurement configuration, or recall a previously defined measurement setup with different values.


Oscilloscope Mode Quick Start

Oscilloscope Mode

  • <
  • i
  • Quick Start
  • Time Meas.
  • Amplitude Meas.

Quick Start

Use Oscilloscope mode to make measurements on pulse waveforms, such as the clock signal shown here. Oscilloscope measurements are designed for single-valued waveforms and only work when a single-valued waveform (not an eye diagram) is displayed on the screen. This is in contrast to Eye/Mask mode, where measurements require a measurement database, to which histograms and statistically-based measurements are applied. In Oscilloscope mode, measurement results are calculated from the most recent acquisition record of the active channel. For each record, the instrument must be triggered by an external signal and for each trigger event, one data point is captured.

In Oscilloscope mode, repetitive, random signals result in a displayed eye-diagram, as for example the PRBS signal shown here. Oscilloscope mode measurements can not be made on this displayed waveform. If a pattern trigger is provided, this signal can be acquired and displayed as a single-valued waveform. If the instrument has Option ETR (Enhanced Trigger) installed, use automatic pattern lock to to view this signal. The required steps are included at the end of this procedure. Otherwise, you must provide a pattern trigger.

  1. Select a 86100D module that is compatible with the type of signal that you are measuring.
  2. Install the module into the mainframe and turn on the instrument. You can insert modules into a running instrument.

    3. CLOCK RECOVERY

    If you are using an 86100D-STR standard-trigger instrument with a clock recovery or 86108A Precision Waveform Analyzer module, you must connect a cable between the module's front-panel trigger port to the mainframe's Trigger input connector as shown in the following picture. This cable is not required on 86100-ETR enhanced-trigger instruments.

  3. Use a cable to connect the data signal to the module's front-panel channel input connector. Connect a synchronous clock signal to the front-panel Trigger input connector. You can use a divided clock signal (clock rate/N). If you don't have a synchronous clock signal, install and setup a clock recovery module.

  4. Start FlexDCA.
  5. Click Setup > Default Setup to place the instrument in a known start-up state.
  6. Click the Signals button that is located in FlexDCA's lower, right corner to open the Signals palette.

  7. On the Signals palette, click the channel button, [image],to select the module input channel that you are using. The channel button's color changes from gray when the channel is selected. This example shows Channel 1A displayed. Click the Signals button again to collapse the Signals palette.

    8. Note

    If you accidentally click to the right of the button, a dialog box opens for scaling the displayed waveform. Close the scaling dialog box.

  8. Click the Trigger button to open the Trigger Setup dialog box. Or, click Setup > Trigger Setup.

  9. On the dialog box, select the General Trigger Setup tab.
  10. In the Source: field, select Front Panel. If you are using a clock recovery module with an 86100D-ETR instrument, select Left Module or Right Module to use the recovered clock.

  11. In the Select a Trigger Bandwidth field, select Standard (DC–3.2 GHz), if the trigger rate is below 3.2 GHz (not 3.2 Gb/s). Select Divided (3–13 GHz) if the instrument has the enhanced trigger installed (Option ETR) and the trigger rate (or divided trigger rate) is between 3 GHz and 13 GHz.

  12. If you are attempting to measure a repetitive, random signal (such as a PRBS signal shown here), you must establish pattern triggering. In the dialog box, click the Pattern Lock button to turn Pattern Lock from off [image] to on [image]. (If you view a random signal without trigger lock, it will appear as an eye diagram; oscilloscope measurements cannot be made on this displayed waveform.)

    13. Note

    Pattern Lock requires an 86100D with Option ETR (Enhanced Trigger) installed.

  13. Close the Trigger dialog box.
  14. Click Auto Scale on the menu bar to properly scale the signal.
  15. To enter Oscilloscope mode, use the mode select button (upper left corner), or click Setup > Mode > Oscilloscope.

  16. On the toolbar, select one of the available measurements. The measurement results are displayed in the Results panel.
  17. To manually adjust waveform scaling:
    • Scroll-Wheel Mouse. The mouse pointer changes to this shape  [image]   when it is placed over the scaling labels on a channel button, trigger button, or in the waveform Signal palette. Turn the mouse wheel to adjust the scale and offset setting.
    • Click a channel, trigger, or waveform Signal palette button to make these adjustments using a dialog box.
    • If FlexDCA is running on the instrument, turn the front-panel horizontal and vertical adjustment knobs.


Time Measurement Toolbar

Oscilloscope Mode

  • <
  • i
  • Quick Start
  • Time Meas.
  • Amplitude Meas.

Time Toolbar

With the exception of the jitter measurements, Oscilloscope time measurements are designed for single-valued waveforms. When a jitter measurement is selected, the instrument's measurement database is enabled. Jitter is the only oscilloscope measurement that uses the database as a source. The waveform data that is sampled is accumulated in the measurement database. In order to view this data, you must select the color grade (or gray scale) display persistence mode.

Toolbar 1 of 3 |  | Toolbar 2 of 3 |  | Toolbar 3 of 3
 | Rise Time |  | + Pulse Width |  | Time at Amplitude
 | Fall Time |  | – Pulse Width |  | Phase
 | Jitter |  | Duty Cycle
 | Period |  | Time at Max
 | Δ Time |  | Time at Min
 | Frequency |  | Time at Edge


Amplitude Measurement Toolbar

Oscilloscope Mode

  • <
  • i
  • Quick Start
  • Time Meas.
  • Amplitude Meas.

Amplitude Toolbar

Toolbar 1 of 3 |  | Toolbar 2 of 3 |  | Toolbar 3 of 3
 | Overshoot |  | Average |  | Amplitude at Time
 | Average Power |  | Waveform Top |  | Amplitude at Upper
 | Optical Modulation |  | Waveform Base |  | Amplitude at Middle
 | Amplitude |  | Maximum |  | Amplitude at Lower
 | Peak-Peak Amplitude |  | Minimum |  | Add Limit Line Test
 | RMS |  | Preshoot


Amplitude at Lower

Amplitude at Lower is the measure of the amplitude value of the lower threshold. The measurement can be restricted to a measurement region. An annotation is placed on the display at the measured value. By default, this is the standard IEEE 10% threshold measurement level definition. The lower threshold value can be set to 10%, 20%, or a custom value. The Waveform Base and Waveform Top are first located and these values are used to determine the threshold value.

Note

The entire display or measurement region is used to calculate the result. Therefore, position a single cycle or an integer number of falling edges in the display or region.

Note

This measurement is only available from FlexDCA. It is not available on the standard 86100D user interface.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Thresholds tab
  • Top-Base Definition tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Amplitude at Lower button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Amplitude at Middle

Amplitude at Middle is the measure of the amplitude value of the middle threshold. The measurement can be restricted to a measurement region. An annotation is placed on the display at the measured value. By default, this is the standard IEEE 50% threshold measurement level definition. The middle threshold value can be set to 50% or a custom value. The Waveform Base and Waveform Top are first located and these values are used to determine the threshold value.

Note

The entire display or measurement region is used to calculate the result. Therefore, position a single cycle or an integer number of falling edges in the display or region.

Note

This measurement is only available from FlexDCA. It is not available on the standard 86100D user interface.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Thresholds tab
  • Top-Base Definition tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click thetoolbar's More buttons to locate the Amplitude at Middle button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Amplitude at Time

Amplitude-at-Time is the measure of the amplitude of a waveform at a specific time.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

The Amplitude-at-Time measurement can be restricted to a measurement region.

This measurement is only available from FlexDCA. It is not available on the standard 86100D user interface.

PAM-4 Signals

This measurement is compatible with PAM-4 signals. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is not affected by setting in the Configure Base Measurements dialog box.

To measure

  1. Click the toolbar's Amplitude tab.
  2. Click the toolbar's More buttons to locate the Amplitude at Time button.
  3. Click the button and enter the time at which to perform the measurement.

  4. If measurement regions are enabled, select the area over which the measurement is to be performed: a Region or the Entire Display.


Amplitude at Upper

Amplitude at Upper is the measure of the amplitude value of the upper threshold. The measurement can be restricted to a measurement region. An annotation is placed on the display at the measured value. By default, this is the standard IEEE 90% threshold measurement level definition. The upper threshold value can be set to 90%, 80%, or a custom value. The Waveform Base and Waveform Top are first located and these values are used to determine the threshold value.

Note

The entire display or measurement region is used to calculate the result. Therefore, position a single cycle or an integer number of falling edges in the display or region.

Note

This measurement is only available from FlexDCA. It is not available on the standard 86100D user interface.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Thresholds tab
  • Top-Base Definition tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Amplitude at Upper button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Amplitude

Amplitude is the measure of the difference between Waveform Top and Waveform Base of a displayed pulse waveform. The measurement can be restricted to a measurement region. Annotation labels are placed on the waveform showing the top (100%) and base (0%) levels. These levels are calculated over the entire display graticule. Therefore, the instrument displays the Top and Base labels on both ends of the graticule.

Amplitude = Waveform Top − Waveform Base

Where, Waveform Top is the most prevalent value in the upper portion of a pulse and Waveform Base is the most prevalent value in the lower portion of a pulse. Waveform Top may be less than or equal to the maximum value of the waveform. Waveform Base may be greater than or equal to the minimum value of the waveform.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Top-Base Definition tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Amplitude button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Average

For electrical signals, Average is a measure of the mean value of the data sampled from the entire displayed waveform or a single cycle.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

The record length of the waveform determines the number of data samples used for the measurement. The measurement can be restricted to a measurement region. Annotation labels are placed on the waveform to mark the average value. Average is most suitable for single-valued waveforms.

PAM-4 Signals

This measurement is compatible with PAM-4 signals over the entire display or region. It is not compatible over a single cycle. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Click the toolbar's More buttons to locate the Average button.
  2. Click the button.
  3. Click the button and, if measurement regions are enabled, select the area over which the measurement is to be performed: a Region or the Entire Display.
  4. Select the Measurement Area (Single Cycle or Entire Display/Region).


Average Power

Average Power is a measure of the true average component of an optical signal. A waveform annotation label is placed on the average power result. Since the average power is calculated over the entire display graticule, you will notice that this label tracks the average power result across the graticule. This measurement is commonly used when identifying the fundamental parameters of a lightwave transmitter. However, it differs from other measurements because it does not rely on the waveform display in order to determine the measurement. You can measure the average power of an eye diagram. Average power is a measure of the true average component of an optical signal.

Note

The average power measurement is only available when using the modules with integrated optical detectors (optical/electrical modules). Average power measurements cannot be made on simulated channels.

Note

The average power measurement can not be restricted to a measurement region.

PAM-4 Signals

This measurement is not compatible with PAM-4 signals.

To determine average power, the internal photo detector receives the optical signal and converts this waveform to an electrical signal. The DC component of the photocurrent is measured. The photo detector is calibrated based on the wavelength selected, to give an accurate measurement of average power. The average power is determined as follows:

The measurement units (Watts or dBm) are selected at the time that the measurement is turned on. If Watt is selected, the instrument applies the appropriate prefix, relative to the signal size, to the linear power units. For example, the results of an average power measurement may be displayed as 10 mW.

Note

In order to get an accurate average power measurement, you must select a factory calibrated wavelength or a user-defined wavelength (within the wavelength range of the selected module). These selections are made in a Channel Setup dialog box's Advanced section. If you define a wavelength, you must perform an optical channel user calibration, which compensates for a module's photodetector responsivity at the specified wavelength. This calibration must be performed on the 86100D and can not be made from within FlexDCA.

Note

If an extremely large value for average power is measured, the module may have lost the factory optical channel calibration. For example, a value of 260W may be displayed for a 100 mW signal. You can also perform an optical responsivity calibration for a user-defined wavelength.

Configurable Measurement Parameters

This measurement is not affected by setting in the Configure Base Measurements dialog box.

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Average Power button.
  4. Click the button.
  5. Select dBm or Watts for the measurement units.


Maximum

Maximum is the maximum amplitude of the waveform's displayed power or voltage.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

The maximum level is taken directly from the histogram data. The measurement can be restricted to a measurement region. A level annotation label is placed at the maximum result. The entire screen is the interval over which the measurement is made.

PAM-4 Signals

This measurement is compatible with PAM-4 signals. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is not affected by setting in the Configure Base Measurements dialog box.

To measure

  1. Click the toolbar's Amplitude tab.
  2. Click the toolbar's More buttons to locate the Maximum button.
  3. Click the button.
  4. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Minimum

Minimum is the minimum amplitude of the waveform's displayed power or voltage.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

The minimum level is taken directly from the histogram data. The measurement can be restricted to a measurement region. A level annotation label is placed at the minimum result. The entire screen is the interval over which the measurement is made.

PAM-4 Signals

This measurement is compatible with PAM-4 signals. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is not affected by setting in the Configure Base Measurements dialog box.

To measure

  1. Click the toolbar's More buttons to locate the Minimum button.
  2. Click the button.
  3. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Optical Modulation

Optical Modulation Amplitude (OMA) is the measure of the difference between the optical power of an NRZ one pulse and the optical power of an NRZ zero pulse. It requires an NRZ pattern and is designed to be used with square wave made of consecutive zeros following by consecutive ones. Be sure to check any relevant standard for one and zero run requirements. The measurement can be restricted to a measurement region.

If needed, you can make an OMA measurement on any pulse train (not just a square wave) as long as enough consecutive bits (ones or zeros) are included for the signal level to settle. For checking pattern dependencies with OMA, it can be helpful to use Jitter Mode's Modul'n Amp measurement (Advanced Amplitude Analysis/RIN/Q-Factor license) while changing the one/zero level definition. While primarily an optical measurement, the measurement can be made on an electrical signal with the results reported in units of volts. The following is the measurement algorithm:

  1. The first three waveform edges are identified.
  2. Between the first two edges, the average value of the portion of the waveform spanning the center 20% is determined.
  3. Between the second and third edges, the average value of the portion of the waveform spanning the center 20% is determined.
  4. The absolute value of the difference between the two average values is the OMA measurement.

PAM-4 Signals

This measurement is not compatible with PAM-4 signals.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.

    2. Note

    Set the time span to display at least three edges on the screen. If less that three edges are shown, the error message "Edge?" is displayed. The three edges do not need to be equidistant, but they must contain enough samples to provide meaningful data. Therefore, it is best to set the span so that the three edges cover as much of the display as possible.

  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Optical Modulation button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Overshoot

Overshoot is a distortion that follows a waveform edge transition. Overshoot occurs after the edge crosses through the waveform threshold levels and can occur on either the rising or falling edge. Annotation labels are placed on the waveform showing the top (100%) and base (0%) levels. These levels are calculated over the entire display graticule or measurement region. The top and base labels are displayed on both ends of the graticule or region. An additional annotation label is placed on the peak amplitude of the overshoot (local Vmax or Vmin). Perform overshoot on single-valued waveforms only.

If the waveform edge is rising (upward slope), the overshoot is computed as follows:

When computing overshoot, a local minimum and maximum (also referred to as overshoot intervals) is located. The local minimum or maximum occurs in the first 50 percent of the time defined along the threshold. The local maximum (overshoot interval) is found half way from the 90% threshold level on the rising edge to the next 90% threshold level at the falling edge.

If the waveform edge is falling, the overshoot is computed as follows:

The local minimum is found half way from the 10% threshold level of the falling edge to the next 10% threshold level at the next rising edge.

Note

The default setting for the threshold levels are the 10% to 90% points on the transition.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Overshoot button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Peak-Peak Amplitude

You can measure the Peak-Peak Amplitude on a pulse waveform. Two annotation labels are placed on the waveform. The instrument positions one label at the absolute maximum voltage or power of the waveform and the other label at the absolute minimum voltage or power of the waveform. Since the maximum and minimum values are calculated over the entire display graticule or measurement region, you will notice that the labels track the results across the graticule or region. Peak-Peak Amplitude is a measure of the difference between Vmax and V min of a displayed pulse waveform. The entire display is used to make the measurement:

where:

V max is the voltage or power of the absolute maximum value of the waveform and V min is the voltage or power of the absolute minimum value of the waveform.

PAM-4 Signals

This measurement is compatible with PAM-4 signals. PAM measurement capability requires option 9FP, PAM-N Analysis software.

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the More buttons to locate the Peak-Peak Amplitude button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Preshoot

Preshoot is a distortion that precedes a waveform edge transition. Preshoot occurs before the edge crosses through the waveform threshold levels and can occur on either the rising or falling edge. Annotation labels are placed on the waveform showing the top (100%) and base (0%) levels. These levels are calculated over the entire display graticule or measurement region. Therefore, the top and base labels are displayed on both ends of the graticule or region. An additional annotation label is placed on the peak amplitude of the preshoot (local Vmax or Vmin). Perform preshoot on single-valued waveforms only.

If the waveform edge is falling, the preshoot is computed as follows:

When computing preshoot, a local minimum and maximum (also referred to as preshoot intervals) is located. The local minimum or maximum occurs in the first 50 percent of the time defined along the threshold. The local maximum (preshoot interval) is found half way from the 90% threshold level on the rising edge to the next 90% threshold level at the falling edge.

If the waveform edge is rising (upward slope), the preshoot is computed as follows:

The local minimum is found half way from the 10% threshold level of the falling edge to the next 10% threshold level at the next rising edge. The default setting for the threshold levels are the 10% to 90% points on the transition.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Note

This measurement is not available on the standard 86100D user interface.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Preshoot button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


RMS

RMS is a measure of the AC or DC RMS of a pulse waveform. An annotation label is placed at the RMS result. The positions of the labels are dependent upon the configuration of the RMS measurement. You can configure the measurement to be made across the entire waveform display, a measurement region, or across one cycle of the waveform.

The DC RMS measurement is the typical method of making an rms voltage measurement. This measurement is determined as followed:

where:

n is the number of waveform points on screen and not the memory depth and v(i) is the voltage at the i th point on screen.

The AC RMS measurement is a modified rms measurement. It removes the DC component of the waveform from the calculation of the rms voltage. This measurement is determined as followed:

where:

n is the number of waveform points on screen and not the memory depth and v(i) is the voltage at the i th point on screen.

PAM-4 Signals

This measurement is compatible with PAM-4 signals over the entire display or region but not over a cycle. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Rise Time button.
  4. Click the button and, if measurement regions are enabled, select the area over which the measurement is to be performed: a Region or the Entire Display.
  5. Select the Measurement Area (Single Cycle or Entire Display/Region) and RMS Type (DC or AC).
  6. Click OK.


Waveform Base

Waveform Base is the most prevalent value of the lower 40% of a pulse or eye diagram. The measurement can be restricted to a measurement region. An annotation label is placed at the measurement result.

Depending on the waveform type, one of the following algorithms is employed:

  • Histogram Peak Algorithm. Used for square waveforms and low duty-cycle waveforms.
  • Minimum Algorithm. Used for waveforms that result in even histogram distributions, such as triangular waveforms. Using the histogram peak algorithm for waveforms that have even histogram distributions would result in an unstable identification of the Waveform Base.

Note

The entire display or measurement region is used to calculate the result. Therefore, position a single cycle or an integer number of positive pulses in the display or region.

Note

This measurement is available in oscilloscope mode only.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Note

On the 86100D, this measurement is named V base.

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Top-Base Definition tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Waveform Base button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Waveform Top

Waveform Top is the most prevalent value of the upper 40% of a pulse or eye diagram. The measurement can be restricted to a measurement region. An annotation label is placed at the measurement result.

Depending on the waveform type, one of the following algorithms is employed:

  • Histogram Peak Algorithm. Used for square waveforms and low duty-cycle waveforms.
  • Maximum Algorithm. Used for waveforms that result in even histogram distributions, such as triangular waveforms. Using the histogram peak algorithm for waveforms that have even histogram distributions would result in an unstable identification of the Waveform Top.

Note

The entire display or measurement region is used to calculate the result. Therefore, position a single cycle or an integer number of positive pulses in the display or region.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

Note

This measurement is available in oscilloscope mode only.

Note

On the 86100D, this measurement is named V top.

Configurable Measurement Parameters

This measurement is affected by the following setting (click Measure > Configure Base Measurements):

  • Top-Base Definition tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Amplitude tab.
  3. Click the toolbar's More buttons to locate the Waveform Top button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Delta Time

Δ Time (Delta Time) measures the edge-to-edge time differences on a single waveform or between two separate waveforms.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

You can define the edge number, direction, and threshold used for the measurement as well as the waveform source for each edge. The measurement can also be restricted to a measurement region. An annotation label is placed at the time of the first edge source (start) and at the time of the second edge source (stop).

Note

Perform Δ time on single-valued waveforms only.

Note

The instrument counts the waveform edges from the left edge of the display graticule, instead of at the reference point.

Note

Specify the edge parameters in the Delta Time Definition tabbed page of the Configure Measurements dialog box. Define the threshold levels in the Thresholds tabbed page of the Configure Measurements dialog box. The edges you specify must appear on the display graticule.

Note

You must have more than one source available on in order to select the edge of a second waveform as a source for the measurement.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Click the button.
  2. Select the measurement source (channel, waveform memory, or function), edge directions, and thresholds.
  3. If measurement regions are enabled, select the area over which the measurement is to be performed: a Region or the Entire Display.


Duty Cycle

Duty cycle is defined as the ratio of positive pulse width to the period. This is the percentage of the period that the positive pulse width occupies, or (+ Pulse Width/Period) x (100). Therefore, duty cycle is displayed as a percentage (%). The measurement can be restricted to a measurement region. Two pairs of annotation labels are placed on the waveform. The first pair identify the rising and falling edges of the positive pulse width (+ Pulse Width), and the second pair identify the period between consecutive rising edges. This measurement is available for measurement of single-valued waveforms in oscilloscope mode only.

The time between the edges of the waveform used for the duty cycle measurement is taken at the middle threshold crossings. The lower and upper threshold levels do not directly affect the period measurement. However, the lower and upper threshold levels are used to determine whether or not a waveform edge is valid for the measurement.

PAM-4 Signals

This measurement is not compatible with PAM-4 signals.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Time tab.
  3. Click the toolbar's More buttons to locate the Duty Cycle button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Fall Time

Fall time measures the transition time of the waveform's negative (falling) edge.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

The measurement can be restricted to a measurement region. The measurement is made using the lower, middle, and upper threshold levels, which are based on the Waveform Top and Waveform Base measurements. Annotation labels identify the threshold levels on each end of the waveform's negative (falling) edge. The fall time will not be measured until the falling edge completes the transition through all three levels. The fall time equals the lower threshold crossing time minus the upper threshold crossing time.

Note

The default setting for the threshold levels are the 10% to 90% points on the transition. The top level is defined as the 100% level of the waveform. The base level is defined as the 0% level of the waveform.

Note

The falling edge of the waveform must be displayed on the screen or measurement region for fall time measurements.

Note

If the signal has jitter, perform the fall time measurement in Eye/Mask mode for improved accuracy.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

It is possible to have a rising edge from the incident waveform, followed by the rising edge from the reflected waveform. Both rising edges are interpreted as one edge, in which case rise time is calculated over the entire displayed waveform. To calculate the rise time of only the second rising edge (replected), do one of the following steps:

  • Position the second rising edge on the display screen so that it is the only rising edge and adjust the vertical and horizontal scale/position of the waveform.
  • Use the custom top-base definition control to define the top and base levels of the waveform in the Configure Measurements dialog box. Enter the values you want for the top and base level for the second rising edge of the TDR/TDT waveform.

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Meas):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Time tab.
  3. Click the toolbar's More buttons to locate the Fall Time button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Frequency

Frequency is defined as the inverse of the period (1/period). The measurement can be restricted to a measurement region. Period is a determined by measuring the time between the first detected edge of a waveform and the next occurrence of the same type of edge. The edges are the middle threshold crossings which, by default, are set to the 50% level. Two annotation labels identify the threshold crossings on the waveform. Top-base levels are not used in the frequency calculation when threshold levels are set to absolute voltages. Frequency will not be calculated unless a complete waveform cycle is visible on the display. When measuring an optical channel, the measurement units are Watts.

The detected edges can be either rising or falling. Frequency is determined as follows:

  • Rising edge
  • Falling edge

Note

Use this measurement on single valued waveforms in oscilloscope mode only.

PAM-4 Signals

This measurement is not compatible with PAM-4 signals.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Time tab.
  3. Click the toolbar's More buttons to locate the Frequency button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Jitter

Jitter is a measure of the time variances of the rising or falling edges of a pulse waveform at the middle threshold. When a jitter measurement is selected, the measurement database is enabled. One annotation label is placed at the start of the jitter and one on the end of the jitter. The waveform data that is sampled is accumulated in the measurement database. In order to view the data from the measurement database, you must select the color grade (or gray scale) display persistence mode. However, it is not necessary to view the data from the measurement database in order to make jitter measurement. When in the other persistence modes, the most recent acquired data is used for the measurement results.

It is possible to set the horizontal timebase setting too wide for a valid jitter measurement to be made. In this case, zoom in on one edge of the waveform so that the trace width shows enough points for the instrument to construct an accurate histogram.

Note

The Jitterp-p and Jitterrms measurements can not be made on a measurement region.

Note

If the Enhanced Jitter Analysis option is installed, take a look at the powerful Jitter Mode feature. Jitter Mode quickly separates jitter into its components and displays measurement results using tables and graphs.

Note

Click Clear on the menu bar to clear the measurement database and accumulate new data. You can then view an accurate representation of the data used for the jitter measurement.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

To measure jitter, the middle threshold is located, and a measurement window is placed horizontally through the middle threshold. The measurement window is narrow in amplitude. A time histogram is generated, and the histogram's mean value establishes the center of the measurement window. The amount of jitter on the waveform is determined by the amount of data that falls within the measurement window.

Note

The default for the middle threshold is the 50% level. The lower and upper threshold levels do not directly affect the jitter measurement. However, the lower and upper threshold levels are used to determine whether or not a waveform edge is valid for the measurement.

Note

The top and base of the waveform must be on the display screen in order for the instrument to calculate jitter.

Jitter is measured and displayed in either of the following formats.

  • Jitterp-p is equal to the full width of the histogram at the middle threshold.
  • Jitterrms is defined as 1σ (standard deviation) from the histogram mean

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Time tab.
  3. Click the toolbar's More buttons to locate the Jitter button.
  4. Click the button and select the jitter format: Root-Mean-Square or Peak-to-Peak. If more than one waveform is displayed, select which waveform you want to use to make the measurement.


Negative Pulse Width

Negative pulse width is defined as the time from the middle threshold of the first falling edge to the middle threshold of the next rising edge. The measurement can be restricted to a measurement region. These points are marked by two waveform annotation labels. The lower and upper threshold levels do not directly affect the negative pulse width measurement. However, the lower and upper threshold levels are used to determine whether or not a waveform edge is valid for the measurement.

Note

This measurement is designed for single valued waveforms in oscilloscope mode only.

PAM-4 Signals

This measurement is not compatible with PAM-4 signals.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Time tab.
  3. Click the toolbar's More buttons to locate the – Pulse Width button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Period

Period is a measure of the time between the first detected edge of a waveform and the next occurrence of the same type of edge. The measurement can be restricted to a measurement region. The time between the edges of the waveform is taken at the middle threshold crossings. The default for the middle threshold is the 50% level. The period will not be calculated unless there is a complete waveform cycle visible on the display. Two waveform annotation labels mark the start and stop measurement points.

Period is determined as follows:

  • Rising edge
  • Falling edge

PAM-4 Signals

This measurement is not compatible with PAM-4 signals.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Time tab.
  3. Click the More buttons to locate the Period button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Phase

Phase measures the edge-to-edge phase differences on a single waveform or between two separate waveforms. When the measurement is selected, you can define the waveform, edge number, direction, and threshold used for the measurement start and stop points. FlexDCA counts the waveform edges from the left edge of the display graticule, instead of at the reference point. An annotation label is placed at the start and stop positions.

The measurement can be performed on any single-valued waveform that is displayed in one of a Waveform content windows. The measurement annotation positions are shown in seconds from the reference position. The measurement results are in phase (°).

Note

Upper, lower, and middle threshold levels are defined in the Thresholds tabbed page of the Configure Measurements dialog box. The edges you specify must appear on the display graticule.

Note

You must have more than one source available on in order to select the edge of a second waveform as a source for the measurement.

Note

Require FlexDCA version ≥A.04.50.

PAM-4 Signals

This measurement is not compatible with PAM-4 signals.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab


+ Pulse Width

Positive pulse width is defined as the time from the middle threshold of the first rising edge to the middle threshold of the next falling edge. The measurement can be restricted to a measurement region. These points are marked by two waveform annotation labels. The lower and upper threshold levels do not directly affect the positive pulse width measurement. However, the lower and upper threshold levels are used to determine whether or not a waveform edge is valid for the measurement.

Note

This measurement is designed for single-valued waveforms in oscilloscope mode only.

PAM-4 Signals

This measurement is not compatible with PAM-4 signals.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Select Oscilloscope Mode.
  2. Click the toolbar's Time tab.
  3. Click the toolbar's More buttons to locate the + Pulse Width button.
  4. Click the button.
  5. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Rise Time

Rise time measures the transition time of the waveform's positive (rising) edge.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

The measurement can be restricted to a measurement region. The measurement is made using the lower, middle, and upper threshold levels, which are based on the Waveform Top and Waveform Base measurements. Annotation labels identify the threshold levels on each end of the waveform's rising edge. The rise time will not be measured until the rising edge completes the transition through all three levels. The rise time equals the upper threshold crossing time minus the lower threshold crossing time.

Note

The default setting for the threshold levels are the 10% to 90% points on the transition. The top level is defined as the 100% level of the waveform.The base level is defined as the 0% level of the waveform.

Note

The rising edge of the waveform must be displayed on the screen or measurement region for rise time measurements.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

It is possible to have a rising edge from the incident waveform, followed by the rising edge from the reflected waveform. Both rising edges are interpreted as one edge, in which case rise time is calculated over the entire displayed waveform. To calculate the rise time of only the second rising edge (replected), do one of the following steps:

  • Position the second rising edge on the display screen so that it is the only rising edge and adjust the vertical and horizontal scale/position of the waveform.
  • Use the custom top-base definition control to define the top and base levels of the waveform in the Configure Measurements dialog box. Enter the values you want for the top and base level for the second rising edge of the TDR/TDT waveform.

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Click the Rise Time button.
  2. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Time at Max

Time at Max is the time of the first occurrence of the absolute maximum waveform level on the waveform.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

The measurement can be restricted to a measurement region. Time at Max is position independent. Therefore, the instrument uses the entire waveform on the display graticule to determine the maximum signal level. An annotation label is placed at the result.

PAM-4 Signals

This measurement is compatible with PAM-4 signals. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is not affected by setting in the Configure Base Measurements dialog box.

To measure

  1. Click the button.
  2. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Time at Min

Time at Min is a measure of the time at which the first data sample with the minimum waveform level first occurs.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

The measurement can be restricted to a measurement region. Time at Min is position independent. Therefore, the instrument uses the entire waveform on the display graticule to determine the minimum signal level. An annotation label is placed at the result.

PAM-4 Signals

This measurement is compatible with PAM-4 signals. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is not affected by setting in the Configure Base Measurements dialog box.

To measure

  1. Click the button.
  2. If measurement regions are enabled, the Select Measurement Region, Setting dialog box is displayed. Select the area over which the measurement is to be performed: a Region or the Entire Display.


Time at Amplitude

Time at Amplitude is the measure of the time at which the specified edge amplitude occurs on the displayed waveform.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

When this measurement is selected, a dialog box appears from which you select the edge number, direction, amplitude value, and if it is restricted to a measurement region.

This measurement is not available on the standard 86100D user interface.

PAM-4 Signals

This measurement is compatible with PAM-4 signals. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Click the button and enter the waveform edge number, amplitude, and direction at which to perform the measurement.
  2. If measurement regions are enabled, select the area over which the measurement is to be performed: a Region or the Entire Display.


Time at Edge

Time at Edge is the measure of the time at which the specified waveform edge occurs on the displayed waveform.

In Oscilloscope Mode |  | In TDR/TDT Mode
 | Button in Oscilloscope Mode |  | Button in TDR/TDT Mode

When this measurement is selected, a dialog box appears from which you select the edge number, direction, threshold value, and if it is restricted to a measurement region.

This measurement is not available on the standard 86100D user interface.

PAM-4 Signals

This measurement may be compatible with PAM-4 signals, depending on the PAM-4 waveform. PAM measurement capability requires option 9FP, PAM-N Analysis software.

TDR/TDT Mode

In TDR/TDT mode, the measurement can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

Oscilloscope Mode

In Oscilloscope mode, the measurement can be performed on any waveform that is displayed in one of a Waveform content windows.

Configurable Measurement Parameters

This measurement is affected by the following settings (click Measure > Configure Base Measurements):

  • Top-Base Definition tab
  • Thresholds tab

To measure

  1. Click the button and select the waveform edge number, threshold, and direction at which to perform the measurement.
  2. If measurement regions are enabled, select the area over which the measurement is to be performed: a Region or the Entire Display.


PAM Analysis

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license. For complete PAM4 analysis capability, Option 9FP or 9TP requires Options 200, /201, 300, and 401.

ADVANCED EYE MEASUREMENTS

If the Advanced Eye Analysis license is installed, the PAM-N license allows you to perform jitter and interference measurements on PAM-4 signals as well as NRZ signals.

With option PAM-N Analysis software, you can perform electrical and optical measurements on Pulse Amplitude Modulation (PAM-4) waveforms. Measurements are available in both Oscilloscope and Eye/Mask modes. Jitter analysis can be made on PAM-4 measurements in Jitter mode.

  • Eye/Mask-Mode measurements
  • Oscilloscope-Mode measurements
  • Configuring PAM-4 measurements (in Eye Mode)
  • Configuring PAM-4 measurements (in Scope Mode)
PAM Waveform in Oscilloscope Mode | PAM Waveform in Eye Mode

The following table shows some of the PAM-4 features that are available. This is a partial listing to show the main tasks that you can perform.

PAM-4 support at a glance
Feature | Support
 | Yes | Partial | No
Compatible signal types
Single-ended | ♦ |  |
Differential | ♦ |  |
Common mode | ♦ |  |
Eye mode
Dedicated PAM-4 measurements (also measures NRZ signals) | ♦ |  |
Measurements on Eye Meas tab |  |  | ♦
Measurements on Adv Eye tab (Requires option 401) | ♦ |  |
Mask testing |  |  | ♦
Oscilloscope mode
Dedicated PAM-4 level measurements | ♦ |  |
Measurements on Time tab |  | ♦ |
Measurements on Amplitude tab |  | ♦ |
Jitter mode | ♦ |  |
Simulated waveforms | ♦ |  |
Math/Waveform signal processing functions | ♦ |  |

Autoscale and Signal-Type Detection

When an autoscale is performed, FlexDCA automatically identifies the signal type of all displayed channel, common mode, differential mode, and function waveforms. Siganl types can be unspecified, NRZ, or PAM4. In certain situations, a PAM-4 waveform may not be able to be automatically identified. For example, this can happen when the waveform's eye is nearly closed. If this happens, open the Signal Types tab of the PAM-N Analysis Setup dialog box and manually specify PAM4. These settings are linked to the settings in the local dialog boxes.

The source type of waveform memories and eye memories is not autodetected, but can be manually set. If you save a waveform or color-grade gray-scale waveform to a file, the signal type is noted within the file: unspecified, NRZ, or PAM4. If the file is then loaded into waveform or color-grade gray-scale memory the signal type setting is loaded along with the data. Of course, you can always manually set the signal type in the Signal Types tab of the PAM-N Analysis Setup dialog box.

For simulated modules, you can configure the simulated source waveform to be PAM4 or NRZ.

  • Introduction to signal types

Note

PAM measurements require FlexDCA version A.04.50 or later.


PAM-N Analysis Setup (Measurement Configuration tab, Eye Mode)

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

The Eye Mode PAM-N Analysis Setup dialog box gives you the ability to adjust the PAM-N measurement algorithms. These settings affect measurements located in the PAM toolbars in Eye/Mask mode and Oscilloscope mode, as they are solely designed for measuring PAM-4 waveforms. The values entered in this dialog box do not change when switching between Oscilloscope and Eye/Mask modes. None of these PAM-4 settings affect measurements that are located on any other toolbars such as the Time, Amplitude, Eye Meas toolbars. These are the same settings as are found in the Advanced Eye Setup dialog box.

Settings In
Oscilloscope Mode
  • Introduction to PAM-4 measurements

Click PAM Setup button on the PAM toolbar to open this dialog box.

Click the tabs in this picture!

Note

If the instrument is in Oscilloscope mode, only the Amplitude Units field is displayed.

Receiver Sample Timing

This setting configures the timing for sampling the data. Use this setting to match the timing method used by a receiver. For signals with skewed eyes, measurements results will vary depending on this setting. This setting applies only to PAM-4 measurements in Eye mode.

Setting | Description
Based on Center Eye | Sampling timing is based on the location of the center eye (labeled Eye 1/2 in the following picture). This is the default setting.
Independent Per Eye | Sampling timing is independently based on the location of each of the three eyes.

Eye Center Location

This setting selects the basis for determining the location of an eye's center on the waveform. This setting applies only to PAM-4 measurements in Eye mode.

Setting | Description
Maximum Eye Width | The eye's center is located at the eye's maximum width midway between the eye's inside left and right edges. This is the default setting.
Maximum Eye Height | The eye's center is located at the eye's maximum height midway between the eye's inside top and bottom edges.

Eye Level Width

This setting defines the timespan over which an eye's amplitude level is measured. The timespan is specified as a percentage (from 1% to 25%) of the symbol period. The default setting is 10%. This setting applies only to PAM-4 measurements in Eye mode

Time of Level

This setting specifies the method used to locate the time at which to measure an eye's level. This setting applies only to PAM-4 measurements in Eye mode

Setting | Description
Eye Center | The time of a level is the average of the centers of the adjacent eyes. This is the default setting.
Minimum RMS | The time is located within the eye's level width at the minimum level thickness (RMS values).

Time Units

This setting specifies the time units. This setting applies only to PAM-4 measurements in Eye mode

Setting | Description
Second | Width and skew measurements are reported in seconds. This is the default setting.
Unit Interval | Width and skew measurements are reported in unit intervals.

Amplitude Units

This setting specifies amplitude units. This setting applies to PAM-4 measurements in Eye mode and Oscilloscope mode.

Setting | Description
Amplitude | Level and height measurements are reported in the current amplitude units: volts or Watts. This is the default setting.
Percent | Level and height measurements are reported in percent.

Measurements Affected by Dialog Box Settings in Eye Mode

PAM Measurement | Dialog Box Settings
 | Receiver Sample Timing | Eye Center Location | Eye Level Width | Time of Level | Time Units | Amplitude Units
Symbol definitions. ♦ = setting affects measurement. ◊ = setting may affect measurement.
Levels | ◊ | ◊ | ♦ | ♦ |  | ♦
Level RMS | ◊ | ◊ | ♦ | ♦ |  | ♦
Level Skews | ♦ | ♦ | ♦ | ♦ | ♦ |
Eye Levels | ♦ | ♦ | ♦ |  |  | ♦
Eye Skews | ♦ | ♦ | ♦ |  | ♦ |
Eye Heights | ♦ | ♦ | ♦ |  |  | ♦
Eye Widths | ♦ | ♦ |  |  | ♦ |
Linearity | ♦ | ♦ | ♦ | ♦ |  |

Overall PAM-4 Measurement Algorithm for Eye Mode

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the approximate signal-level amplitudes.
  3. Locate the crossing (transition) regions on both sides of the eyes.
  4. Determine the symbol period.
  5. Find the center of each eye. Note that the Receiver Sample Timing setting determines if only the middle eye (Eye 1/2) is located or all three eyes are located (Eyes 0/1, 1/2, and 2/3). The eye centers are the basis for many other measurements.
    • If the Eye Center Location setting is set to Maximum Eye Width, determine the horizontal line (center amplitude) across the eye at the maximum eye width and find the time at the line's midpoint (center time).
    • If the Eye Center Location setting is set to Maximum Eye Height, determine the vertical line (center time) across the eye at the maximum eye height and find the amplitude at the line's midpoint (center amplitude).
  6. The Eye Levels measurements are the amplitudes of the eye centers located above.
  7. If the Receiver Sample Timing setting is set to Based on Center Eye, the Eye Skews measurements are performed as follows:
    • All Skew values are relative to the center time of the middle eye (Eye 1/2).
    • Skew for the middle eye (Eye 1/2) is always 0.
    • The Skew value for the other eyes (Eye 0/1 and 2/3) are at the center time of the eye opening.
  8. If the Receiver Sample Timing setting is set to Independent Per Eye, the Eye Skews measurements are performed as follows:
    • All Skew values are relative to the average of all eye center times.
    • The skew value for all eyes is determined as the time of the center of the eye.
  9. Perform the Levels RMS measurements ("thickness") for all eye levels:
    • If the Time of Level setting is set to Eye Center, the following rules are used to determine the time location for measuring each level. Then, at each time location, a vertical measurement "window" is centered and the RMS value of the level ("thickness") is measured over this window. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period.
      • Time Locations | PAM Waveform Levels and Eyes
Level 3: Center time of Eye 2/3. |
Level 2: Average time of Eye 2/3's center time and Eye 1/2's center time.
Level 1: Average time of Eye 1/2's center time and Eye 0/1's center time.
Level 0: Center time of Eye 0/1.
    • If the Time of Level setting is set to Minimum RMS, the levels are measured by stepping a vertical measurement "window" in time across the entire symbol period and at each position measuring the RMS value (thickness) of each level. For each level, the minimum RMS value is selected. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period. For example, if the window is 25%, the symbol period is divided into four vertical measurement widows. The Eye Level Width setting can range from 1% to 25%. Generally, select a small percentage for measuring signals with poor quality eyes and a large percentage for good quality eyes.
  10. The Levels measurements are made at the location of the Levels RMS measurements (see previous step) by measuring the amplitude of each level.
  11. The Level Skews measurements are determined from the time location used for measuring the Levels measurements. Skew values are relative to the average time of all levels.
  12. The Eye Height and Eye Width measurements are derived from the Eye Center Location. The method of making these measurements is selected by the user at the time that the measurement are turned on. The selections are eye boundaries defined at zero data "hits" or at an eye opening probability. No extrapolation is used to determine Eye Height or Eye Width at a specified probability.
  13. Linearity measurement is calculated by inserting the level measurement values into the following equation:

    14. Note

    The linearity measurement in eye modes will not yield the same value as the linearity measurement in scope mode. This is due to the oscilloscope mode measurement being made at the center of individual bits, while eye mode measurements are made on the center of all acquired bits at once.


PAM-N Analysis Setup (Measurement Configuration tab, Scope Mode)

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

The Oscilloscope Mode PAM-N Analysis Setup dialog box gives you the ability to adjust the PAM-N measurement algorithms. These settings affect measurements located in the PAM toolbars in Eye/Mask mode and Oscilloscope mode, as they are solely designed for measuring PAM-4 waveforms. The values entered in this dialog box do not change when switching between Oscilloscope and Eye/Mask modes. None of these PAM-4 settings affect measurements that are located on any other toolbars such as the Time, Amplitude, Eye Meas toolbars.

Settings In
Eye/Mask Mode
  • Introduction to PAM-4 measurements

Click PAM Setup button on the PAM toolbar to open this dialog box.

Click the tabs in this picture!

Note

If the instrument is in Oscilloscope mode, only the Amplitude Units field is displayed.

Amplitude Units

This setting specifies amplitude units. This setting applies to PAM-4 measurements in Eye mode and Oscilloscope mode.

Setting | Description
Amplitude | Level and height measurements are reported in the current amplitude units: volts or Watts. This is the default setting.
Percent | Level and height measurements are reported in percent.

Measurements Affected by Dialog Box Settings in Oscilloscope Mode

PAM Measurement | Dialog Box Settings
 | Receiver Sample Timing | Eye Center Location | Eye Level Width | Time of Level | Time Units | Amplitude Units
Levels |  |  |  |  |  | ♦
Levels RMS |  |  |  |  |  | ♦
Linearity |  |  |  |  |  |

Note

The linearity measurement in eye modes will not yield the same value as the linearity measurement in scope mode. This is due to the oscilloscope mode measurement being made at the center of individual bits, while eye mode measurements are made on the center of all acquired bits at once.


PAM-N Analysis Setup (Signal Types tab)

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Use the PAM N Analysis Setup dialog box's Signal Types tab to control signal-type detection for channels, signal-type tracking for functions, and signal-type selection for memories.

Click PAM Setup button on the PAM toolbar to open this dialog box.

Click the tabs in this picture!

Use the Channels/Differentials tab to specify the signal type for each available channel, differential, or common-mode signal. These settings are coupled to the identical settings that are in the following dialog boxes: Electrical Channel Advanced Setup, Electrical Differential Channel Advanced Setup, and Optical Channel Advanced Setup. You can make these selections in either location.

By default, Auto Detect is selected and the signal type detected as soon as an autoscale is performed. You can manually set a signal type by clearing the Auto Detect field and selecting Unspecified, PAM4, or NRZ. Manually setting the signal type is useful if a waveform cannot be automatically identified.

Click the Auto Detect Channels/Differentials button to force the identification os signal types for displayed channel, differential, or common-mode waveforms without having to perform an autoscale.

More information

  • Introduction to signal types
  • Introduction to PAM-4 measurements


PAM-N Analysis Setup (Signal Types tab)

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Use the PAM N Analysis Setup dialog box's Signal Types tab to control signal-type detection for channels, signal-type tracking for functions, and signal-type selection for memories.

Click PAM Setup button on the PAM toolbar to open this dialog box.

Click the tabs in this picture!

Use the Functions tab to specify the signal type of available functions. These settings are coupled to the identical settings that are in the Function Setup dialog box. You can make these selections in either location.

Select Track to have a function's output signal type track the function's input signal types. Unlike channel, common mode, and differential waveforms, a function's output signal type is not detected but instead tracks the input signal types. If an input signal type changes, the function's signal type tracks. Consider the examples of signal tracking in the following table. The Add function is shown simply to show a dual-input function. Track is the default setting.

Examples of Signal-Type Tracking
Example | Input Signal Types | Example Function | Output Signal Type
1 | Input 1: PAM4 Input 2: PAM4 |  | PAM4
2 | Input 1: PAM4 Input 2: NRZ |  | Unspecified
3 | Input 1: NRZ Input 2: constant |  | NRZ

When tracking is set to Manual, the function's output signal type no longer tracks the inputs. Instead, you specify the function's output signal type in the drop-down list.

The Auto Detect Channels/Differentials button does not apply to Functions.

More information

  • Introduction to signal types
  • Introduction to PAM-4 measurements


PAM-N Analysis Setup (Signal Types tab)

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Use the PAM N Analysis Setup dialog box's Signal Types tab to control signal-type detection for channels, signal-type tracking for functions, and signal-type selection for memories.

Click PAM Setup button on the PAM toolbar to open this dialog box.

Click the tabs in this picture!

Use the Memories tab to specify the type of signal for a waveform memory or Eye (color-grade/gray-scale) memory. These settings are coupled to the identical settings that are in the Waveform Memories dialog box or the Color-Grade/Gray-Scale Memories dialog box. You can make these selections in either location.

This setting is configured at the time that a waveform is loaded into memory. If the waveform is loaded from a channel or function, the signal type is copied from the waveform. If the waveform is loaded from a waveform file created with FlexDCA version A.04.50 or later, the signal type is copied from the file. If a file that was created before this version is imported, you must manually set the signal type to Unspecified, PAM4, or NRZ.

The Auto Detect Channels/Differentials button does not apply to Functions.

More information

  • Introduction to signal types
  • Introduction to PAM-4 measurements


PAM Eye-Mode Measurement Toolbar

eye/mask toolbars:

  • i
  • Eye Meas
  • Mask Test
  • Adv Eye
  • PAM
  • User Meas.
  • JSA/CRE

PAM Toolbar

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

If the PAM-N Analysis software option is installed, you can make the following PAM-4 dedicated measurements on PAM-4 waveforms. Two types of measurements are available for PAM-4 waveforms: standard eye measurements and dedicated PAM-4 measurements. All of the PAM-4 measurements on this toolbar can also be used to perform measurements on NRZ waveforms (0 and 1 levels for one eye).

  • Introduction to PAM-4 measurements.

The PAM toolbar includes a link to the PAM setup dialog box. Use the setting in the dialog box to define measurement parameters for both oscilloscope and eye/mask modes.

Toolbar 1 of 2 |  | Toolbar 2 of 2
 | PAM Setup |  | Eye Skews
 | Levels |  | Eye Heights
 | Levels RMS |  | Eye Widths
 | Levels Peak-Peak |  | Linearity
 | Level Skews
 | Eye Levels

Note

None of the measurements listed on the Eye Meas toolbar can be used to make measurements on PAM-4 waveforms.


PAM Oscilloscope-Mode Measurement Toolbar

oscilloscope toolbars:

  • i
  • Time
  • Amplitude
  • PAM
  • User Meas.
  • JSA/CRE

PAM Toolbar

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

If the PAM-N Analysis software option is installed, you can make the following measurements in oscilloscope mode on PAM-4 waveforms. Two types of measurements are available for PAM-4 waveforms: NRZ oscilloscope and PAM-4 level measurements.

  • Introduction to PAM-4 measurements.

Pattern Lock is Required

The PAM-4 waveform must be displayed as a single-valued waveform. To accomplish this, turn pattern lock on (requires instrument Option ETR).

PAM-4 Level Measurements

The PAM toolbar includes a link to the PAM setup dialog box and PAM-4 specific level measurements. Use the setting in the dialog box to define measurement parameters for both oscilloscope mode and eye/mask mode PAM measurements.

Toolbar 1 of 1
 | PAM Setup
 | Levels
 | Levels RMS
 | Linearity

PAM-Compatible Measurements on NRZ Toolbars

Some, but not all, of the NRZ measurements listed on oscilloscope mode's Time and Amplitude toolbars can be used on PAM-4 waveforms. The measurements that you can use are shown in the following tables.

Compatibility of NRZ Oscilloscope Measurements
Compatible |  | Compatible (Depending on Waveform) |  | Incompatible
Time Measurements
 | Time at Max |  | Rise Time |  | Period
 | Time at Min |  | Fall Time |  | Frequency
 | Time at Amplitude |  | Jitter |  | + Pulse Width
 |  |  | Δ Time |  | – Pulse Width
 |  |  | Time at Edge |  | Duty Cycle
 |  |  |  |  | Phase
Amplitude Measurements
 | Amplitude at Time |  | Amplitude |  | Average (over cycle)
 | Average (over display or region) |  | Amplitude at Lower |  | Average Power
 | Maximum |  | Amplitude at Middle |  | Optical Modulation
 | Minimum |  | Amplitude at Upper |  | RMS
 | Peak-Peak Amplitude |  | Overshoot |  |
 | RMS (over display or region) |  | Preshoot |  |
 |  |  | Waveform Base |  |
 |  |  | Waveform Top |  |


PAM Eye Heights

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Eye mode measurement of the eye height (vertical opening) for each of three eyes of a PAM-4 signal. On NRZ signals, the height of the single eye is measured. Select the measurements units in the Amplitude Units setting. When the measurement is selected, the dialog box shown here is displayed. All the settings in this dialog box are linked to the settings in the PAM-4 Eye Width dialog box, except for the Select Signal field.

Settings That Affect This Measurement
Setting | Description
Settings selected at start of measurement
Eye Opening Definition | Selects the method used to determine the eye-opening: zero hits or probability.
Eye Opening Probability | Sets the eye-opening probability for the measurement when probability is selected for Eye Opening Definition.
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.
  • Overall PAM-4 measurement algorithm for Eye mode

Measurement Algorithm

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the approximate signal-level amplitudes.
  3. Locate the crossing (transition) regions on both sides of the eyes.
  4. Determine the symbol period.
  5. Find the center of each eye. Note that the Receiver Sample Timing setting determines if only the middle eye (Eye 1/2) is located or if all three eyes are located (Eyes 0/1, 1/2, and 2/3).
    • If the Eye Center Location setting is set to Maximum Eye Width, determine the horizontal line (center amplitude) across the eye at the maximum eye width and find the time at the line's midpoint (center time).
    • If the Eye Center Location setting is set to Maximum Eye Height, determine the vertical line (center time) across the eye at the maximum eye height and find the amplitude at the line's midpoint (center amplitude).
  6. From the center of each eye the eye boundaries are located based on zero data "hits" or at an eye opening probability. The probability defines the ratio of total hits in a waveform database column that can occur in the eye's opening. The probablility can be set from 1 x 10–1 to 1 x 10–9 using the Eye Opening Probability setting. The default probability is 1 x 10–2. No extrapolation is used to determine Eye Widths at a specified probability.
  7. The Eye Height is reported.

To measure

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Eye Heights button.


PAM Levels Peak-Peak

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Eye mode measurement of the peak-to-peak level ("thickness") of all four levels (0, 1, 2, 3) of a PAM-4 eye diagram. An RMS measurement is also available. On NRZ signals, the thickness of both level zero and one are measured.

Settings That Affect This Measurement
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode. Depending on measurement conditions, this command may not affect the measurement.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height. Depending on measurement conditions, this command may not affect the measurement.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Time of Level | Specifies the method used to locate the time at which to measure an eye's level.
Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.
  • Overall PAM-4 measurement algorithm for Eye mode

Measurement Algorithm

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the approximate signal-level amplitudes.
  3. Locate the crossing (transition) regions on both sides of the eyes.
  4. Determine the symbol period.
  5. Find the center of each eye. Note that the Receiver Sample Timing setting determines if only the middle eye (Eye 1/2) is located or if all three eyes are located (Eyes 0/1, 1/2, and 2/3).
    • If the Eye Center Location setting is set to Maximum Eye Width, determine the horizontal line (center amplitude) across the eye at the maximum eye width and find the time at the line's midpoint (center time).
    • If the Eye Center Location setting is set to Maximum Eye Height, determine the vertical line (center time) across the eye at the maximum eye height and find the amplitude at the line's midpoint (center amplitude).
  6. If the Time of Level setting is set to Eye Center, the following rules are used to determine the time location for measuring each level. At each time level, a vertical measurement "window" is centered and the RMS value of the eye's level is measured over this window. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period.
    7. Time Locations | PAM Waveform Levels and Eyes
Level 3: Center time of Eye 2/3. |
Level 2: Average time of Eye 2/3's center time and Eye 1/2's center time.
Level 1: Average time of Eye 1/2's center time and Eye 0/1's center time.
Level 0: Center time of Eye 0/1.
  7. If the Time of Level setting is set to Minimum RMS, the levels are measured by stepping a vertical measurement "window" in time across the entire symbol period and at each position measuring the RMS value (thickness) of each level. For each level, the minimum RMS value is selected. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period. For example, if the window is 25%, the symbol period is divided into four vertical measurement widows. The Eye Level Width setting can range from 1% to 25%. Generally, select a small percentage for measuring signals with poor quality eyes and a large percentage for good quality eyes.
  8. The peak-to-peak value for each level is measured at the time locations determined in the previous step.

To measure

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Levels Peak-Peak button.


PAM Levels RMS

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Eye mode measurement of the RMS level ("thickness") of all four levels (0, 1, 2, 3) of a PAM-4 eye diagram. A peak-to-peak measurement is also available. On NRZ signals, the thickness of both level zero and one are measured.

Settings That Affect This Measurement
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode. Depending on measurement conditions, this command may not affect the measurement.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height. Depending on measurement conditions, this command may not affect the measurement.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Time of Level | Specifies the method used to locate the time at which to measure an eye's level.
Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.
  • Overall PAM-4 measurement algorithm for Eye mode

Measurement Algorithm

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the approximate signal-level amplitudes.
  3. Locate the crossing (transition) regions on both sides of the eyes.
  4. Determine the symbol period.
  5. Find the center of each eye. Note that the Receiver Sample Timing setting determines if only the middle eye (Eye 1/2) is located or if all three eyes are located (Eyes 0/1, 1/2, and 2/3).
    • If the Eye Center Location setting is set to Maximum Eye Width, determine the horizontal line (center amplitude) across the eye at the maximum eye width and find the time at the line's midpoint (center time).
    • If the Eye Center Location setting is set to Maximum Eye Height, determine the vertical line (center time) across the eye at the maximum eye height and find the amplitude at the line's midpoint (center amplitude).
  6. If the Time of Level setting is set to Eye Center, the following rules are used to determine the time location for measuring each level. At each time level, a vertical measurement "window" is centered and the RMS value of the eye's level is measured over this window. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period.
    7. Time Locations | PAM Waveform Levels and Eyes
Level 3: Center time of Eye 2/3. |
Level 2: Average time of Eye 2/3's center time and Eye 1/2's center time.
Level 1: Average time of Eye 1/2's center time and Eye 0/1's center time.
Level 0: Center time of Eye 0/1.
  7. If the Time of Level setting is set to Minimum RMS, the levels are measured by stepping a vertical measurement "window" in time across the entire symbol period and at each position measuring the RMS value (thickness) of each level. For each level, the minimum RMS value is selected. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period. For example, if the window is 25%, the symbol period is divided into four vertical measurement widows. The Eye Level Width setting can range from 1% to 25%. Generally, select a small percentage for measuring signals with poor quality eyes and a large percentage for good quality eyes.
  8. The RMS value for each level is measured at the time locations determined in the previous step.

To measure

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Level RMS button.


PAM Eye Levels

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Eye mode measurement of all three eye amplitude levels (vertical centers) of a PAM-4 signal. On NRZ signals, the vertical center of the single eye is measured.

Settings That Affect This Measurement
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode. Depending on measurement conditions, this command may not affect the measurement.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height. Depending on measurement conditions, this command may not affect the measurement.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.
  • Overall PAM-4 measurement algorithm for Eye mode

Measurement Algorithm

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the approximate signal-level amplitudes.
  3. Locate the crossing (transition) regions on both sides of the eyes.
  4. Determine the symbol period.
  5. Find the center of each eye. Note that the Receiver Sample Timing setting determines if only the middle eye (Eye 1/2) is located or if all three eyes are located (Eyes 0/1, 1/2, and 2/3).
    • If the Eye Center Location setting is set to Maximum Eye Width, determine the horizontal line (center amplitude) across the eye at the maximum eye width and find the time at the line's midpoint (center time).
    • If the Eye Center Location setting is set to Maximum Eye Height, determine the vertical line (center time) across the eye at the maximum eye height and find the amplitude at the line's midpoint (center amplitude).
  6. The Eye Level measurements are the amplitudes of the eye centers located above.

To measure

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Eye Levels button.


PAM Eye Linearity

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Eye mode measurement of the linearity RLM (Ratio Level Mismatch) between all four amplitude levels (0, 1, 2, 3) of a PAM-4 eye diagram. Linearity is a measure of the variance in amplitude separation (distribution) between the different PAM-4 levels.

Examples of PAM Signal Linearity
Good Linearity | Poor Linearity
V3-2 = V2-1 = V1-0 | V3-2 ≠ V2-1 ≠ V1-0

PAM linearity is measured as:

If the four levels measurements are the following values:

  • L3 = 14.6 mV
  • L2 = 7.5 mV
  • L1 = –8.0 mV
  • L0 = –15.2 mV

then, the linearity will be:

which is equal to 0.715.

The linearity ratio is always equal to or less than 1.0. The value 1.0 indicates that the separations between all levels are equal. For non-compliant measurements, you can use a PRBS signal. For compliant measurements, you will need to use compliance linearity pattern that is called out in the relevant standard.

Settings That Affect This Measurement
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Time of Level | Specifies the method used to locate the time at which to measure an eye's level.

Note

The linearity measurement in eye mode will not yield the same value as the linearity measurement in oscilloscope mode. This is due to the oscilloscope mode measurement being made at the center of individual bits, while eye mode measurements are made on the center of all acquired bits at once.

  • Overall PAM-4 measurement algorithm for Eye mode

Measurement Algorithm

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the approximate signal-level amplitudes.
  3. Locate the crossing (transition) regions on both sides of the eyes.
  4. Determine the symbol period.
  5. Find the center of each eye. Note that the Receiver Sample Timing setting determines if only the middle eye (Eye 1/2) is located or if all three eyes are located (Eyes 0/1, 1/2, and 2/3).
    • If the Eye Center Location setting is set to Maximum Eye Width, determine the horizontal line (center amplitude) across the eye at the maximum eye width and find the time at the line's midpoint (center time).
    • If the Eye Center Location setting is set to Maximum Eye Height, determine the vertical line (center time) across the eye at the maximum eye height and find the amplitude at the line's midpoint (center amplitude).
  6. Perform the Levels RMS ("thickness") and Levels measurement for all eye levels:
    • If the Time of Level setting is set to Eye Center, the following rules are used to determine the time location for measuring each level. At each time level, a vertical measurement "window" is centered and the RMS value of the eye's level is measured over this window. The amplitude at the RMS value gives the amplitude of each level. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period.
      • Time Locations | PAM Waveform Levels and Eyes
Level 3: Center time of Eye 2/3. |
Level 2: Average time of Eye 2/3's center time and Eye 1/2's center time.
Level 1: Average time of Eye 1/2's center time and Eye 0/1's center time.
Level 0: Center time of Eye 0/1.
    • If the Time of Level setting is set to Minimum RMS, the levels are measured by stepping a vertical measurement "window" in time across the entire symbol period and at each position measuring the RMS value (thickness) of each level. For each level, the minimum RMS value is selected. The amplitude at the RMS value gives the amplitude of each level. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period. For example, if the window is 25%, the symbol period is divided into four vertical measurement widows. The Eye Level Width setting can range from 1% to 25%. Generally, select a small percentage for measuring signals with poor quality eyes and a large percentage for good quality eyes.
  7. The Levels measurements derived in the previous step are placed in the following linearity formula:

To measure in Eye mode

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Linearity button.


PAM Eye Skews

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

In Eye mode, measures the skew (seconds or UI) of each of the three eyes of a PAM-4 eye diagram relative to the average center time of all eyes. On NRZ signals, this measurement measures the time at the center of the single eye.

Settings That Affect This Measurement
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Time Units | Sets the time units for measurement: seconds or unit intervals.
  • Overall PAM-4 measurement algorithm for Eye mode

The skew of each eye is calculated by:

  1. For each eye, determine the time at the eye's center, which is the time at the measured eye height. Eye height is affected by the Eye Opening Probability setting.
  2. Calculate the average time of all eyes.
  3. Skew for each eye is the time of the eye relative to the average time calculated in step 2.
  4. Display the measurements in the units specified in the Time Units setting.

To measure

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Eye Skews button.


PAM Eye Widths

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Eye mode measurement of the eye width (horizontal opening) for each of three eyes of a PAM-4 signal. On NRZ signals, the width of the single eye is measured. Select the measurements units in the Time Units setting. When the measurement is selected, the dialog box shown here is displayed. All the settings in this dialog box are linked to the settings in the PAM-4 Eye Width dialog box, except for the Select Signal field.

Settings That Affect This Measurement
Setting | Description
Settings selected at start of measurement
Eye Opening Definition | Selects the method used to determine the eye-opening: zero hits or probability.
Eye Opening Probability | Sets the eye-opening probability for the measurement when probability is selected for Eye Opening Definition.
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Time Units | Sets the time units for measurement: seconds or unit intervals.
  • Overall PAM-4 measurement algorithm for Eye mode

Measurement Algorithm

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the approximate signal-level amplitudes.
  3. Locate the crossing (transition) regions on both sides of the eyes.
  4. Determine the symbol period.
  5. Find the center of each eye. Note that the Receiver Sample Timing setting determines if only the middle eye (Eye 1/2) is located or if all three eyes are located (Eyes 0/1, 1/2, and 2/3).
    • If the Eye Center Location setting is set to Maximum Eye Width, determine the horizontal line (center amplitude) across the eye at the maximum eye width and find the time at the line's midpoint (center time).
    • If the Eye Center Location setting is set to Maximum Eye Height, determine the vertical line (center time) across the eye at the maximum eye height and find the amplitude at the line's midpoint (center amplitude).
  6. From the center of each eye the eye boundaries are located based on zero data "hits" or at an eye opening probability. The probability defines the ratio of total hits in a waveform database column that can occur in the eye's opening. The probablility can be set from 1 x 10–1 to 1 x 10–9 using the Eye Opening Probability setting. The default probability is 1 x 10–2. No extrapolation is used to determine Eye Widths at a specified probability.
  7. The Eye Width is reported.

To measure

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Eye Widths button.


PAM Levels

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

In Eye mode, measures all four amplitude levels (0, 1, 2, 3) of a PAM-4 eye diagram. In Oscilloscope mode, measures all four levels of a PAM-4 signal displayed as a single-valued waveform. On NRZ signals, this measurement will measure the zero and one levels.

In Oscilloscope Mode |  | In Eye/Mask Mode
 | Button in Oscilloscope Mode |  | Button in Eye/Mask Mode
Settings That Affect This Measurement in Eye Mode
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode. Depending on measurement conditions, this command may not affect the measurement.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height. Depending on measurement conditions, this command may not affect the measurement.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Time of Level | Specifies the method used to locate the time at which to measure an eye's level.
Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.
Settings That Affect This Measurement in Oscilloscope Mode
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.

Measurement Algorithm in Eye Mode

  • Overall PAM-4 measurement algorithm for Eye mode
  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the approximate signal-level amplitudes.
  3. Locate the crossing (transition) regions on both sides of the eyes.
  4. Determine the symbol period.
  5. Find the center of each eye. Note that the Receiver Sample Timing setting determines if only the middle eye (Eye 1/2) is located or if all three eyes are located (Eyes 0/1, 1/2, and 2/3).
    • If the Eye Center Location setting is set to Maximum Eye Width, determine the horizontal line (center amplitude) across the eye at the maximum eye width and find the time at the line's midpoint (center time).
    • If the Eye Center Location setting is set to Maximum Eye Height, determine the vertical line (center time) across the eye at the maximum eye height and find the amplitude at the line's midpoint (center amplitude).
  6. If the Time of Level setting is set to Eye Center, the following methods are used to determine the time location for measuring each level. At each time level, a vertical measurement "window" is centered and the RMS value of the eye's level is measured over this window. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period.
    7. Levels | Method to Find Location for Measurement
3 | Center time of Eye 2/3.
2 | Average time of Eye 2/3's center time and Eye 1/2's center time.
1 | Average time of Eye 1/2's center time and Eye 0/1's center time.
0 | Center time of Eye 0/1.
  7. If the Time of Level setting is set to Minimum RMS, the levels are measured by stepping a vertical measurement "window" in time across the entire symbol period and at each position measuring the RMS value (thickness) of each level. For each level, the minimum RMS value is selected. The width of the level measurement window is determined by the Eye Level Width percentage setting which is a percentage of the symbol period. For example, if the window is 25%, the symbol period is divided into four vertical measurement widows. The Eye Level Width setting can range from 1% to 25%. Generally, select a small percentage for measuring signals with poor quality eyes and a large percentage for good quality eyes.
  8. The Levels measurements are made at the location of the Levels RMS measurements (see previous two steps) by measuring the amplitude of each level.

To measure in Eye mode

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Levels button.

Measurement Algorithm in Oscilloscope Mode

  1. Identify one of each of the four logic levels on a PAM-4 signal or two levels on an NRZ signal.
  2. Determine the center 12.5% (1/8) interval of each identified level.
  3. Calculate the mean amplitude level over each identified interval.

Setting the Timespan in Oscilloscope Mode

You must set FlexDCA's timespan wide enough so that each logic level is visible on the screen. This would be four levels (0, 1, 2, 3) for a PAM-4 signal or two levels (0, 1) for an NRZ signal. Failure to set the timespan wide enough results in an error. Consider the following items when setting the timespan:

  • If multiple identical levels are displayed, the level that is present for the longest time will be selected for measurement. For example, if two logic levels are shown on the waveform, with one being 100 ps and the other being 150 ps, the 150 ps level is selected to be measured.
  • To be considered a measureable level, the level must include at least 50% of the leading and trailing edges.

To measure in Oscilloscope mode

  1. Select Oscilloscope Mode.
  2. Turn pattern lock on.
  3. Click Auto Scale in the menu toolbar.
  4. Adjust the time scale so that at least one of each of the four possible PAM levels or two of NRZ levels are displayed. Any number of the same level can be displayed, but there must be at least one of each level displayed.

    5. Note

    If the timespan is too narrow, the measurement results panel displays Region? or Level? instead of a measured value. Increase the timespan.

  5. Click the toolbar's PAM tab.
  6. On the toolbar, locate and click the Levels button.


PAM Levels Skews

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

In Eye mode, measures the skew (seconds or UI) of each level (0, 1, 2, 3) of a PAM-4 eye diagram relative to the average center time of all levels. On NRZ signals, this measurement will measure the level one and zero skew relative to each other.

Settings That Affect This Measurement
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
Time of Level | Specifies the method used to locate the time at which to measure an eye's level.
Time Units | Sets the time units for measurement: seconds or unit intervals.
  • Overall PAM-4 measurement algorithm for Eye mode

The skew of each level is calculated by:

  1. For each level, determine the time at which the level's thickness is at a minimum value. The minimum value is determined by minimum RMS or peak-to-peak values (Level Time Method setting).
  2. Calculate the average time for all levels measured in step 1.
  3. Skew for each level is the time of the level calculated in step 1 relative to the average time calculated in step 2.
  4. Display the measurements in the units specified in the Time Units setting.

To measure

  1. Select Eye/Mask Mode.
  2. Click Auto Scale in the menu toolbar.
  3. Click the toolbar's PAM tab.
  4. On the toolbar, locate and click the Level Skews button.


PAM Levels RMS

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

In Oscilloscope mode, measures the RMS amplitude all four levels (0, 1, 2, 3) of a PAM-4 signal. The PAM-4 signal must be displayed as a single-valued waveform with all four logic levels displayed. On NRZ signals, this measurement measures the zero and one levels.

Settings That Affect This Measurement in Oscilloscope Mode
Setting | Description
PAM-N Analysis Setup Dialog Box Settings
Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.

Setting the Timespan

You must set FlexDCA's timespan wide enough so that each logic level is visible on the screen. This would be four levels (0, 1, 2, 3) for a PAM-4 signal or two levels (0, 1) for an NRZ signal. Failure to set the timespan wide enough results in an error. Consider the following items when setting the timespan:

  • If multiple identical levels are displayed, the level that is present for the longest time will be selected for measurement. For example, if two logic levels are shown on the waveform, with one being 100 ps and the other being 150 ps, the 150 ps level is selected to be measured.
  • To be considered a measureable level, the level must include at least 50% of the leading and trailing edges.

Measurement Algorithm

  1. Identify one of each of the longest four logic levels on a PAM-4 signal or two levels on an NRZ signal.
  2. For each level, measure the RMS value of each data point over time.
  3. For each level, determine the average RMS value of all of the level's data points.

To measure

  1. Select Oscilloscope Mode.
  2. Turn pattern lock on.
  3. Click Auto Scale in the menu toolbar.
  4. Adjust the time scale so that at least one of each of the four possible PAM levels or two of NRZ levels are displayed. Any number of the same level can be displayed, but there must be at least one of each level displayed.

    5. Note

    If the timespan is too narrow, the measurement results panel displays Region? or Level? instead of a measured value. Increase the timespan.

  5. Click the toolbar's PAM tab.
  6. On the toolbar, locate and click the Levels RMS button.


PAM Linearity

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Oscilloscope mode measurement of the linearity RLM (Ratio Level Mismatch) of all four amplitude levels (0, 1, 2, 3) of a PAM-4 signal. Linearity is a measure of the variance in amplitude separation (distribution) between the different PAM-4 levels. The PAM-4 signal must be displayed as a single-valued waveform and all four logic levels should be visible on the display.

Note

The linearity measurement in eye mode will not yield the same value as the linearity measurement in oscilloscope mode. This is due to the oscilloscope mode measurement being made at the center of individual bits, while eye mode measurements are made on the center of all acquired bits at once.

Pattern Lock is Required

The PAM-4 waveform must be displayed as a single-valued waveform. To accomplish this, turn pattern lock on using the :TRIGger:PLOCk command (requires instrument Option ETR).

Examples of PAM Signal Linearity
Good Linearity | Poor Linearity
V3-2 = V2-1 = V1-0 | V3-2 ≠ V2-1 ≠ V1-0

If the four levels measurements are the following values:

  • L3 = 14.6 mV
  • L2 = 7.5 mV
  • L1 = –8.0 mV
  • L0 = –15.2 mV

then, the linearity will be:

which is equal to 0.715.

The linearity ratio is always equal to or less than 1.0. The value 1.0 indicates that the separations between all levels are equal. For non-compliant measurements, you can use a PRBS signal. For compliant measurements, you will need to use compliance linearity pattern that is called out in the relevant standard.

Setting the Timespan

You must set FlexDCA's timespan wide enough so that each logic level is visible on the screen. This would be four levels (0, 1, 2, 3) for a PAM-4 signal or two levels (0, 1) for an NRZ signal. Failure to set the timespan wide enough results in an error. Consider the following items when setting the timespan:

  • If multiple identical levels are displayed, the level that is present for the longest time will be selected for measurement. For example, if two logic levels are shown on the waveform, with one being 100 ps and the other being 150 ps, the 150 ps level is selected to be measured.
  • To be considered a measureable level, the level must include at least 50% of the leading and trailing edges.

Measurement Algorithm

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the longest of each of the four levels and measure the level at the center 12.5% (1/8) of individual bits.
  3. The Levels measurements are placed in the following linearity formula:

To measure

  1. Select Oscilloscope Mode.
  2. Turn pattern lock on.
  3. Click Auto Scale in the menu toolbar.
  4. Adjust the time scale so that at least one of each of the four possible PAM levels or two of NRZ levels are displayed. Any number of the same level can be displayed, but there must be at least one of each level displayed.

    5. Note

    If the timespan is too narrow, the measurement results panel displays Region? or Level? instead of a measured value. Increase the timespan.

  5. Click the toolbar's PAM tab.
  6. On the toolbar, locate and click the Linearity button.


Channel Probe Setup

The following table lists the probes that are directly supported by the 86100D with the required probe adapter. When you connect the adapter's power cable to the module's front-panel probe power connector, the Probe Setup dialog box is displayed. In this dialog box, select the probe that most closely matches the probe you are using.

Note

The 86100D detects when a probe-power connection is made but cannot detect any information about the attached probe. You must use the External Hardware Setup dialog box to enter the probes parameters.

Directly Supported Probes
Probe | Attenuation Factor | Bandwidth | Required Adapter
N2803A | 6:1 | 30 GHz | N5477A
N2802A | 6:1 | 25 GHz
N2801A | 6:1 | 20 GHz
N2800A | 6:1 | 16 GHz
1169A | 3.45:1 | 13 GHz | N1022A/B
1168A | 3.45:1 | 10 GHz
1158A | 10:1 | 4 GHz
1157A | 10:1 | 2.5 GHz
1156A | 10:1 | 1.5 GHz
1152A | 10:1 | 2.5 GHz
1134A | 10:1 | 7 GHz
1132A | 10:1 | 5 GHz
1131A | 10:1 | 3.5 GHz

Once you have setup your probe, you can access the Probe Setup dialog box through the Channel Setup dialog box. Click Setup > Modules > Channels X to open the Channel Setup dialog box. In the dialog box, click External HW to open the External Hardware Setup dialog box shown in the following picture. Click Setup to reconfigure the probe definition.

N2800A-Series InfiniiMax III Probes

Connecting N2800A-series InfiniiMax III probes requires additional cautions and steps as documented in the following topics:

To protect against ESD damage, study the following information before connecting your probe to the oscilloscope.

  • Connecting N2800A-Series InfiniiMax III Probes
  • Disconnecting N2800A-Series InfiniiMax III Probes
  • Calibrating N2800A InfiniiMax III Probes
  • Probing Cautions for N2800A-Series InfiniiMax III Probes

General Information

For more information on probes, refer to the following topics:

  • Recommended Accessory Probes
  • N1022B Active Probe Adapter
  • Selecting a Probe
  • Probe Loading

Probing a signal can be easy and successful if some forethought is given to the nature of the circuit under test and what type of probe best solves the measurement problem. Two issues are raised when measuring a signal with a probe:

  • how the probe and instrument combination represents the signal at the probe tip
  • how the probe affects the measurement

Due to a wide variety of signals that may be encountered, which range from high bandwidth (fast rise times) to high impedance, one type of probe may be more effective than another type. Therefore, it is helpful to understand the different effects caused by the interaction between the probed circuit and the probe. When a probe is connected to the instrument to measure a signal it becomes part of the circuit under test. The probe can then degrade the circuit under test. The new circuit will behave differently than the circuit without the probe. The following picture displays the probe as part of the circuit under test.

Note

The response of the probe is part of the overall measurement system response.

Use the 86100D Probe Channel dialog box to select the probe model that is connected to an electrical channel. Selecting a probe model in the Probe ID list, resets the channel attenuation factor and invalidates any current probe calibration. Therefore, always perform a new probe calibration after selecting a probe. If you are using an AutoProbe style probe that is not in the supported probe list, select one of the probes from the list that is closest in type to your unspecified probe.

If you are using a differential probe, select the type of signal that you are measuring in the Probe Usage area: single-ended or differential. If a differential measurement is selected, the probe calibration routine calibrates the probe for a 0V offset, and then sets the vertical offset control to the probe. The vertical offset control, located on the module's front panel, moves the measured signal on the display without actually changing the offset voltage to the probe.

After selecting the probe and clicking the Close button, you can change the probe tips or probe attenuation factor. The vertical offset control located on the front panel of many plug-in modules can be used to adjust probe offset.


Recommended Accessory Probes

N2800A InfiniiMax III probe (16 GHz)

The N2800A InfiniiMax III active probe is a probe solution for high frequency applications. Refer to the N2800A documentation for the latest information on product specifications. An N5477A Sampling Oscilloscope Adapter is required to use the N2800A. The following are the main features:

  • 16 GHz BW
  • 6:1 attenuation
  • 100 KΩ Zin
  • 2.5 Vp-p dynamic range

Always use the proper connection technique when connecting N2800A-series probes to the oscilloscope.

N2801A InfiniiMax III probe (20 GHz)

The N2801A InfiniiMax III active probe is a probe solution for high frequency applications. Refer to the N2800A documentation for the latest information on product specifications. An N5477A Sampling Oscilloscope Adapter is required to use the N2800A. The following are the main features:

  • 20 GHz BW
  • 6:1 attenuation
  • 100 KΩ Zin
  • 2.5 Vp-p dynamic range

Always use the proper connection technique when connecting N2800A-series probes to the oscilloscope.

N2802A InfiniiMax III probe (25 GHz)

The N2802A InfiniiMax III active probe is a probe solution for high frequency applications. Refer to the N2800A documentation for the latest information on product specifications. An N5477A Sampling Oscilloscope Adapter is required to use the N2800A. The following are the main features:

  • 25 GHz BW
  • 6:1 attenuation
  • 100 KΩ Zin
  • 2.5 Vp-p dynamic range

Always use the proper connection technique when connecting N2800A-series probes to the oscilloscope.

N2803A InfiniiMax III probe (30 GHz)

The N2803A InfiniiMax III active probe is a probe solution for high frequency applications. Refer to the N2800A documentation for the latest information on product specifications. An N5477A Sampling Oscilloscope Adapter is required to use the N2800A. The following are the main features:

  • 30 GHz BW
  • 6:1 attenuation
  • 100 KΩ Zin
  • 2.5 Vp-p dynamic range

Always use the proper connection technique when connecting N2800A-series probes to the oscilloscope.

N2750/1/2A Differential Probes

The N2750/1/2A probes can be used with the 86100D, however the probe can be used only in 2:1 differential mode. Common and single-ended measurements are not available. An N1022A/B Active Probe Adapter is required to use the N2800A.

  • N2752A 2:1 Differential Bandwidth
    • Browser tip: 6 GHz
    • Socketed tip: 3 GHz
    • Solder-in tip: 2.5 GHz
  • N2751A 2:1 Differential Bandwidth
    • Browser tip: 3.5 GHz
    • Socketed tip: 3 GHz
    • Solder-in tip: 2.5 GHz
  • N2750A 2:1 Differential Bandwidth
    • Browser tip: 1.5 GHz
    • Socketed tip: 1.5 GHz
    • Solder-in tip: 1.5 GHz

1131A Active Probe

The 1131A 3.5 GHz InfiniiMax active probe is a probe solution for high frequency applications. Refer to the 1131A documentation for the latest information on product specifications. An N1022A/B Active Probe Adapter is required to use the 1131A. Following are the main features:

  • 3.5 GHz bandwidth
  • 25 KΩ single mode/ 50 K Ω differential mode input resistance
  • 10:1 DC attenuation
  • ± 2.5 Vdc dynamic range
  • ± 12V variable DC offset
  • > 8 KV from 100 pF, 300 Ω HBM

1132A Active Probe

The 1132A 5 GHz InfiniiMax active probe is a probe solution for high frequency applications. Refer to the 1132A documentation for the latest information on product specifications. An N1022A/B Active Probe Adapter is required to use the 1132A. Following are the main features:

  • 5 GHz bandwidth
  • 25 KΩ single mode/ 50 K Ω differential mode input resistance
  • 10:1 DC attenuation
  • ± 2.5 Vdc dynamic range
  • ± 12V variable DC offset
  • > 8 KV from 100 pF, 300 Ω HBM

1134A Active Probe

The 1134A 7 GHz InfiniiMax active probe is a probe solution for high frequency applications. Refer to the 1134A documentation for the latest information on product specifications. An N1022A/B Active Probe Adapter is required to use the 1134A. Following are the main features:

  • 7 GHz bandwidth
  • 25 D Ω single mode/ 50 D Ω differential mode input resistance
  • 10:1 DC attenuation
  • ± 2.5 Vdc dynamic range
  • ± 12V variable DC offset
  • > 8 DV from 100 pF, 300 Ω HBM

1156A Active Probe

The 1156A 1.5 GHz active probe is a probe solution for high frequency applications. Refer to the 1156A documentation for exact information on product specifications. An N1022A/B Active Probe Adapter is required to use the 1156A. Following are the main features:

  • 1.5 GHz bandwidth
  • 10:1 DC attenuation
  • ± 5 Vdc dynamic range
  • ± 15V DC offset

1157A Active Probe

The 1157A 2.5 GHz active probe is a probe solution for high frequency applications. Refer to the 1157A documentation for the latest information on product specifications. An N1022A/B Active Probe Adapter is required to use the 1157A. Following are the main features:

  • 2.5 GHz bandwidth
  • 10:1 DC attenuation
  • ± 5 Vdc dynamic range
  • ± 15V DC offset

1158A Active Probe

The 1158A 4 GHz active probe is a probe solution for high frequency applications. Refer to the 1158A documentation for the latest information on product specifications. An N1022A/B Active Probe Adapter is required to use the 1158A. Following are the main features:

  • 4 GHz bandwidth
  • 10:1 DC attenuation
  • ± 5 Vdc dynamic range
  • ± 15V DC offset

1168A Active Probe

The 1168A 10 GHz InfiniiMax active probe is a probe solution for high frequency applications. Refer to the 1168A documentation for the latest information on product specifications. An N1022A/B Active Probe Adapter is required to use the 1168A. Following are the main features:

  • Bandwidth: 10 GHz
  • Dynamic Range: 3.3 V peak to peak
  • DC Offset Range: ± 16 V
  • Maximum Voltage: ± 30V
  • Differential Input R: 50K ohm. Differential Input C: 0.21 pF.
  • Single Ended Input R: 25K ohm. Single Ended Input C: 0.35 pF.

1169A Active Probe

The 1169A 12 GHz InfiniiMax active probe is a probe solution for high frequency applications. Refer to the 1169A documentation for the latest information on product specifications. An N1022A/B Active Probe Adapter is required to use the 1169A. Following are the main features:

  • Bandwidth: 12 GHz specified (13 GHz typical)
  • Dynamic Range: ± 3.3 V
  • DC Offset Range: ± 16V
  • Maximum Voltage: ± 30V
  • Differential Input R: 50K ohm
  • Differential Input C: 0.21 pF.
  • Single Ended Input R: 25K ohm.
  • Single Ended Input C: 0.35 pF.


Calibrating N2800A InfiniiMax III Probes

N2800A-SERIES PROBES

  • Connecting
  • Disconnecting
  • Probing Cautions

The following procedure calibrates the probe's DC accuracy at a default level of 5.0 mV. Since this is a DC calibration, the probe amplifier's position is not critical, only good physical lead contact is required. Probe calibration identifies the probe's gain and offset and then applies those factors to the calibration of that channel. The 86100D calibrates the voltage at the tip of the probe or the cable input. Because, for active probes (for example, an 1168A), the 86100D can identify the gain and offset factors through the probe power connector and automatically adjust the vertical scale factors for that channel, a probe calibration does not have to be performed, but is recommended. For passive probes or non-identified probes, the 86100D adjusts the vertical scale factors only if a probe calibration is performed.

Use the N5443A Calibration/Deskew Fixture to properly position the probe amplifier during the procedure. If you are using the browser probe head, you can also use the N2787A 3D Probe Positioner, if available, to hold the browser in place. Otherwise, it is possible to gently hand hold the browser on the N5443A. To make calibration easier when using an N5445A browser head, you can optionally remove the plastic holder from the fixture by removing the four screws on the bottom side of the holder. Use a TORX T6 x 60 driver.

Note

Since the following probe calibration only removes offset and gain effects, a high-frequency fixture is not needed. However, any fixture should not introduce any loss between the probe tip and the BNC connector.

Always use a static-safe workstation when connecting or probing with N2800A-series probes.

Procedure

  1. Click Tools > Calibrations and calibrate the module for the channel where you intend to connect the probe.
  2. Using the N5477A adapter, connect the probe to a channel input on the oscilloscope.

    3. Always use the correct connection technique.

  3. Turn on the channel to which the probe is connected.

    4. Note

    Instead of using the N4553A fixture as described in the following two steps, as an alternative you can connect a cable to the front-panel DC Cal connector and hand probe the end of the cable. The positive (+) probe lead should be connected to the cable's center conductor. Skip to step 7.

  4. Confirm that the 50 ohm terminator (included with N5443A) is connected to the fixture.
  5. Holding the N5443A upright, use an adapter to connect the N5443A to the 86100D's DC Cal connector. The following picture shows the browser head probe placed on the fixture using a probe positioner. On the fixture, the center gold trace is the signal and the large plates on either side are both ground as shown below. The positive (+) lead of the probe is connected to the fixture's signal trace and the negative (–) lead to the ground area.
    • If you are using a browser head as shown in the picture, remove the fixture's plastic holder from the N5443A.
    • If you are using the ZIF probe head or the Solder-in probe head, do not remove the fixture's plastic holder. Instead, insert the probe amplifier into the top of the fixture holder. The amplifier can slide up and down in the holder to adjust the probe head position. Use the fixture's three spring-loaded fingers to clamp the probe head wires to the fixture.

    When connecting the probe head to the fixture, do not press down with much force or you could snap off the fixture from the Cal Out connection. Light contact is all that is needed for the calibration.

    Never solder a probe tip to the thickfilm gold. The gold will immediately dissolve into the solder and disappear.

  6. Click Tools > Calibrations and, in the Calibrations dialog box, select the Probes tab.
  7. Click the Calibrate for the appropriate channel. Wait for the calibration to complete. This particular combination of probe amplifier, probe head, and oscilloscope channel input has been calibrated.

Note

When used on an 86100D oscilloscope, the probe amplifier's DC Cal LED will not turn green. This does not indicate a problem with the calibration or probe amplifier.


Connecting N2800A InfiniiMax III Probes

N2800A-SERIES PROBES

  • Calibrating
  • Disconnecting
  • Probing Cautions

Connecting N2800A-Series InfiniiMax III probes to an 86100D module requires the following steps. In addition, an N5477A Sampling Oscilloscope Adapter is required.

N5477A Sampling Oscilloscope Adapter

To protect against ESD damage, always use the following steps when connecting your probe to the oscilloscope.

Always use a static-safe workstation when connecting or probing with N2800A-series probes.

Procedure

  1. Click Tools > Calibrations and calibrate the module for the channel where you intend to connect the probe.
  2. If the Device Under Test (DUT) is not grounded to the oscilloscope via the AC mains ground, connect the DUT ground to the oscilloscope ground. An example of a device having a floating ground would be a battery-powered DUT. The 86100D has two front-panel ground sockets. One is located at the lower right corner of the frame and the other is located at the lower left corner.
  3. Connect the N5477A adapter's NMD/3.5 mm connector to an 86100D channel input. Connect the N5477A's power cord to either the probe-power connector on a module's front panel (if the module being used has this receptacle) or to an 1143A probe power module.

    4. At this point, the N2800A-series probe amplifier must not be connected to the oscilloscope or the probe head.

  4. Attach the probe head to the DUT. Also connect any accessories (for example, extension cables) to the probe head. This does not apply to the browser probe head.

  5. Connect the probe amplifier to the N5477A while hand tightening the connection.

  6. The 86100D's Probe Channel dialog box automatically opens.

  7. Select the N2800A-series probe from the list. Select either Single Ended Signal or Differential Signal as the signal type that will be probed.
  8. Close the dialog box.
  9. Connect the probe head to the probe amplifier. If you are using the browser head, probe any location on the DUT before making the probe head-to-amplifier connection.

    10. When connecting a probe head to a probe amplifier, push straight in. When disconnecting a probe head from an amplifier, pull the probe head connectors straight out of the sockets. Never bend the probe head in order to pry it loose from the amplifier. Also, do not wiggle the probe head up and down or twist it to remove the connectors from the sockets. This can damage the pins in the amplifier or the probe head itself.

  10. Perform a probe calibration.

To avoid damage when moving the probe to a different oscilloscope channel or otherwise disconnecting the probe from the oscilloscope, always use the proper procedure.


Disconnecting N2800A InfiniiMax III Probes

N2800A-SERIES PROBES

  • Connecting
  • Calibrating
  • Probing Cautions

Always disconnect the probe head from the probe amplifier before:

  • Disconnecting the probe amplifier from the oscilloscope.
  • Moving the probe amplifier from one oscilloscope channel to another.

Never allow the probe head to be connected to the probe amplifer, if the probe amplifier is not connected to the oscilloscope channel.

Never disconnect the probe from the oscilloscope while the probe head is connected to the probe amplifier.


Probing Cautions for N2800A-Series InfiniiMax III Probes

N2800A-SERIES PROBES

  • Connecting
  • Disconnecting
  • Calibrating

When making your measurements, you�ll often need to probe different location on the DUT. You can safely move any of the following three probe heads without having to first break the amplifier-to-head connection:

  • N5445A differential browser head
  • N5439A ZIF head
  • N5444A 2.92 mm/3.5 mm/SMA head

The only exception is when the DUT is not grounded to the oscilloscope via the AC mains ground. In this case, connect the DUT ground to the oscilloscope ground before moving the probe. An example of a device having a floating ground would be a battery-powered DUT.

When probing with an N54441A solder-in probe head, always disconnect the probe head from the amplifier before moving the head to a new probing point. This is because some soldering-iron tips can hold a charge which can damage the probe amplifier.

Always disconnect an N54441A solder-in probe head from the probe amplifer before unsoldering, moving to a new position, and resoldering the head.


Probe Loading

In this topic …

  • Capacitive Loading Effects of Probes
  • Ground Inductance Effects of Probes
  • Combined Probe Loading
  • Resistive Loading Effects of Probes
  • Probe Bandwidth
  • System Bandwidth at the Probe Tip

Capacitive Loading Effects of Probes

The input capacitance of a probe causes the overall input impedance to decrease as a function of frequency. For this reason, input capacitance becomes one of the most important parameters that affect high frequency measurements. The following graphic plots the probe impedance against frequency for two probes: a 1 M Ω , 6 pF probe and the 54701A probe (100 k Ω , 0.6 pF).

You will notice that due to the lower input capacitance, the 54701A probe actually has higher input impedance for frequencies above 240 kHz. At frequencies above 2.65 MHz, it has as much as 10 times the impedance of the 1 M Ω probe.

The input capacitance of a probe forms an RC time constant with the parallel combination of source impedance and probe input resistance. This can cause an increase in the circuit rise time and a time delay in a pulse edge. The following graphic represents plots from three SPICE simulations showing this loading effect.

Note

The circuit used in this graphic is modeled after a 50Ω system with a 1 ns source and terminated transmission line with 500-ps delay. The inset graphic shows the SPICE model, with the probe point where the probe was connected. As signals achieve faster rise times, probes with lower input capacitance are required to make accurate timing and rise time measurements.

Graph Plot Definitions
Plot Number | Rise Time | Delay
1 - shows the signal edge before probing | 1 ns | 0.0 ps
2 - shows the edge after probing with a 6 pF probe | 1.067 ns | 150 ps
3 - shows the edge after probing with a 15 pF probe | 1.33 ns | 340 ps

Note

You will notice that the 6 pF probe did not significantly increase the rise time of the signal, but delayed it (referenced at the 50% point) approximately 150 ps. The 15 pF probe not only slowed the rise time approximately 33% but also delayed the edge 340 ps.

The capacitive loading of the probes can attenuate a glitch, remove ringing or overshoot, or slow an edge just enough that a setup of hold time violation no longer occurs. The RC time constant of the output impedance of the circuit under test and the capacitance of the probe should be very small compared to the signal rise time.

Ground Inductance Effects of Probes

Probe grounding techniques are an important factor in making accurate high frequency measurements. The main limitation, probe resonance, is a function of the input capacitance of the probe and the inductance of the ground return. These two parameters in series form an LC resonant circuit that, when connected to the circuit under test, becomes part of the circuit's response.

The probe resonance can cause overshoot and ringing on pulse edges that contain energy in the same frequency band as the resonance. The true response is masked, the false response gets transferred to the instrument, and the instrument display shows an incorrect result. If overshoot and ringing added by a probe during troubleshooting changes how the circuit functions, it can lead to an incorrect judgment about circuit operation.

To minimize the problem of ground ringing, use the shortest possible ground with a probe that has the lowest possible input capacitance. The following equation can be used to calculate the frequency where a certain probe and grounding technique resonates.

where

C is the probe input capacitance. It is usually found in the probe data sheet.

L is the inductance of the ground return. It can be approximated using the constant of 25 nH per inch.

Combined Probe Loading

The probe load has both resistive and capacitive components. In addition to this, there is inductance in the probe ground lead. The following graphic shows a simplified diagram of the circuit with the probe attached to indicate the principal loading effects.

The probe capacitive loading (C probe) to ground forms an RC circuit with the resistance looking into the probe and source (R source). The time constant of this RC circuit slows the rise time of any transitions, decreases the slew rate, and introduces delay in the actual time of transitions. The approximate rise time of a simple RC circuit is 2.2 RC.

The resistance of the probe to ground forms a divider network with the source resistance of the circuit under test. This reduces the signal amplitude and the DC offset. For example, if the probe's resistance is 9 times the Thevenin output resistance of the circuit under test, the amplitude is reduced by about 10 percent. Therefore, if your waveform has a +5V to +0.8V range, the instrument probe system shows a +4.5V to +0.72V range as shown in the figure below. The following figure shows reduced amplitude and DC offset, the results caused by probe loading.

Note

At high frequencies, the probe reactance dominates the resistance.

The capacitance of the probe tip to ground forms an RC circuit with the output resistance of the circuit under test. The time constant of this RC circuit slows the rise time of any transitions, increases the slew rate, and introduces delay in the actual time of transitions. The approximate 10% to 90% rise time of a simple RC circuit is

where

For example, the actual rise time of a circuit with a resistance of 100 Ω , an instrument probe system resistance of 1 M Ω , and a probe capacitance of 8 pF is

Therefore, for an output resistance of 100 Ω and a probe tip capacitance of 8 pf, the rise time at the node under test cannot be faster than approximately 1.8 ns, although it might be faster without the probe. If the output of the circuit under test is current-limited (as is often the case for CMOS), the slew rate is limited by the relationship dV/dT = I/C. The effects of probe capacitance are displayed in the following figure.

Perhaps you have connected an analyzer to a circuit for troubleshooting only to have the circuit operate correctly after connecting the probes. The capacitive loading of the probes can attenuate a glitch, remove ringing or overshoot, or slow an edge just enough that a setup or hold time violation no longer occurs.

The inductance of the probe ground lead forms an LC circuit with the probe's capacitance and the output capacitance of the circuit under test, including any parasitic capacitance of PC board traces, and so on. The ringing frequency of this circuit is

If the rise time of the signal is sufficient to include frequency content sufficient to stimulate this ringing, then it can appear as part of the captured signal. An approximation of the bandwidth of the signal is

To calculate the ringing frequency, assume the probe ground wire has an inductance of approximately 25 nH per inch. Therefore, a probe with a tip capacitance of 8 pF and a 4-inch ground wire has a ringing frequency of approximately 178 MHz (not including the circuit capacitance). In this case, a signal with a rise time of less than 1.9 ns can stimulate ringing.

Resistive Loading Effects of Probes

The two major effects caused by resistive loading are amplitude distortion and changes in DC bias conditions in the circuit under test.

Amplitude Distortion

Refer to the following graphic to view amplitude distortion. Note that waveform 1 is the signal before probing and waveform 2 is the signal while probing. The baselines of these signals have been overlayed to show the change in amplitude. If the baseline of a signal is not at zero volts it will shift when the signal is probed.

The cause of the error is the voltage divider developed between the source resistance of the device under test and the input resistance of the probe being used. The following equation calculates the error caused by the voltage divider.

A probe with an input resistance ten times that of the source resistance of the device under test causes a 9.09% error in the measurement. It is best to use a probe with an input resistance at least ten times that of the source resistance.

Bias Changes

Probes with low input resistance can cause bias changes in the device under test. An example of this effect can be seen when probing ECL circuits. The following graphic depicts a typical ECL node with a 60 Ω bias resistor to –2V. I p represents current that flows from ground into the circuit when the probe is connected.

The table shows the current that flows in each device at both the high (–0.8V) and low (–1.75V) states, with and without a 500 Ω probe connected.

Current Flows for High and Low Logic States
 | High (–0.8V) |  | Low (–1.75V)
Current Path | Without Probe | With Probe | Without Probe | With Probe
IO | 20 mA | 18.4 mA | 4.2 mA | 0.7 mA
IR | 20 mA | 20 mA | 4.2 mA | 4.2 mA
IP |  | 1.6 mA |  | 3.5 mA

Probing ECL Circuits

You will notice that in the high state there is little difference in current flow with or without the probe connected. However, in the low state, the output stage is closer to cutoff. In the low state, connecting the probe will source current into the output node. This will reduce the current that is sourced from the gate output. The output current then drops from 4.2 mA to 0.7 mA. This low output current can cause problems with switching noise margins. The output gate will have difficulty reaching the low threshold, causing AC performance to degrade. Be careful not to use a probe just because it has the highest input resistance available. High-resistance probes usually come with tradeoffs in other important parameters, such as higher capacitance, which also affect measurement accuracy.

Probe Bandwidth

Errors in measurements occur when the frequency content (–3 dB point) of the signal being measured approaches or exceeds the bandwidth of the probe. The probe can be modeled as a low-pass filter for the signal. For example, if a 700 MHz probe is used to measure a 1 ns signal, the rise time error can be calculated using the following two equations. For this example, assume that the instrument bandwidth is great enough not to contribute any errors.

  1. Calculate the rise time of the 700 MHz probe using the equation:

  2. Calculate the rise time of the 1 ns signal as measured by the 700 MHz probe. Use the following equation where, tr1 is the rise time of the probe and tr2 is the rise time of the signal:

    3. Note

    The measurement error between the actual signal and what was measured is 12%. To keep measurement errors less than 6%, use a probe with a bandwidth three or more times that of the signal.

  3. Calculate the bandwidth of the 1 ns signal:

    4. Note

    Use a probe with a bandwidth of 1.05 GHz (the rise time is 0.333 ns, equation 1).

  4. Calculate the rise time of the 1-ns signal measured by the 1.05-GHz probe (equation 2).The measurement error is now less than 6%.

System Bandwidth at the Probe Tip

System bandwidth is the bandwidth of the instrument when a probe is used. This bandwidth greatly impacts measurements because the probe becomes part of the circuit being measured. The bandwidth of the combined instrument and probe system must be sufficient to accurately reproduce the input signal. Otherwise, time-interval measurements are inaccurate. For example, the rise time that is measured depends on

  • the actual rise time of the input signal
  • the rise time of the instrument/probe system

The following equation calculates the measured rise time:

where

tr1 is the rise time of the probe and tr2 is the rise time of the signal. If the instrument and probe have a combined rise time of 1 ns, and the signal also has a 1 ns rise time, the measured rise time is

The answer is in error by 41 percent. If the instrument and probe have a combined rise time of 330 ps, and the signal has a 1 ns rise time, the measured rise time is

Now the error is only 5 percent. For an error of less than 5 percent, the combined system rise time of the instrument and probe should be less than 1/3 the rise time of the measured signal. For an error of less than 1 percent, the combined system rise time should be less than 1/7 of the rise time of the measure signal.

Note

In most cases, the combined bandwidth can be assumed to be the same as that of the probe alone, due to the wide bandwidth of the instrument compared to the bandwidth of a typical probe.


N1022A/B Active Probe Adapter

The N1022B and N1022A Active Probe Adapter allows you to connect active probes that use the Infiniium AutoProbe Interface to an electrical channel. After connecting the probe, the instrument automatically detects the connection and prompts you to select the probe's model number from a list. The vertical offset control located on the front panel of many plug-in modules can be used to adjust probe offset.

There are a few things to consider when connecting the N1022A/B Active Probe Adapter to an active probe and the DCA.

  • The dynamic range of the system will be 3.2V (6.4Vp-p), which, with probe offset, covers most digital technologies.
  • The DCA provides both power and offset control to the active probe adapter through the plug-in module front-panel connector.
  • Probe offset is changed by adjusting the vertical offset control located on the plug-in module front panel. The control should be adjusted to center the signal within the 5V peak-to-peak (12 volts peak-to-peak for slow signals) dynamic range of the probe.

Electrical channel input circuits can be damaged by electrostatic discharge (ESD). Therefore, avoid applying static discharges to the front panel input connectors. Avoid touching the front-panel input connectors without first touching the frame of the instrument. Be sure that the instrument is properly earth-grounded to prevent buildup of static charge. Wear a wrist-strap or heel-strap.

Channels with 2.4 mm Electrical Input

The N1022A/B can be directly connected to any 86100-series or 83480-series module with a 3.5 mm electrical channel input. You can also connect the probe adapter to a module with 2.4 mm electrical input. However, in order to connect to a 2.4 mm input, you must use a 2.4 mm (F) to 3.5 mm (M) adapter, Keysight part number 85130-60010.

Supported Probes

  • N2750/1/2A Differential probe. 2:1 differential mode only.
  • 1131A 3.5 GHz InfiniiMax active probe
  • 1132A 5 GHz InfiniiMax active probe
  • 1134A 7 GHz InfiniiMax active probe
  • 1168A 10 GHz InfiniiMax active probe
  • 1169A 12 GHz InfiniiMax active probe
  • 1152A 2.5 GHz Active Probe
  • 1156A 1.5 GHz active probe
  • 1157A 2.5 GHz active probe
  • 1158A 4 GHz active probe

Available Accessory

8 in-lbs torque wrench: Keysight part number 8710-1764

Procedure

  1. Connect the N1022A/B probe adapter to the electrical input of the module. This requires holding the N1022A/B's connector steady while turning the module's input connector. This action threads the module's connector into the N1022A/B's connector. Torque the connection to 8 in-lbs. An 8 in-lbs torque wrench is available from Keysight. Order part number 8710-1764.

    2. To ensure good connections and to avoid damaging the connectors, tighten the connection to 8 in-lbs of torque. After the adapter is connected, do not allow the adapter to rotate on the front-panel connection.

  2. Connect the probe output to the probe adapter input. The probe tip should not be connected to a device under test at this time.
  3. Connect the probe adapter's power connector to the module's front-panel Probe Power connector for the associated channel. Do not make the connection to any Aux Power connector, if one is present on the module's front panel. Connecting to an Aux Power connector prevents the probe from being automatically calibrated.

    4. The probe power cable connector automatically locks in the mating power connector. To separate the connection, you must pull on the knurled part of the cable connector housing. This releases the lock. If you pull directly on the power cable, the connectors will not release and may damage the connector or cable. An effort has been made to design this active probe adapter to take more than the average amount of physical and electrical stress. However, the technologies necessary to achieve high performance do not allow the probe to be unbreakable. Treat the probe adapter with a moderate amount of care.

  4. The 86100D's Probe Channel dialog box automatically opens.

  5. Select the the probe model that is currently connected to the probe adapter. If you are using a probe that is not listed in the supported probe list, select one of the probes from the supported list that is closest in type to your unspecified probe.
  6. Click Close. You can now change the probe tips or probe attenuation. You can also perform a probe calibration.
  7. Perform the probe calibration procedure so that the DC gain, offset zero, and offset gain will be calibrated.


Selecting a Probe

There is no such thing as the perfect probe, so you must use some discretion in choosing the best type of probe for each measurement. To make the correct choice, it's helpful to know the equivalent circuit of the circuit under test. Some knowledge of the expected signal, particularly its rise time or spectral content, is useful in making a probe choice. It is also important to know what parameter (voltage or time) you need to measure most accurately, because some trade-off may be required in the measurement. There are two common types of probes suitable for use with the instrument. Each type has different loading effects. There is the active probe like the 54701A, and the resistive divider probe for 50Ω inputs.

Active Probes

An active probe has a buffer amplifier at the tip, as shown in the following graphic.

This buffer amplifier drives a 50Ω cable terminated in 50Ω at the analyzer input. Active probes offer the best overall combination of resistive loading, capacitive loading, and bandwidth. The disadvantages of active probes include the larger size of the tip and a somewhat limited input dynamic range. Previous active probe designs were more susceptible to damage, particularly to ESD, and required careful handling. The 54701A is designed to withstand 200V peak AC and 12 kV of ESD, so it functions reliably in adverse conditions.

Resistive Divider Probes (Passive Probes)

Resistive divider (passive) probes are designed for instruments with a 50Ω input impedance. The tip of the probe has a 450Ω or 950 Ω series resistor. The cable is designed for a 50Ω transmission line. Because the cable is terminated in 50Ω at the analyzer input, it looks like a purely resistive 50Ω load when viewed from the tip. Therefore, the resistive divider is flat over a wide range of frequencies, limited primarily by the parasitic capacitance and inductance of the 450Ω or 950Ω resistor and the fixture that holds it. The input resistance of the probe to the circuit under test is either 500Ω or 1 kΩ.

Due to the following two factors, the resistive divider probe has the lowest capacitive loading of any probe:

  • the divider's physical geometry
  • the divider does not have to be compensated by capacitance

This low capacitance and its inherent wide bandwidth make it best suited for wide bandwidth measurements or those measurements where timing is the most critical parameter. The disadvantage of this type of probe is its relatively heavy resistive loading. Not all circuits can drive 500 Ω or 1 k Ω . Even for measurements in a relatively low impedance circuit, the amplitude errors can be significant. Changes in bias levels or operating current in the circuit under test might affect the circuit's behavior.

This type of probe is the best choice for minimum disturbance probing of ECL circuits and 50 Ω transmission lines. The 1 k Ω divider probes are also usually suitable for high-speed CMOS circuits. If you are interested in troubleshooting CMOS, consult the probe's data sheet for the particular CMOS part to make sure that it can drive a 1 k Ω load and to determine what the voltage error would be.


Programming

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye

Use the SCPI commands documented in this help system to control the FlexDCA application. FlexDCA is the 86100D's graphical user interphase in Standard or Compatibility configurations. FlexDCA is also a PC application (N1010A) that can control a remote 86100D or be used offline.

  • Introduction to SCPI commands
  • Table of 86100D-to-FlexDCA Commands

Command Subsystems

  • Common Commands
  • ACQuire
  • CALibrate
  • CHANnel
  • CMODe
  • CRECovery
  • DIFF
  • DISK
  • DISPlay
  • ECONtour
  • EMEMory
  • EMODules
  • FEYE
  • FUNCtion
  • GRAPh
  • HISTogram
  • JDMemory
  • JSAMemory
  • LLINe
  • LTESt
  • MARKer
  • MEASure
  • MTESt
  • PTIMebase
  • RDCA
  • SIMulator (deprecated)
  • SLOT
  • SOURce
  • SPRocess
  • STATus
  • SYSTem
  • TDR
  • TIMebase
  • TRACe
  • TRIGger
  • WAVeform
  • WMEMory

Note

FlexDCA responds to an entirely different set of remote commands from those used to control the 86100D in Legacy configuration. To control the 86100D in Legacy configuration, refer to the 86100D Programmer's Guide on the CD supplied with the instrument or downloaded from the 86100D product page on Keysight.com.


*CLS (Clear Status)

Command Syntax

*CLS

Description

Clears all status and error registers.

More Information

  • Programming Home
  • Common Commands


*ESE (Event Status Enable)

Command Syntax

*ESE <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

*ESE?

Description

Enters a decimal-weighted value into the Standard Status Enable Register. These bits mask the ability to report bits in the Standard Status Event Register.

Standard Status Register Commands
Register | Read | Write | Command
Event | ♦ |  | *ESR?
Enable (mask) | ♦ | ♦ | *ESE
Standard Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | PON | URQ | CME | EXE | DDE | QYE | RQL | OPC
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 5 (ESB) in Status Byte Register

Bit Definitions

OPC
A true indicates that an operation is complete.
RQL
Not used. Permanently set to zero.
QYE
A true indicates that a a query error has been detected.
DDE
A true indicates that a device-dependent error has been detected.
EXE
A true indicates that an an execution error has been detected.
CME
A true indicates that a command error has been detected.
URQ
Not used. Permanently set to zero.
PON
A true indicates that an off-to-on transition has occurred.

More Information

  • Status Reporting System
  • Common Commands


*ESR? (Event Status Register)

Query Syntax

*ESR?

Description

Reads the Standard Status Event Register to determine the status of individual status bits. The decimal-weighted value of the register is returned. Reporting of Standard Status Event Register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically "AND"ed, which results in a Bit 5 (ESB) being set in the Status Byte Register.

To enter a mask into the enable register, use the *ESE common command.

Standard Event Status Register Commands
Register | Read | Write | Command
Event | ♦ |  | *ESR?
Enable (mask) | ♦ | ♦ | *ESE
Standard Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | PON | URQ | CME | EXE | DDE | QYE | RQL | OPC
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 5 (ESB) in Status Byte Register

Bit Definitions

OPC
A true indicates that an operation is complete.
RQL
Not used. Permanently set to zero.
QYE
A true indicates that a a query error has been detected.
DDE
A true indicates that a device-dependent error has been detected.
EXE
A true indicates that an an execution error has been detected.
CME
A true indicates that a command error has been detected.
URQ
Not used. Permanently set to zero.
PON
A true indicates that an off-to-on transition has occurred.

More Information

  • Status Reporting System
  • Common Commands


*IDN? (Identification Number)

Query Syntax

*IDN?

Query Response

"Keysight Technologies,<oscilloscope>,<serial number>,<FlexDCA version>"

Description

Returns an ASCII string that lists the oscilloscope model number (86100D), the 86100D's serial number, and FlexDCA's firmware version. This is shown in the following example,

"Keysight Technologies,86100D,MY12345678,A.02.02.32"

If the 86100D is running in Legacy mode (FlexDCA is not running), the *IDN? query returns the version of the legacy firmware:

"Keysight Technologies,86100D,MY12345678,A.12.02"

If FlexDCA is not connected to an instrument, such as when N1010A FlexDCA is used on a PC with simulated extended modules, the <oscilloscope> field will be N1010A and the <serial number> field will show the computer name of the PC where FlexDCA is installed.

Note

For FlexDCA revisions below 1.08.00, the <oscilloscope> field returns N1010A when FlexDCA is installed on the oscilloscope.

More Information

  • Common Commands


*OPC (Operation Complete)

Command Syntax

*OPC

Description

Use either the command or the query to notify the calling program when an operation is complete thus allowing the program to perform other tasks while waiting until notified. The *OPC command and *OPC? query work with any of the following commands. Use with other commands is unreliable or fails.

  • :ACQuire:RUN (When a limit test is turned on)
  • :ACQuire:SINGle
  • :CRECovery{1:4}:RELock
  • :DIFF{1:4}:DMODe (Turns a differential waveform on)
  • :DIFF{1:4}:DSTRacking (Enables automatic differential waveform scale tracking)
  • :DISK:SIMage:SAVE
  • :DISK:DWIZard:SAVE
  • :FEYE:STATe
  • :MTESt{1:16}:LOAD
  • :PTIMebase{1:4}:RTReference
  • :PTIMebase{1:4}:STATe ON
  • :RDCA:CONNect
  • :SYSTem:AUToscale
  • :SYSTem:DEFault
  • :SYSTem:FACTory
  • :SYSTem:MODE
  • :SYSTem:PAUTodetect
  • :TDR:DESKew:SDONe?
  • :TRIGger:PLOCK ON

The *OPC command sets bit 0 in the Standard Status Event Register when all pending device operations have finished. (Use *ESR? to query the register.) The *OPC command is useful for verifying the completion of commands that could take a variable amount of time or commands executed in parallel with other commands, such as :SYSTem:AUToscale. The *OPC command does not stop the execution of the remote script.

The *OPC? query allows synchronization between the computer and FlexDCA by using the message available (MAV) bit (bit 4 in the Status Byte) or by reading the output queue. (Use *STB? to query the Status Byte register.) Unlike the *OPC command, the *OPC? query does not affect the OPC event bit in the Standard Event Status Register. The execution of the remote script is halted and therefore the *OPC? query should be used judiciously. For example, running a acquisition limit test with the command string.

More Information

  • *WAI command
  • Common Commands


*OPT? (Option)

Query Syntax

*OPT?

Description

Returns a comma-separated list of any installed FlexDCA licenses. The following is an example of a typical response:

FLEX,SIM,300,200,201,200,DCA
Available Licenses
Remote Code | License Description | License
200 | Enhanced Jitter Analysis | N1010A-200
201 | Advanced Waveform Analysis | N1010A-201
202 | Enhanced Impedance and S-Parameters | 86100D-202
300 | Advanced Amplitude Analysis/RIN/Q-Factor | N1010A-300
401 | Advanced Eye Analysis | 86100D-401
500 | Productivity Package | N1010A-500
40S | Advanced Eye Switch Control | 86100D-7FP
CA4 | IEEE 802.3bm-2015 CAUI-4 Measurements | N1082A-4FP
CEI | OIF CEI Compliance Application | N1012A-CEI
CES | OIF CEI Compliance Switch Control | N1012A-7FP
HST | SFF-8431 Host Measurement Suite | N1014A-1FP
IE1 | IEEE 802.3ap/ba, Clauses 72,84 | N1081A-1FP
IE2 | IEEE 802.3ba, Clauses 83A,83B,86A | N1082A-1FP
IE3 | IEEE 802.3ba, Clause 85 | N1083A-1FP
IE4 | IEEE 802.3bj, Clauses 92,93 | N1084A-1FP
IES | IEEE 802.3 Compliance Switch Control | N1081A-7FP N1082A-7FP N1083A-7FP N1084A-7FP
MOD | SFF-8431 Module Measurement Suite | N1014A-2FP
MYC | User Defined Application | N1019A-UDA
MYS | User Defined Application Switch Control | N1019A-7FP
PAM | PAM-N Analysis Software | N1010A-9FP
PM1 | IEEE 802.3bs Draft PAM-4 Measurements | N1085A-1FP
PM4 | OIF CEI 56G Draft PAM-4 Measurements | N1085A-4FP
PMS | PAM-4 Switch Option for Ethernet and OIF-CEI App | N1085A-7FP
SIM | InfiniiSim-DCA Waveform Transformation Toolset | N1010A-SIM
SFS | SFF-8431 Measurement Suite Switch Control | N1014A-7FP

  • Common Commands


*RST (Reset)

Command Syntax

*RST

Description

Places FlexDCA in a known start-up state. This is the same actions as clicking FlexDCA's Setup > Default Setup menu command. The following table lists the reset conditions.

Default Settings
Feature | Setting
Mode of Operation | Oscilloscope Mode
Horizontal (Time Base)
Scale | 20 ps/div 1 ns/div (86100C)
Delay from Trigger | 24 ns
Reference | Left
Units | Time
Trigger
Source | Front Panel
Hysteresis | Normal
Slope | Rising Edge
Bandwidth | Divided (3 GHz - 13 GHz) (86100D-ETR) Filtered (DC - 100 MHz) (86100D-STR) Standard (DC - 3.2 GHz) (86100C)
Acquisition
Run/Stop | Run
Points/Waveform | Automatic 2048 (16 to 16,384) (86100D) 1350 (Range: 16 to 16,200 points) (86100C)
Smoothing | None
Number of Averages | 16 Range: 2 to 32,768
Display
Persistence | Variable (Oscilloscope mode) Gray Scale (Eye/Mask mode)
Persistence Time | 300 ms, variable persistence (Range: 100 ms to 40s)
Grid | On
Grid Intensity | 100% (Range: 0 to 100)
Colors | Default color legend
UI Color Theme | not changed
Dialog Size | not changed
Dialog Opacity | not changed
Dialog Transparent Background | off
Mode Switch Animation | not changed
Connect Waveform Dots | Off
Markers | Off
Limit test | Off
Mask test | Off
Base Measurement Configuration
Top-base Definition | Auto
Thresholds | 10%, 50%, 90%
Eye Boundary 1 | 40% for NRZ eyes (Range: 0—100%)
Eye Boundary 2 | 60% for NRZ eyes (Range: 0—100%)
Mask Test Measurement Configuration
Alignment Method | NRZ Eye
Alignment Timing | Once
Mask Scale Mode | X and Y
Y-Axis Mask Align Measurement Area | Eye Boundaries (Align to One, Zero Levels)
Jitter Mode Measurement Configuration
Jitter Mode Graph | Histogram: Y Axis Linear Bathtub Scale: BER Layout: Quad
Jitter Mode Measurements | Units: Seconds Signal type: Auto Detect Results based on: Both Edges Sampling Level: 50% TJ Measurement BER: 1.0E-12 RJ Stabilization: off RJ Compensation: off
Jitter Mode Amplitude Measurements | Measurement Location: 50% Graphs based on: Both Edges One/Zero Level Definition: Average Units: Volts or Watts RIN Relative to: One Level RIN Normatilization: Decibel TI Measurement BER: 1.0E-12 RN Stabilization: off RN Compensation: off
Waveform Memory
Memory Display | All Off
Waveform Source | First available channel or Memory 1
Waveform Signal Processing | Current function deleted
Channels
Display | Lowest numbered installed channel is on, all other channels are off
Bandwidth | Dependent on type of installed module
Scale | Dependent on type of installed module
Offset | 0V or 0W (Dependent on type of installed module)
Units | Volts (or Watts) (Dependent on type of installed module)
Histograms
Mode | Off
Placement | Left
Window source | First available channel
Scale | Linear

  • Common Commands


*SRE (Service Request Enable)

Command Syntax

*SRE <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

*SRE?

Description

Enters a decimal-weighted value in the service request enable register that masks the ability to report bits in the status byte event register. To read the status byte register, use the *STB common command. By setting the *SRE, when the event happens, you have enabled the FlexDCA's interrupt capability. FlexDCA will then do an SRQ (service request), which is an interrupt. The Service Request Enable Register contains a mask value for the bits to be enabled in the Status Byte Register. A "1" in the Service Request Enable Register enables the corresponding bit in the Status Byte Register. A "0" disables the bit.

Status Byte Register Commands
Register | Read | Write | Command
Event | ♦ |  | *STB?
Enable (mask) | ♦ | ♦ | *SRE
Status Byte Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | OPER | RQS/MSS | ESB | MAV | — | MSG | USR | TRG
Enable Register |  |  |  |  |  |  |  |
Sets | Sends a service request interrupt (SRQ) to the controller.

Bit Definitions

TRG
A true indicates that a trigger has occurred. This bit is set by the Trigger Event Register.
USR
A true indicates that an enabled user event condition has occurred. This bit is set by the User Event Register.
MSG
A true indicates that a message has been displayed and that the message queue has at least one entry. This bit is set by the Message Event Register.
MAV
A true indicates that an output message is ready.
ESB
A true indicates that an enabled event status condition occurred. This bit is set by the Standard Event Register.
RQS/MSS
A true indicates that FlexDCA has requesting service.
OPER
A true indicates that enabled operation status conditions have occurred. This bit is set by the Operation Event Register.

More Information

  • Status Reporting System
  • Common Commands


*STB? (Status Byte)

Query Syntax

*STB?

Description

Reads the Status Byte event register (including the Master Summary Status, MSS, bit) to determine the status of individual status bits. The decimal-weighted value of the register is returned. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically "AND"ed, which results in a service request interrupt (SRQ) to the controller. In response to a serial poll (SPOLL), Request Service (RQS) is reported on bit 6 of the status byte. Otherwise, the Master Summary Status bit (MSS) is reported on bit 6. MSS is the inclusive OR of the bitwise combination, excluding bit 6, of the Status Byte Register and the Service Request Enable Register. The MSS message indicates that the scope is requesting service (SRQ).

To enter a mask into the enable register, use the *SRE common command.

Status Byte Register Commands
Register | Read | Write | Command
Event | ♦ |  | *STB?
Enable (mask) | ♦ | ♦ | *SRE
Status Byte Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | OPER | RQS/MSS | ESB | MAV | — | MSG | USR | TRG
Enable Register |  |  |  |  |  |  |  |
Sets | Sends a service request interrupt (SRQ) to the controller.

Bit Definitions

TRG
A true indicates that a trigger has occurred. This bit is set by the Trigger Event Register.
USR
A true indicates that an enabled user event condition has occurred. This bit is set by the User Event Register.
MSG
A true indicates that a message has been displayed and that the message queue has at least one entry. This bit is set by the Message Event Register.
MAV
A true indicates that an output message is ready.
ESB
A true indicates that an enabled event status condition occurred. This bit is set by the Standard Event Register.
RQS/MSS
A true indicates that FlexDCA has requesting service.
OPER
A true indicates that enabled operation status conditions have occurred. This bit is set by the Operation Event Register.

More Information

  • Status Reporting System
  • Common Commands


*TRG (Trigger)

Command Syntax

*TRG

Description

Acquires data for the active waveform display, if the trigger conditions are met, according to the current settings. The *TRG common command has the same effect as the :ACQuire:RUN command.

  • Common Commands


*TST? (The Self Test)

Query Syntax

*TST? {ALL | FRAMe | SLOT{1:8}}

Description

Initiates 86100D internal hardware self tests and returns "0" if all tests passed and "1" if the self test failed. Use the :SYSTem:ERRor:NEXT? query to check for errors.

ALL
An 86100D frame self test is run and a module self test is run on any installed modules. If a slot is empty, no error is reported. This is the default option and is the same as sending *TST? without any arguments.
FRAMe
A self test of the 86100D frame is executed. As this self test does not test any modules, modules do not need to be installed.
SLOT{1:8}
A module must be installed in the indicated slot before sending the *TST? query otherwise a −241, "Hardware missing" error will be reported.

Note

The *TST? query is only available when running FlexDCA on the 86100D or when running FlexDCA on a PC that is connected to FlexDCA on an 86100D (Flex-on-Flex). The query is not available when using FlexDCA offline.

  • Common Commands


*WAI (Wait-to-Continue)

Command Syntax

*WAI

Description

Prevents FlexDCA from executing any further commands or queries until all currently executing commands are completed. The *WAI command is similar to the *OPC? query as it also blocks the execution of the remote script until all pending operations are finished. *WAI is particularly useful if the host computer is connected to FlexDCA and one or more instruments. This command will not block the GPIB bus, allowing the computer to continue issuing commands to FlexDCA or an instrument that is not executing the *WAI command.

  • Common Commands


Introduction to :ACQuire Subsystem

Example Program

An example program is provided that shows how to save a pattern waveform. This example is provided in the Python language only. Look in the 86100D (or PC) installation folder:
\Keysight\FlexDCA\Demo\Example Programs

The ACQuire subsystem commands set up conditions for acquiring waveform data.

  • Programming Home

Commands

  • CDISplay
  • ECOunt
  • EPATtern
  • FEEDthru
  • REYE
  • REYE:INTerval
  • RLENgth
  • RLENgth:MODe
  • RSPec
  • RUN
  • SINGle
  • SMOothing
  • SPBit
  • SPBit:MODe
  • STOP
  • WINTerp
  • WRAPping

Deprecated Commands

  • RLENgth:AUTo (deprecated A.01.80)
  • SPBit:AUTo (deprecated A.01.80)


:ACQuire:CDISplay

Command Syntax

:ACQuire:CDISplay

Description

Erases all data from display memory. Initiating this command in run mode clears the data and then acquires and displays new data. Initiating this command in stop/single mode clears the data. This command is equivalent to clicking the Clear button.

Example Command Sequence

This example sequence of commands erases display memory and sets up an acquisition limit test.

:ACQuire:CDISplay
:LTESt:ACQuire:CTYPe:PATTerns 1
:LTESt:ACQuire:STATe ON
:ACQuire:RUN
*OPC?
…  //  Your code to synchronize execution timing.

  • Subsystem Home


:ACQuire:ECOunt

Command Syntax

:ACQuire:ECOunt <count>

<count> is an int.

Query Syntax

:ACQuire:ECOunt?

Description

Sets the number of waveforms to use in the smoothing calculation with smoothing is enabled (:ACQuire:SMOothing). You can enter a value between 2 and 32,768. The default value for the number of averages is 16. For some types of waveforms, it may take some time to reach the number of waveforms specified. In this case, use the :MEASure:ACQuire:ECOUNT? query to return the current count number.


:ACQuire:EPATtern

Command Syntax

:ACQuire:EPATtern  {ON | OFF | 1 | 0}

Query Syntax

:ACQuire:EPATtern?

Query Response

{1 | 0}

Description

Example Program

An example program is provided that shows how to save a pattern waveform. This example is provided in the Python language only. Look in the 86100D (or PC) installation folder:
\Keysight\FlexDCA\Demo\Example Programs

In Oscilloscope and Eye/Mask Modes, specifies that on each waveform acquisition that data from the entire pattern is acquired. (Normally, only data from the displayed portion of the pattern is acquired.) When OFF is selected, the waveform (record length) can be defined as the number of points-per-waveform or the number of samples-per-bit. When ON is selected, the waveform can only be defined as the number of samples-per-bit.

Use the :ACQuire:RSPec command to select waveforms specified by record length or samples-per-bit.

Use TIMebase:MPOSition (Minimum Timebase Position) to establish the start of the pattern. Use TIMebase:BRATe (Bit Rate) and TRIGger:PLENgth (Pattern Length) to determine the time duration. Long patterns may require some noticeable time to be acquired.

Note

Pattern Lock must be turned on (TRIGger:PLOCk) before sending ACQuire:EPATtern.

Example Command Sequence

This sequence of commands turns on pattern lock with 64 samples per bit, acquires the entire pattern, and applies a 32-count smoothing.

:TRIGger:PLOCk ON
*OPC?
…  //  Your code to synchronize execution timing.
:ACQuire:EPATtern ON
:ACQuire:SPBit:AUTo MANual
:ACQuire:SPBit 64
*OPC?
…  //  Your code to synchronize execution timing.
:ACQuire:SMOothing AVERage
:ACQuire:ECOunt 32


:ACQuire:FEEDthru

Command Syntax

:ACQuire:FEEDthru {FLATness | THRuput}

Query Syntax

:ACQuire:FEEDthru?

Description

Selects feedthrough compensation. FLATness improves step flatness in TDR mode. THRuput improves acquisition throughput and should be used whenever best flatness is not required. The query form of the command returns the current setting.

Agruments Versus FlexDCA Modes
FlexDCA Mode | THRuput | FLATness
Eye/Mask Mode | ♦ (default) | ♦
Oscilloscope Mode | ♦ (default) | ♦
TDR/TDT Mode | ♦ | ♦ (default)
Jitter Mode | ♦ | —

FlexDCA Revision

Requires FlexDCA revision A.04.53 and above.


:ACQuire:REYE

Command Syntax

:ACQuire:REYE {ON | OFF | 1 | 0}

Query Syntax

:ACQuire:REYE?

Query Response

{1 | 0}

Description

Turns on and off Rapid Eye data acquisition, which significantly reduces the time required to acquire the waveform samples. Rapid Eye employs several techniques that improve measurement efficiency. Use the :INTerval child command to select the number of UI (Unit Intervals) to acquire the data from. The database is expanded as required, while keeping the displayed eye (usually 1.6 UIs) unchanged. All acquired samples, even those residing in an incomplete UI area, are properly applied. For example, after an Auto Scale, 1.6 UIs are displayed and 40% of the samples occur before or after the UI area. With Rapid Eye on, these sample points will now be recorded and included in their proper position within the UI. Use the :TIMebase:BRATe command to enter the bit rate. When multiple eye diagrams are displayed, use the :ALIGn child command to enable the Auto Scale command (:SYSTem:AUToscale) to align the eyes using software delay.

Rapid Eye requires Option 500, Productivity Package License.

Note

Rapid Eye requires FlexDca be placed in Eye/Mask mode without pattern locking.


:ACQuire:REYE:ALIGn

Command Syntax

:ACQuire:REYE:ALIGn {ON | OFF | 1 | 0}

Query Syntax

:ACQuire:REYE:ALIGn?

Query Response

{1 | 0}

Description

If multiple eye diagrams are displayed, configures an Auto Scale (:SYSTem:AUToscale) to align the eyes when rapid eye is on (:ACQuire:REYE). The eye diagrams are aligned using software delay.

Rapid Eye requires Option 500, Productivity Package License.

Note

Rapid Eye requires FlexDca be placed in Eye/Mask mode without pattern locking.

  • Dialog Box Controls


:ACQuire:REYE:INTerval

Command Syntax

:ACQuire:REYE:INTerval <unit_intervals>

<unit_intervals> is an int.

Query Syntax

:ACQuire:REYE:INTerval?

Description

Specifies the number of UI (Unit Intervals) to acquire the data from for Rapid Eye. The database is expanded as required for the number of UIs, while keeping the displayed eye (usually 1.6 UIs) unchanged. Use the :ACQuire:REYE command to turn on Rapid Eye measurements.

Rapid Eye requires Option 500, Productivity Package License.


:ACQuire:RLENgth

Command Syntax

:ACQuire:RLENgth  <points>

<points> is an int.

Query Syntax

:ACQuire:RLENgth?

Description

Enters the number of points-per-waveform when the record length is set to manual entry (ACQuire:RLENgth:AUTo). The time spacing between measurement points can affect interpolation between the points used to make measurements. Increasing the points increases the time required to capture a single sweep.

Example Command Sequence

:ACQuire:EPATtern OFF
:ACQuire:RSPec RLENgth
:ACQuire:RLENgth:MODe MANual
:ACQuire:RLENgth 4096


:ACQuire:RLENgth:MODe

Command Syntax

:ACQuire:RLENgth:MODe {AUTomatic | MANual}

Query Syntax

:ACQuire:RLENgth:MODe?

Description

Select between AUTomatic or MANual entry of points-per-waveform (record length). The record length is the number of waveform samples acquired across a single sweep. Changing the points-per-waveform affects sweep time (display update rate), histograms, and measurements.

AUTomatic
FlexDCA sets the record length to optimize the single record length versus total database update rate. This is the default setting and is recommended when color grade or gray scale waveform persistence, or a histogram, or a mask test is enabled.
MANual
Allows you to specify the points-per-waveform from as few as 16 points using the ACQuire:RLENgth command. The default value is 2048 points.

Note

The record length definition is locked to samples-per-bit and this command is unavailable, if both pattern locking (:TRIGger:PLOCk) and acquire entire pattern (:ACQuire:EPATtern is turned on.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Example Command Sequence

:ACQuire:EPATtern OFF
:ACQuire:RSPec RLENgth
:ACQuire:RLENgth:MODe MANual
:ACQuire:RLENgth 4096


:ACQuire:RSPec

Command Syntax

:ACQuire:RSPec {RLENgth | SPBit}

Query Syntax

:ACQuire:RSPec?

Description

Defines the waveform samples (record length) acquired across a single sweep is points-per-waveform or samples-per-bit.

RLENgth
Defines the record length as points-per-waveform. Use the :ACQuire:RLENgth:AUTo command to select automatic or manual mode. In manual mode, use ACQuire:RLENgth to enter the number of points.
SPBit
Defines the record length as samples-per-bit. Use :ACQuire:SPBit:AUTo to set automatic or manual mode and, if manual is selected, use ACQuire:SPBit to enter the number of samples.

Note

The record length definition is locked to samples-per-bit, if both pattern locking (:TRIGger:PLOCk) and acquire entire pattern (:ACQuire:EPATtern is turned on.

Example Command Sequence

:ACQuire:EPATtern OFF
:ACQuire:RSPec RLENgth
:ACQuire:RLENgth:AUTo MANual
:ACQuire:RLENgth 4096


:ACQuire:RUN

Command Syntax

:ACQuire:RUN

Description

Starts continuous data acquisition on all selected channels. While at least one input channel is turned on, FlexDCA, armed and ready to respond to a trigger, starts acquiring data on the next trigger event. Data is continuously acquired on successive trigger events (one sample point per trigger). Run is the default acquisition mode. This command is equivalent to clicking the Run button. If you want to run a number of waveforms, patterns, or samples, use an acquisition limit test (:LTESt:ACQuire:STATe) to set up the conditions and then use the :ACQuire:RUN command to start the test. This is shown in the following example. When used in an acquisition limit test, always follow the this command with an *OPC? query to pause program execution.

Example Command Sequence

:LTESt:ACQuire:CTYPe SAMPles
:LTESt:ACQuire:CTYPe:SAMPles 1E6
:LTESt:ACQuire:STATe ON
:ACQuire:RUN
*OPC?
…  //  Your code to synchronize execution timing.

  • Acquisition Controls


:ACQuire:SINGle

Command Syntax

:ACQuire:SINGle

Description

Performs a single waveform acquisition. All measurements performed on the input waveforms are updated. This command does not erase display memory. To clear display memory, use the :ACQuire:CDISplay command. Always follow the this command with an *OPC? query to pause program execution.

  • Acquisition Controls


:ACQuire:SMOothing

Command Syntax

:ACQuire:SMOothing  {NONE | AVERage | MEDian}

Query Syntax

:ACQuire:SMOothing?

Description

Turns on and selects the type of smoothing used to acquire data from the input waveform. Smoothing significantly reduces noise and improves resolution of the displayed waveform. To set the number of waveforms used during smoothing, use the :ACQuire:ECOunt command. When data acquisition is set to RUN (:ACQuire:RUN command), the current number of waveforms included in the smoothing is shown in the FlexDCA's upper-right corner. For some types of waveforms, it may take some time to reach the number of waveforms specified with the :ACQuire:ECOunt: command. In this case, use the :MEASure:ACQuire:ECOUNT? query to return the current count number.

When smoothing is on, FlexDCA acquires waveforms from multiple data acquisitions and then averages the waveforms together, point by point. The noise sources can average to zero over time while the underlying waveform is preserved. The effective resolution of the displayed waveform increases as more acquisitions are averaged together, provided that the input waveform is repetitive and has a stable trigger point. This improves the stability of both the display and waveform measurements.

By default, smoothing is disabled (NONE). When smoothing is selected, use the :ACQuire:ECOunt command to set the number of waveforms that you want to use in the calculation. You can enter a value between 2 and 32,768. The default value for the number of averages is 16.

Note

Smoothing is available in Oscilloscope mode and Eye/Mask Mode. In Eye/Mask Mode, pattern triggering must be turned on.

FlexDCA averages the acquired waveforms point by point using the following equation:

For 1 ≤ ν ≤ Μ. After terminal count is reached (ν ÷ Μ),

where:

Ave n = the average sample value and n is the current average number.

Si = the ith sample (for the nth sample, Si = Sn)

M = the value set (terminal count) in the Number of Waveforms entry field.

Example Command Sequence

This sequence of commands turns on pattern lock with 64 samples per bit, acquires the entire pattern, and applies a 32-count smoothing.

:TRIGger:PLOCk ON
*OPC?
…  //  Your code to synchronize execution timing.
:ACQuire:EPATtern ON
:ACQuire:SPBit:AUTo MANual
:ACQuire:SPBit 64
*OPC?
…  //  Your code to synchronize execution timing.
:ACQuire:SMOothing AVERage
:ACQuire:ECOunt 32


:ACQuire:SPBit

Command Syntax

:ACQuire:SPBit <samples>

<samples> is a double.

Query Syntax

:ACQuire:SPBit?

Description

Sets the number of samples-per-bit when the entire pattern is acquired (:ACQuire:EPATtern). The time spacing between measurement points can affect interpolation between the points used to make measurements. Increasing the samples increases the time required to capture a single sweep.

Example Command Sequence

This sequence of commands turns on pattern lock with 64 samples per bit, acquires the entire pattern, and applies a 32-count smoothing.

:TRIGger:PLOCk ON
*OPC?
…  //  Your code to synchronize execution timing.
:ACQuire:EPATtern ON
:ACQuire:SPBit:AUTo MANual
:ACQuire:SPBit 64
*OPC?
…  //  Your code to synchronize execution timing.
:ACQuire:SMOothing AVERage
:ACQuire:ECOunt 32


:ACQuire:SPBit:MODe

Command Syntax

:ACQuire:SPBit:MODe {AUTomatic | MANual}

Query Syntax

:ACQuire:SPBit:MODe?

Description

When the entire pattern is acquired (:ACQuire:EPATtern), use this command to select automatic or manual entry of samples-per-bit. Changing the samples-per-bit affects sweep time (display update rate), histograms, and measurements.

AUTomatic
FlexDCA sets the record length to optimize the single record length versus total database update rate. Automatic is the default setting. It is recommended to select automatic when in color grade or gray scale waveform persistence, or a histogram, or a mask test is enabled.
MANual
Allows you to set the actual sample number using the ACQuire:SPBit command.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.


:ACQuire:STOP

Command Syntax

:ACQuire:STOP

Description

Stops data acquisition. This command is equivalent to clicking the Stop button. This command does not erase display memory. To clear display memory, use the :ACQuire:CDISplay command. Use the :ACQuire:RUN command to resume data acquisition.

  • Acquisition Controls


:ACQuire:WINTerp

Command Syntax

:ACQuire:WINTerp  {NONE | LINear | SINC}

Query Syntax

:ACQuire:WINTerp?

Description

Specifies the type of interpolation applied between the measurement points when waveform wrapping is applied (:ACQuire:WRAPping). Interpolation can be turned off or set to linear or Sin(x)/x (SINC).


:ACQuire:WRAPping

Command Syntax

:ACQuire:WRAPping {ON | OFF | 1 | 0}

Query Syntax

:ACQuire:WRAPping?

Query Response

{1 | 0}

Description

Wraps or unwraps the waveform when FlexDCA uses the following settings:

  • Eye Mode (:SYSTem:MODE)
  • Pattern lock is on (:TRIGger:PLOCk)
  • Entire pattern is acquisition (:ACQuire:EPATtern)

Turning wrapping on allows an eye diagram to be displayed. Since the displayed eye diagram is built from a pattern lock, you can apply waveform averaging (ACQuire:SMOothing). When wrapping is turned off, a single-valued pattern waveform is displayed.

Use the :ACQuire:WINTerp command to specify the type of interpolation applied between the points to make measurements.

Wrap Waveform OFF

Wrap Waveform ON

With wrapping on, the Sample/Bit setting (:ACQuire:SPBit) is a real number instead of an integer. FlexDCA uses a real number so that, if wrapped, the entire eye diagram is filled in without needing to interpolate between sample points. With an integer entry, the samples for each bit in the pattern would occur at the same time offset as measured from the start of each bit and the samples for each bit would be aligned and displayed at the same horizontal offset (although their amplitude may vary). As a result, the eye diagram would take much longer to be filled. An integer number can be manually entered, if needed.

Note

This command only applies to the acquired waveforms. A separate wrap waveform command (:WMEMory:WRAPping) is available for waveform memory.


:ACQuire:RLENgth:AUTo

Deprecated command

Deprecated command. For FlexDCA revision A.01.80 and above, use the :ACQuire:RLENgth:MODE command.

Command Syntax

:ACQuire:RLENgth:AUTo  {AUTomatic | MANual}

Query Syntax

:ACQuire:RLENgth:AUTo?

Description

Select between AUTomatic or MANual entry of points-per-waveform (record length). The record length is the number of waveform samples acquired across a single sweep. Changing the points-per-waveform affects sweep time (display update rate), histograms, and measurements.

AUTomatic
FlexDCA sets the record length to optimize the single record length versus total database update rate. This is the default setting and is recommended when color grade or gray scale waveform persistence, or a histogram, or a mask test is enabled.
MANual
Allows you to specify point-per-waveform between 16 to over 10,400,000 points using the ACQuire:RLENgth command. The default value is 2048 points.

Note

The record length definition is locked to samples-per-bit and this command is unavailable, if both pattern locking (:TRIGger:PLOCk) and acquire entire pattern (:ACQuire:EPATtern is turned on.

Example Command Sequence

:ACQuire:EPATtern OFF
:ACQuire:RSPec RLENgth
:ACQuire:RLENgth:AUTo MANual
:ACQuire:RLENgth 4096


:ACQuire:SPBit:AUTo

Deprecated command

Deprecated command. For FlexDCA revision A.01.80 and above, use the :ACQuire:SPBit:MODE command.

Command Syntax

:ACQuire:SPBit:AUTo  {AUTomatic | MANual}

Query Syntax

:ACQuire:SPBit:AUTo?

Description

When the entire pattern is acquired (:ACQuire:EPATtern), use this command to select automatic or manual entry of samples-per-bit. Changing the samples-per-bit affects sweep time (display update rate), histograms, and measurements.

AUTomatic
FlexDCA sets the record length to optimize the single record length versus total database update rate. Automatic is the default setting. It is recommended to select automatic when in color grade or gray scale waveform persistence, or a histogram, or a mask test is enabled.
MANual
Allows you to set the actual sample number using the ACQuire:SPBit command.


Introduction to :CALibrate Subsystem

The Calibrate subsystem allows you to calibrate modules installed in the 86100D. Module calibrations enhance measurement precision by establishing calibration factors which compensate for imperfections in the measurement system, such as variations due to the ambient temperature. Module calibrations do not require any external equipment setup.

  • Learn More About Calibrations
  • Programming Home

General Slot Calibration Commands

  • SLOT:ENABled
  • SLOT:STARt
  • SLOT:STATus?
  • SLOT:STATus:DETails?
  • SLOT:STATus:DTEMperature?
  • SLOT:STATus:TIME?

Vertical Slot Calibration Commands

  • SLOT:VERTical
  • SLOT:VERTical:STATus?
  • SLOT:VERTical:STATus:DETails?
  • SLOT:VERTical:STATus:DTEMperature?
  • SLOT:VERTical:STATus:TIME?

Clock Recovery Slot Calibration Commands

  • SLOT:CRECovery
  • SLOT:CRECovery:STATus?
  • SLOT:CRECovery:STATus:DETails?
  • SLOT:CRECovery:STATus:DTEMperature?
  • SLOT:CRECovery:STATus:TIME?

Precision Timebase Slot Calibration Commands

  • SLOT:PTIMebase
  • SLOT:PTIMebase:STATus?
  • SLOT:PTIMebase:STATus:DETails?
  • SLOT:PTIMebase:STATus:DTEMperature?
  • SLOT:PTIMebase:STATus:TIME?

Channel Calibration Commands

  • CHANnel:ENABled
  • CHANnel:STATus?
  • CHANnel:STATus:DETails?
  • CHANnel:STATus:DTEMperature?
  • CHANnel:STATus:TIME?

Dark Calibration Calibration Commands

Used to calibrate extinction-ratio measurements.

  • DARK:CHANnel:STARt
  • DARK:CHANnel:DISCard
  • DARK:CHANnel<N>:STATus?
  • DARK:CHANnel<N>:STATus:DETails?
  • DARK:CHANnel<N>:STATus:DTEMperature?
  • DARK:CHANnel<N>:STATus:TIME?

Skew Calibration Commands

  • SKEW:SLOT:STARt
  • SKEW:SLOT:STATus?
  • SKEW:SLOT:STATus:DETails?
  • SKEW:SLOT:STATus:DTEMperature?
  • SKEW:SLOT:STATus:TIME?

Factory Optical Calibration Commands

  • OPTical:CONVersion?
  • OPTical:FACTory:CHANnel:STATus?
  • OPTical:FACTory:CHANnel:STATus:DETails?
  • OPTical:FACTory:CHANnel:STATus:DTEMperature?
  • OPTical:FACTory:CHANnel:STATus:TIME?

User Optical Calibration Commands

  • OPTical:CONVersion?
  • OPTical:USER:CHANnel:OPOWer
  • OPTical:USER:CHANnel:STARt
  • OPTical:USER:CHANnel:STATus?
  • OPTical:USER:CHANnel:STATus:DETails?
  • OPTical:USER:CHANnel:STATus:DTEMperature?
  • OPTical:USER:CHANnel:STATus:TIME?
  • OPTical:USER:CHANnel:WAVelength

Probe Channel Calibration Commands

  • PROBe:CHANnel:STARt
  • PROBe:CHANnel:STATus?
  • PROBe:CHANnel:STATus:DETails?
  • PROBe:CHANnel:STATus:DTEMperature?
  • PROBe:CHANnel:STATus:TIME?

Frame Calibration Commands

  • FRAMe:PTIMebase:STARt
  • FRAMe:PTIMebase:STATus?
  • FRAMe:PTIMebase:STATus:DETails?
  • FRAMe:PTIMebase:STATus:DTEMperature?
  • FRAMe:PTIMebase:STATus:TIME?
  • FRAMe:TIMebase:STATus?
  • FRAMe:TIMebase:STATus:DETails?
  • FRAMe:TIMebase:STATus:DTEMperature?
  • FRAMe:TIMebase:STATus:TIME?

Timebase Calibration Commands

  • TIMebase:SLOT:STARt
  • TIMebase:SLOT:STATus?
  • TIMebase:SLOT:STATus:DETails?
  • TIMebase:SLOT:STATus:DTEMperature?
  • TIMebase:SLOT:STATus:TIME?

TDR/TDT Step Calibration Commands

  • SLOT:STEP
  • SLOT:STEP:STATus?
  • SLOT:STEP:STATus:DETails?
  • SLOT:STEP:STATus:DTEMperature?
  • SLOT:STEP:STATus:TIME?

Calibration Flow-Control Commands

  • CANCel
  • CONTinue
  • LRESistance
  • SDONe?

Front-Panel Calibration Output Command

  • OUTPut

Deprecated Commands

  • CRECovery:{SLOT[1:8] | LMODule | RMODule}:STARt? (deprecated A.01.70)
  • CRECovery:{SLOT[1:8] | LMODule | RMODule}:STATus? (deprecated A.01.70)
  • CRECovery:{SLOT[1:8] | LMODule | RMODule}:STATus:DETails? (deprecated A.01.70)
  • CRECovery:{SLOT[1:8] | LMODule | RMODule}:STATus:TEMPerature? (deprecated A.01.70)
  • CRECovery:{SLOT[1:8] | LMODule | RMODule}:STATus:TIME? (deprecated A.01.70)
  • DARK:CHANnel<N>:STATus:TEMPerature? (deprecated A.01.70)
  • FRAMe:STATus? (deprecated A.03.00)
  • FRAMe:STATus:DETails? (deprecated A.03.00)
  • FRAMe:STATus:DTEMperature? (deprecated A.03.00)
  • FRAMe:STATus:TIME? (deprecated A.03.00)
  • MODule:{SLOT[1:8] | LMODule | RMODule}:STARt (deprecated A.01.70)
  • MODule:{SLOT[1:8] | LMODule | RMODule}:STATus? (deprecated A.01.70)
  • MODule:{SLOT[1:8] | LMODule | RMODule}:STATus:DETails? (deprecated A.01.70)
  • MODule:{SLOT[1:8] | LMODule | RMODule}:STATus:TEMPerature? (deprecated A.01.70)
  • MODule:{SLOT[1:8] | LMODule | RMODule}:STATus:TIME? (deprecated A.01.70)
  • VERTical:{SLOT[1:8] | LMODule | RMODule}:STARt (deprecated A.01.70)
  • VERTical:{SLOT[1:8] | LMODule | RMODule}:STATus? (deprecated A.01.70)
  • VERTical:{SLOT[1:8] | LMODule | RMODule}:STATus:DETails? (deprecated A.01.70)
  • VERTical:{SLOT[1:8] | LMODule | RMODule}:STATus:TEMPerature? (deprecated A.01.70)
  • VERTical:{SLOT[1:8] | LMODule | RMODule}:STATus:TIME? (deprecated A.01.70)


Introduction to :CALibrate Subsystem (continued)

Example Program

Two example C#.NET programs are provided that show how to perform a calibration. One example demonstrates controlling program timing using SRQ events and registers. The other example demonstrates timing using long timeouts. Look in the 86100D (or PC) installation folder:
\Keysight\FlexDCA\Demo\Example Programs

Using the commands in this subsystem, you can select, enable, run and query the following calibrations:

  • Vertical channel calibration
  • Precision timebase calibration
  • Clock recovery calibration
  • Dark channel (extinction ratio) calibration (for electrical and optical channels).
  • Channel skew calibration
  • Probe calibration

To Perform Vertical, Precision Timebase, and Clock Recovery Calibrations

  1. Select the type of calibration identified by slot using these commands:
    • :SLOT:VERTical for a vertical channel calibration
    • :SLOT:CRECovery for a clock recovery calibration
    • :SLOT:PTIMebase for a precision timebase calibration
  2. Enable all selected vertical, clock recovery, and precision timebase calibrations for a slot or channel using these commands:
    • :CHANnel:ENABled
    • :SLOT:ENABled
  3. Start the calibrations with the :SLOT:STARt command.

To query the status of these calibrations, use the following commands:

  • :SLOT:VERTical:STATus?
  • :SLOT:CRECovery:STATus?
  • :SLOT:PTIMebase:STATus?

To Perform a Dark Calibration

To perform a dark calibration, use the :DARK:CHANnel:STARt command to start a calibration for a specific optical or electrical channel. You do not select or enable a dark calibration as you do with other calibrations.

To query the status of a dark calibration, use the :DARK:CHANnel:STATus? command.

The Dark Calibration calibrates extinction ratio measurements, which are made on optical channels. The calibration identifies internally generated offset (dark level) signals generated by external optical-to-electrical converters and removes them during the extinction ratio measurement calculations. The dark calibration applies to the currently selected filter rate for a channel. If a new filter rate is selected, you must perform another dark calibration. Prior to performing a dark calibration, adjust the vertical scale and offset so that the eye diagram uses the full display. Also, the dark level (the signal level when there is no input to the measurement) must be on the screen to be correctly measured.

Note

The dark level is a function of the vertical scale parameter. Perform the dark calibration at the vertical scale level to be used when making the extinction ratio measurement. If you change the vertical scale after you perform the dark calibration, the calibration accuracy can be degraded. To test several devices with a broad range of output powers, set the vertical scale so that the devices with the largest output levels are completely on the screen. Perform the dark calibration at this vertical scale. The extinction ratios for the smaller signals can still be accurately measured if the eye diagram is at least 2 graticule divisions in height. Performing the dark calibration in this manner can prevent the need for multiple extinction ratio calibrations.

Note

A dark calibration is recommended if either the vertical scale or vertical offset (or both) are changed after the last calibration. However, if either of these values is changed back to the calibrated value, the calibration is then considered valid. For example, a channel calibrated at a scale of 500 µW/div will be invalid if the scale is changed to 50 µW/div, but it is valid if it is changed back to 500 µW/div.

To Perform a Skew Calibration

Use the :SKEW:SLOT:STARt command to start a skew calibration for a specific slot. You do not select or enable a skew calibration as you do with other calibrations. To query the status of a skew calibration, use the :SKEW:SLOT:STATus? command.

To Perform a Probe Calibration

Use the :PROBe:CHANnel:STARt command. You do not select or enable a probe calibration as you do with other calibrations. Simply connect a probe and start the calibration. Use the :OUTPut command to change the dc voltage at the 86100D's front-panel Cal Out connector, which is used during the calibration. The default level is 5.0 mV. To query the status of a probe calibration, use the :PROBe:CHANnel:STATus? command.

Optical User Calibration

An optical user calibration can only be run in the 86100D's Legacy configuration. This calibration compensates for the photodetector responsivity at a user-specific wavelength. But, you can query the status of optical user calibrations using the following commands:

  • :OPTical:FACTory:CHANnel:STATus?
  • :OPTical:USER:CHANnel:STATus?

Refer to the 86100A/B/C/D Programmer's Guide for information on remotely running an opticla user calibration.

Factory Calibrations

You can query the status of, but not run, the following calibrations:

  • Optical factory calibration (:OPTical:FACTory:CHANnel:STATus?). Compensates for the photodetector responsivity at specific wavelengths.
  • 86100D mainframe factory calibration (:FRAMe:STATus?).

Recommended Calibration Conditions

A calibration is recommended whenever any of the following conditions are true:

  • 86100D power has been cycled
  • Module has been removed and then reinserted since the last calibration
  • 86100D temperature change exceeds 5°C compared to the temperature of the last module calibration ( ΔT > 5°C)
  • Time since the last calibration has exceeded 10 hours

Always remove or disable all inputs to the module. However, inputs do not have to be removed from 83496A modules.

Example Command Sequence

The following commands are used for a typical vertical calibration. The :SDONe? query is used to detect when a portion of the calibration has completed. The :CONTinue command is used to dismiss dialog boxes that are displayed during a calibration. SLOT3 identifies a module that is installed in the right module bay.

The following commands are used for a typical vertical calibration. .

:CALibrat:SLOT3:VERTical ENABled
:CALibrate:SLOT3:ENABled ENABled
:CALibrate:SLOT3:VERTical:STARt
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss the begin notice calibration dialog box
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss the disconnect notice dialog box
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss calibration complete dialog box
*OPC?
:CALibrate:SLOT:VERTical:STATus?

  • Return to main topic


:CALibrate:CANCel

Command Syntax

:CALibrate:CANCel

Description

Cancels a calibration that is in process. As a calibration progresses, message or decision dialog boxes appear. For example, the user might be instructed to disconnect any front-panel inputs to a module. This command is equivalent to clicking the dialog box's Cancel button. Use the CONTinue command for an equivalent of the Next button. Use the :SDONe command to pause your application until the user clicks a button and to determine the which button was pressed.

Example Command Sequence

The following commands are used for a typical vertical calibration.

:CALibrate:SLOT3:VERTical:STARt
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss the begin notice calibration dialog box
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss the disconnect notice dialog box
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss calibration complete dialog box
*OPC?


:CALibrate:CHANnel{N}:ENABled

Command Syntax

:CALibrate:CHANnel{N}:ENABled {ENABled | DISabled}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CALibrate:CHANnel{N}:ENABled?

Description

Enables or disables a vertical calibration for the indicated module's input channel.

ENABled
Selects all calibrations for the indicated slot to be performed.
DISabled
Prevents all calibrations for the indicated slot from being performed.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Query Response

{ENAB | DIS}
ENAB
Indicates that all calibrations for the indicated slot are selected.
DIS
Indicates that all calibrations for the indicated slot are disabled.


:CALibrate:CHANnel{N}:STATus?

Query Syntax

:CALibrate:CHANnel{N}:STATus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries a channel's calibration status. One of the following response strings is returned:

"CALIBRATED"
The module does not require a calibration.
"UNCALIBRATED"
The module requires a calibration.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :TEMPerature
Change in Time | :TIME?

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:CHANnel{N}:STATus:DETails?

Query Syntax

:CALibrate:CHANnel{N}:STATus:DETails?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries a string of status details for the current channel calibration. The following is an example of a typical returned string:

Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"

If a calibration is recommended, the following text is placed at the beginning of the above string:

"Requires Clock Recovery Calibration, …"

If a calibration has not yet been performed, the following string is returned:

"This calibration has never been performed in this instrument."

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status String

"Elapsed cal time has exceeded 10 hours.,Time of last Calibration: 09/20/2012 15:11:05,Elapsed Calibration Time: 26 days,Temperature Change: 2.58 C"


:CALibrate:CHANnel{N}:STATus:DTEMperature?

Query Syntax

:CALibrate:CHANnel{N}:STATus:DTEMperature?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Example Script

Click here to learn about a Python script for monitoring a remote head's temperature.

Queries the change in the channel's temperature (°C) from the time when the last channel calibration was performed on the indicated channel. For N1045A, N1055A, and 86118A remote heads, the returned value represents the temperature change in the romote head. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the :CALibrate:CHAN:ENABled command to enable a channel calibration.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status

2.340000000E+00


:CALibrate:CHANnel{N}:STATus:TIME?

Query Syntax

:CALibrate:CHANnel{N}:STATus:TIME?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the date and time when the last channel calibration was performed. If a calibration has not yet been performed, an empty string is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status String

"09/20/2012 15:11:05"


:CALibrate:CONTinue

Command Syntax

:CALibrate:CONTinue

Description

Continues a calibration that is in process. As a calibration progresses, message or decision dialog boxes appear. For example, the user might be instructed to disconnect any front-panel inputs to a module. This command is equivalent to clicking the dialog box's Next or Done button. Use the CANCel command for an equivalent of the Cancel button. Use the :SDONe command to pause your application until the user clicks a button and to determine the which button was pressed.

Example Command Sequence

The following commands are used for a typical vertical calibration.

:CALibrate:SLOT3:VERTical:STARt
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss the begin notice calibration dialog box
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss the disconnect notice dialog box
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss calibration complete dialog box
*OPC?


:CALibrate:DARK:CHANnel:DISCard

Command Syntax

:CALibrate:DARK:CHANnel{N}:DISCard

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Erases an existing dark calibration for the channel. To perform a dark calibration, use the :CALibrate:DARK:CHANnel:STARt command.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:CALibrate:DARK:CHANnel{N}:STARt

Command Syntax

:CALibrate:DARK:CHANnel{N}:STARt

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Starts a dark calibration on the indicated optical channel. A dark calibration is used to calibrate extinction-ratio measurements. Be sure to indicate the desired channel, for example CHAN1B. The *OPC? query should be used to detect when a portion of the calibration has completed. Use the :CALibrate:CONTinue command to dismiss dialog boxes that are displayed during a calibration. Use the :CALibrate:DARK:CHANnel:DISCard command to erase an existing dark calibration for the selected channel.

Example Command Sequence

:CALibrate:DARK:CHAN3A:STARt
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue


:CALibrate:DARK:CHANnel{N}:STATus?

Query Syntax

:CALibrate:DARK:CHANnel{N}:STATus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the dark calibration status of an optical channel. The targeted optical channels is identified in the command string (for example, :CHAN2A) and not module slot as with the other :STATus? commands. A dark calibration is usually performed on an optical channel, but it can also be performed on an electrical channel in the case where an external photodetector is used. One of the following response strings is returned:

"CALIBRATED"
The module does not require a calibration.
"UNCALIBRATED"
The module requires a calibration.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Ttemperature change since last calibration | :DETails?
Change in temperature | :TEMPerature?
Change in Time | :TIME?


:CALibrate:DARK:CHANnel{N}:STATus:DETails?

Query Syntax

:CALibrate:DARK:CHANnel{N}:STATus:DETails?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries a string of status details for the current dark channel calibration. The following is an example of a typical returned string:

Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"

If a calibration is recommended, the following text is placed at the beginning of the above string:

"Requires Clock Recovery Calibration, …"

If a calibration has not yet been performed, the following string is returned:

"This calibration has never been performed in this instrument."

Example Returned Status String

"Dark Calibration for this channel configuration has not been performed since the last user module calibration."

Example Command Sequence

:CALibrate:DARK:CHAN2B:STATus:DETails?


:CALibrate:DARK:CHANnel{N}:STATus:DTEMperature?

Query Syntax

:CALibrate:DARK:CHANnel{N}:STATus:DTEMperature?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the 86100D's change in temperature from the time when the last dark calibration was performed on the indicated channel. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the CHANnel{N}:STARt command to start a dark calibration.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Returned Status

-6.10

Example Command

:CALibrate:DARK:CHAN3A:STATus:DTEMperature?


:CALibrate:DARK:CHANnel{N}:STATus:TIME?

Query Syntax

:CALibrate:DARK:CHANnel{N}:STATus:TIME?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the date and time when the last dark calibration on the indicated channel was performed. If a calibration has not yet been performed, an empty string is returned. Use the :DARK:CHANnel{N}:STARt command to start a dark calibration.

Example Returned Status String

"08/18/2011 08:14:02"

Example Command

:CALibrate:DARK:CHAN3A:STATus:TIME?


:CALibrate:FRAMe:PTIMebase:STARt

Command Syntax

:CALibrate:FRAMe:PTIMebase:STARt

Description

Starts a calibration of the 86100D's internal precision timebase.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above and an 86100D with option PTB, which includes an internal precision timebase.


:CALibrate:FRAMe:PTIMebase:STATus?

Query Syntax

:CALibrate:FRAMe:PTIMebase:STATus?

Query Response

{CALIBRATED | UNCALIBRATED}

Description

Returns the status of the calibration for the 86100D's internal precision timebase. Use the :DETails, :DTEMperature, and :TIME child commands to return detailed information about the calibration status. Use the :CALibrate:FRAME:PTIMebase:STARt command to calibrate the internal precision timebase.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above and an 86100D with option PTB, which includes an internal precision timebase.


:CALibrate:FRAMe:PTIMebase:STATus:DETails?

Query Syntax

:CALibrate:FRAMe:PTIMebase:STATus:DETails?

Description

Returns a string that provides the date of the last internal precision timebase calibration as well as the elapsed time and the temperature (Celsius) change. Use the :CALibrate:FRAME:PTIMebase:STATus? parent query to determine if a calibration is needed. Use the :CALibrate:FRAME:PTIMebase:STARt command to calibrate the internal precision timebase.

The following is an example of the returned string:

"Time of last Calibration: 01/09/2014 06:20:09,Elapsed Calibration Time: 8 days,Temperature Change: 1.04 C"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above and an 86100D with option PTB, which includes an internal precision timebase.


:CALibrate:FRAMe:PTIMebase:STATus:DTEMperature?

Query Syntax

:CALibrate:FRAMe:PTIMebase:STATus:DTEMperature?

Description

Returns a string that provides the change in temperature (Celsius) of the 86100D since the last internal precision timebase calibration. Use the :CALibrate:FRAME:PTIMebase:STATus? parent query to determine if a calibration is needed. Use the :CALibrate:FRAME:PTIMebase:STARt command to calibrate the internal precision timebase.

The following is an example of the returned string, which indicates that the temperature of the 86100D has risen 1.04°C:

"1.040000000E+00"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above and an 86100D with option PTB, which includes an internal precision timebase.


:CALibrate:FRAMe:PTIMebase:STATus:TIME?

Query Syntax

:CALibrate:FRAMe:PTIMebase:STATus:TIME?

Description

Returns a string that provides the time that has elapsed since the last 86100D internal precision timebase calibration. Use the :CALibrate:FRAME:PTIMebase:STATus? parent query to determine if a calibration is needed. Use the :CALibrate:FRAME:PTIMebase:STARt command to calibrate the internal precision timebase.

The following is an example of the returned string:

"01/09/2014 06:20:09"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above and an 86100D with option PTB, which includes an internal precision timebase.


:CALibrate:FRAMe:TIMebase:STATus?

Query Syntax

:CALibrate:FRAMe:TIMebase:STATus?

Query Response

{CALIBRATED | UNCALIBRATED}

Description

Returns the status of the 86100D's timebase calibration. Use the :DETails, :DTEMperature, and :TIME child commands to return detailed information about the calibration status. To return the status of the calibration for the 86100D's Option PTB (internal precision timebase), use the :CALibrate:FRAMe:PTIMebase:STATus command.

If a calibration is needed, the 86100D must be returned to Keysight Technologies. The timebase calibration is required when:

  • a change in the temperature of the mainframe exceeds 15°C compared to the temperature of the last mainframe timebase calibration (ΔT > 15°C)
  • there is a hardware problem
  • the factory calibration is damaged

The mainframe timebase calibration is recommended when

  • a change in the temperature of the mainframe exceeds 5°C compared to the temperature of the last mainframe timebase calibration (Δ T > 5°C)
  • the time since the last calibration has exceeded 1 year

Note

The Service mainframe timebase calibration (Qualified Keysight service personnel only) can only be performed when the 86100D is in Legacy Configuration.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CALibrate:FRAMe:TIMebase:STATus:DETails?

Query Syntax

:CALibrate:FRAMe:TIMebase:STATus:DETails?

Description

Returns a string that provides the date of the last internal timebase calibration as well as the elapsed time and the temperature (Celsius) change. Use the :CALibrate:FRAME:TIMebase:STATus? parent query to determine if a calibration is needed and how the calibration is made. To return a detailed status of the calibration for the 86100D's Option PTB (internal precision timebase), use the :CALibrate:FRAMe:PTIMebase:STATus:DETails command.

The following is an example of the returned string:

"Time of last Calibration: 01/08/2014 07:07:12,Elapsed Calibration Time: 8 days,Temperature Change: 1.73 C"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CALibrate:FRAMe:TIMebase:STATus:DTEMperature?

Query Syntax

:CALibrate:FRAMe:TIMebase:STATus:DTEMperature?

Description

Returns a string that provides the change in temperature (Celsius) of the 86100D since the last timebase calibration. Use the :CALibrate:FRAME:TIMebase:STATus? parent query to determine if a calibration is needed and how the calibration is made. To return the temperature status of the calibration for the 86100D's Option PTB (internal precision timebase), use the :CALibrate:FRAMe:PTIMebase:STATus:DTEMperature command.

The following is an example of the returned string, which indicates that the temperature of the 86100D has risen 1.73°C:

"1.730000000E+00"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CALibrate:FRAMe:TIMebase:STATus:TIME?

Query Syntax

:CALibrate:FRAMe:TIMebase:STATus:TIME?

Description

Returns a string that provides the time that has elapsed since the last 86100D timebase calibration. Use the :CALibrate:FRAME:TIMebase:STATus? parent query to determine if a calibration is needed and how the calibration is made. To return the elapsed time status of the calibration for the 86100D's Option PTB (internal precision timebase), use the :CALibrate:FRAMe:PTIMebase:STATus:TIMe command.

The following is an example of the returned string:

"01/09/2014 06:20:09"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CALibrate:LRESistance

Command Syntax

:CALibrate:LRESistance  <resistance>

<resistance> is a double.

Query Syntax

:CALibrate:LRESistance?

Description

When performing a vertical calibration (:CALibrate:SLOT:VERTical) on a TDR module, this command enters the load resistance into the dialog box shown below. Enter the actual measured resistance of the load. The default value is 50Ω. The minimum value is 47Ω and the maximum value is 53Ω. The value can be stepped in 10 mΩ increments. Calibrations performed using non-precision loads either fail or result in inaccurate results.

54754A Vertical Calibration Dialog Box for Entering Load Resistance

Note

Although FlexDCA does not support TDR mode, you can still use the TDR module's vertical channel.

Example Command Sequence

:CALibrate:SLOT1:VERTical ENABled
:CALibrate:SLOT1:STARt
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:LRESistance 5.001E+1     //  Left channel
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:LRESistance 5.002E+1     //  Right channel
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue

Example Returned Status String

5.000000000E+01


:CALibrate:OPTical:CONVersion?

Query Syntax

:CALibrate:OPTical:CONVersion CHANnel{N} {USER | WAVelength{1|2|3}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

For an optical module, returns the optical conversion (responsivity) of the specified optical channel at the specified wavelength. The arguments WAVelength1, WAVelength2, and WAVelength3 select factory-calibrated wavelengths. If the channel has multiple input connectors (for example, option 004 channels on an 86115D module), the optical conversion reported only applies to the currently selected connector. To query the optical conversion of a different connector, first select that connector with the :CHANnel:CONNector command.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Example Command Sequence

:CALibrate:OPTical:CONVersion? CHANnel2A USER


:CALibrate:OPTical:FACTory:CHANnel{N}:STATus?

Query Syntax

:CALibrate:OPTical:FACTory:CHANnel{N}:STATus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the status of a factory optical calibration. One of the following response strings is returned:

"CALIBRATED"
The factory optical calibration is valid.
"UNCALIBRATED"
The factory optical calibration is not valid.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:OPTical:FACTory:CHANnel{N}:STATus:DETails?

Query Syntax

:CALibrate:OPTical:FACTory:CHANnel{N}:STATus:DETails?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries a string of status details for the 86100D frame.

Example Returned Status

"15.53 V/W at 850 nm,23.43 V/W at 1310 nm,24.49 V/W at 1550 nm"

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:OPTical:FACTory:CHANnel{N}:STATus:DTEMperature?

Query Syntax

:CALibrate:OPTical:FACTory:CHANnel{N}:STATus:DTEMperature?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the change in the 86100D frame's temperature from the time when the last frame calibration was performed. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status

2.340000000E+00


:CALibrate:OPTical:FACTory:CHANnel{N}:STATus:TIME?

Query Syntax

:CALibrate:OPTical:FACTory:CHANnel{N}:STATus:TIME?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the date and time when the last 86100D frame calibration was performed. If a calibration has not yet been performed, an empty string is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status String

"08/18/2011 08:14:02"


:CALibrate:OPTical:USER:CHANnel{N}:OPOWer

Command Syntax

:CALibrate:OPTical:USER:CHANnel{N}:OPOWer <power>

<power> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

On N1090A DCA-M extended hardware modules, specifies the optical input power used for a user optical calibration. For any other optical module, a user wavelength optical calibration must be performed using the 86100D Legacy user interface. The power output from the optical source must be within the allowable calibration requirements. Use the :WAVelength sibling command to specify the wavelenth at which the calibration applies. Use the :STARt command to perform the calibration.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:CALibrate:OPTical:USER:CHANnel{N}:STARt

Command Syntax

:CALibrate:OPTical:USER:CHANnel{N}:STARt

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

On N1090A DCA-M extended hardware modules, starts an optical calibration at a user wavelength on the indicated channel. For any other optical module, a user wavelength optical calibration must be performed using the 86100D Legacy user interface.

To specify the wavelength for the calibration, use the :WAVelength sibling command. To specify the optical power used in the calibration, use the :OPOWer sibling command. The wavelength and source power used must be within the ranges listed in the following table.

Optical Calibration Requirements
Module | Factory Calibrated Wavelength(s) | Allowable Calibration Optical Source Power Level | Source Power for Calibration to Meet Specifications
N1090A | 850 nm 1310 nm 1550 nm | 375 µW to 425 µW 175 µW to 225 µW 175 µW to 225 µW | 375 µW to 425 µW 175 µW to 225 µW 175 µW to 225 µW

Minimum Power Level

The minimum power level is recommended to assure specified performance over the instrument's full dynamic range. The calibration accuracy is heavily dependent on the accuracy to which you know the optical source power. For best results measure the optical source power with a high precision optical power meter.

Use the :STATus? sibling query to return details about the current calibration.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:CALibrate:OPTical:USER:CHANnel{N}:STATus?

Query Syntax

:CALibrate:OPTical:USER:CHANnel{N}:STATus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the status of a user optical calibration. One of the following response strings is returned:

"CALIBRATED"
The user optical calibration is valid.
"UNCALIBRATED"
The user optical calibration is not valid.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:OPTical:USER:CHANnel{N}:STATus:DETails?

Query Syntax

:CALibrate:OPTical:USER:CHANnel{N}:STATus:DETails?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries a string of status details for the 86100D frame. If a user calibration has never been performed, the following string is returned:

"This calibration has never been performed on this instrument."

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status String

"Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"


:CALibrate:OPTical:USER:CHANnel{N}:STATus:DTEMperature?

Query Syntax

:CALibrate:OPTical:USER:CHANnel{N}:STATus:DTEMperature?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the change in the 86100D frame's temperature from the time when the last frame calibration was performed. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. If a user calibration has never been performed, the following (Not a Number) value is returned:

9.91E+37 (NaN)

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status

2.340000000E+00


:CALibrate:OPTical:USER:CHANnel{N}:STATus:TIME?

Query Syntax

:CALibrate:OPTical:USER:CHANnel{N}:STATus:TIME?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the date and time when the last 86100D frame calibration was performed. If a calibration has not yet been performed, an empty string is returned. If a user calibration has never been performed, the following string is returned:

"UNKNOWN"

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status String

"08/18/2011 08:14:02"


:CALibrate:OPTical:USER:CHANnel{N}:WAVelength

Command Syntax

:CALibrate:OPTical:USER:CHANnel{N}:WAVelength <wavelength>

<wavelength> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

On N1090A DCA-M extended hardware modules, specifies the wavelength at which a user optical calibration is performed. For any other optical module, a user wavelength optical calibration must be performed using the 86100D Legacy user interface. The wavelength of the optical source must be within the allowable calibration requirements. Use the :OPOWer sibling command to specify the wavelenth at which the calibration applies. Use the :STARt command to perform the calibration.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:CALibrate:OUTPut

Command Syntax

:CALibrate:OUTPut  <voltage>

<voltage> is a double.

Query Syntax

:CALibrate:OUTPut?

Description

Sets the DC voltage output on the 86100D's front-panel calibration output (DC Cal). This output can be used to

  • manually verify the DC accuracy of a module's electrical channel calibration and to
  • calibrate a probe.

The voltage can be set to 0V ±2V. For best calibration accuracy, set the calibration output level to a voltage other than 0.0V. The default level is 5.0 mV. Setting the level above approximately ±800 mV will require that you offset the waveform display, add an external attenuator, or both.

Note

If you want to measure the calibration output level using an Keysight 86108A, 86116B, 86116C or 86118A module, you will need to make a custom cable. The custom cable is a normal cable with a series resistance added (50 ohm �0.1%). Connect your test cable between the front-panel Cal output and the module's electrical input. The measured value of the calibration output level is one half of the level shown in the front-panel Cal Output dialog box. This custom cable is not available from Keysight Technologies.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:PROBe:CHANnel{N}:STARt

Command Syntax

:CALibrate:PROBe:CHANnel{N}:STARt

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Starts a calibration for a probe on the indicated channel. The *OPC? query should be used to detect when a portion of the calibration has completed. Use the :CALibrate:CONTinue command to dismiss dialog boxes that are displayed during a calibration.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:CALibrate:PROBe:CHAN3A:STARt
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue


:CALibrate:PROBe:CHANnel{N}:STATus?

Query Syntax

:CALibrate:PROBe:CHANnel{N}:STATus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the status of a probe calibration. One of the following response strings is returned:

"CALIBRATED"
The probe calibration is valid.
"UNCALIBRATED"
The probe calibration is not valid.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:PROBe:CHANnel{N}:STATus:DETails?

Query Syntax

:CALibrate:PROBe:CHANnel{N}:STATus:DETails?

Description

Queries a string of status of a probe calibration. The following is an example of a typical returned string:

Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:CALibrate:PROBe:CHANnel{N}:STATus:DETails?


:CALibrate:PROBe:CHANnel{N}:STATus:DTEMperature?

Query Syntax

:CALibrate:PROBe:CHANnel{N}:STATus:DTEMperature?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the change in the 86100D frame's temperature from the time when the last frame calibration was performed. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status

-6.10

Example Query

:CALibrate:PROBe:CHANnel{N}:STATus:DTEMperature?


:CALibrate:PROBe:CHANnel{N}:STATus:TIME?

Query Syntax

:CALibrate:PROBe:CHANnel{N}:STATus:TIME?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the date and time when the last probe calibration was performed. If a calibration has not yet been performed, an empty string is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status String

"08/18/2011 08:14:02"

Example Command

:CALibrate:PROBe:CHANnel{N}:STATus:TIME?


:CALibrate:SDONe?

Query Syntax

:CALibrate:SDONe?

Query Response

{1 | 0}

Description

Queries the completion of a calibration step. A step is completed when a decision dialog box is displayed and the user clicks a NEXT or CANCEL button. These actions are equivalent to sending the :CONTinue or :CANCel commands. The following is an example of a returned string for a successful vertical calibration:

"Module Calibration has completed successfully …"

Other return strings are possible, for example the following message is returned if a calibration has not been initiated.

"No Calibration in progress."

Example Command Sequence

The following commands are used for a typical vertical calibration.

:CALibrate:SLOT3:VERTical:STARt
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss the begin notice calibration dialog box
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss the disconnect notice dialog box
:CALibrate:SDONe?
:CALibrate:CONTinue    //  Dismiss calibration complete dialog box
*OPC?


:CALibrate:SKEW:SLOT{N}:STARt

Command Syntax

:CALibrate:SKEW:SLOT{N}:STARt

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

For a N1045A Electrical Remote Sampling Head Module, starts a horizontal skew calibration on the indicated slot (module). This calibration removes any difference in the electrical lengths between the module's two remote sampling head cables. You must connect a 1.0 GHz sine wave to one of the input channels and a synchronous trigger to the 86100D's front-panel Trigger input. The amplitude of the signal must be between 200 mV (−10.0 dBm) and 710 mV (1.0 dBm). The *OPC? query should be used to detect when a portion of the calibration has completed. Use the :CALibrate:CONTinue command to dismiss dialog boxes that are displayed during a calibration.

Note

During the calibration, always use same cables and connectors to connect the source to each of the module's channels.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:SKEW:SLOT{N}:STATus?

Query Syntax

:CALibrate:SKEW:SLOT{N}:STATus?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module.

Description

Queries the skew calibration status for a module. Use the :SKEW:SLOT:STARt command to start a calibration. One of the following response strings is returned:

"CALIBRATED"
The module does not require a calibration.
"UNCALIBRATED"
The module requires a calibration.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :TEMPerature
Change in Time | :TIME?

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:SKEW:SLOT{N}:STATus:DETails?

Query Syntax

:CALibrate:SKEW:SLOT{N}:STATus:DETails?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module.

Description

Queries a string of status details for the current skew calibration. Use the :SKEW:SLOT:STARt command to start a calibration. The following are examples of typical returned strings:

Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"

If a calibration is recommended, the following text is placed at the beginning of the above string:

"Requires Clock Recovery Calibration, …"

If a calibration has not yet been performed, the following string is returned:

"This calibration has never been performed in this instrument."

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:CALibrate:SKEW:CHAN2B:STATus:DETails?


:CALibrate:SKEW:SLOT{N}:STATus:DTEMperature?

Query Syntax

:CALibrate:SKEW:SLOT{N}:STATus:DTEMperature?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module.

Description

Queries the 86100D's change in temperature from the time when the last skew was performed. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the :SKEW:SLOT:STARt command to start a calibration.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status

-6.10

Example Command

:CALibrate:SKEW:CHAN3A:STATus:DTEMperature?


:CALibrate:SKEW:SLOT{N}:STATus:TIME?

Query Syntax

:CALibrate:SKEW:SLOT{N}:STATus:TIME?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module.

Description

Queries the date and time when the last dark calibration on the indicated channel was performed. If a calibration has not yet been performed, an empty string is returned. Use the :SKEW:SLOT:STARt command to start a calibration.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status String

"08/18/2011 08:14:02"

Example Command

:CALibrate:SKEW:CHAN3A:STATus:TIME?


:CALibrate:SLOT{N}:CRECovery

Command Syntax

:CALibrate:SLOT{N}:CRECovery {ENABled | DISabled}

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Query Syntax

:CALibrate:SLOT{N}:CRECovery?

Query Response

{ENAB | DIS}

Description

For the indicated slot (slot), enables or disables the clock recovery calibration. To perform this calibration along with all other selected calibrations for the indicated slot, use the :CALibrate:SLOT:STARt command. To select a vertical or precision timebase calibration, use the CALibrate:SLOTN:VERTical and CALibrate:SLOTN:PTIMebase commands. To select all calibrations for the indicated slot, use the CALibrate:SLOTN:ENABled command. These commands affect the Calibration dialog box indicators, as shown in the following picture.

ENABled
Selects the calibration.
DISabled
Prevents the calibration.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
State of Calibration | :STATus?
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?


:CALibrate:SLOT{N}:CRECovery:STATus?

Query Syntax

:CALibrate:SLOT{N}:CRECovery:STATus?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Description

Queries the calibration status of a clock recovery calibration in the indicated slot. One of the following response strings is returned:

"CALIBRATED"
The calibration is valid.
"UNCALIBRATED"
The calibration is needed.
""
An empty string is returned if the hardware for the indicated slot does not exist. An -241,"Hardware missing" error is returned by the :SYStem:ERRor:Next command.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?


:CALibrate:SLOT{N}:CRECovery:STATus:DETails?

Query Syntax

:CALibrate:SLOT{N}:CRECovery:STATus:DETails?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Description

Queries a string of status details for the current clock recovery calibration for the indicated slot (module). The following is an example of a typical returned string:

Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"

If a calibration is recommended, the following shows an example returned string:

"Elapsed cal time has exceeded 10 hours.,The temperature has changed by more than 5.00 C.,Time of last Calibration: 10/12/2012 14:22:18,Elapsed Calibration Time: 5 days,Temperature Change: 7.35 C""

If a calibration has not yet been performed, the following string is returned:

"This calibration has never been performed in this instrument."

Example Returned Status String

"Requires Clock Recovery Calibration,Time of last Calibration: 03/14/2012 11:52:00,Elapsed Calibration Time: 75 hours 2 minutes,Temperature Change: 3.40 C"


:CALibrate:SLOT{N}:CRECovery:STATus:DTEMperature?

Query Syntax

:CALibrate:SLOT{N}:CRECovery:STATus:DTEMperature?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Description

Queries the change in the 86100D's temperature from the time when the last clock recovery calibration was performed on the indicated slot. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the :CALibrate:SLOT:CRECovery command to enable a clock recovery calibration.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Returned Status

7.350000000E+00


:CALibrate:SLOT{N}:CRECovery:STATus:TIME?

Query Syntax

:CALibrate:SLOT{N}:CRECovery:STATus:TIME?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Description

Queries the date and time of the last clock recovery calibration for the indicated slot. If a calibration has not yet been performed, an empty string is returned.

Example Returned Status String

10/12/2012 14:22:18"


:CALibrate:SLOT{N}:ENABled

Command Syntax

:CALibrate:SLOT{N}:ENABled {ENABled | DISabled}

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Query Syntax

:CALibrate:SLOT{1:8}:ENABled?

Description

For the indicated slot, selects or deselects all listed calibrations. The listed calibrations vary depending on the type of module installed. For example, for the 86112A dual-electrical module only vertical calibrations are available. For the 86108B, vertical, clock recovery, and precision timebase calibrations are available as shown in the following picture. The command query indicates if all calibrations are enabled or disabled or partially enabled. To set the availability of individual calibrations, use the CALibrate:SLOTN:VERTical, CALibrate:SLOTN:CRECovery, and CALibrate:SLOTN:PTIMebase commands. To perform all selected calibrations, use the :CALibrate:SLOT:STARt command. These commands affect the Calibration dialog box indicators, as shown in the following picture.

ENABled
Selects all calibrations for the indicated slot to be performed.
DISabled
Prevents all calibrations for the indicated slot from being performed.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Query Response

{ENAB | DIS | PART}
ENAB
Indicates that all calibrations for the indicated slot are selected.
DIS
Indicates that all calibrations for the indicated slot are disabled.
PART
Indicates that some calibrations for the indicated slot are selected and some are deselected.


:CALibrate:SLOT{N}:PTIMebase

Command Syntax

:CALibrate:SLOT{N}:PTIMebase {ENABled | DISabled}

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Query Syntax

:CALibrate:SLOT{1:8}:PTIMebase?

Query Response

{ENAB | DIS}

Description

For the indicated slot, enables or disables the precision timebase calibration for an 86107A, 86108A, or 86108B module. To perform this calibration along with all other selected calibrations for the indicated slot, use the :CALibrate:SLOT:STARt command. To select a vertical or clock recovery calibration, use the CALibrate:SLOTN:VERTical and CALibrate:SLOTN:CRECovery commands. To select all calibrations for the indicated slot, use the CALibrate:SLOTN:ENABled command. These commands affect the Calibration dialog box indicators, as shown in the following picture.

ENABled
Selects the calibration.
DISabled
Prevents the calibration.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
State of Calibration | :STATus?
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?


:CALibrate:SLOT{N}:PTIMebase:STATus?

Query Syntax

:CALibrate:SLOT{N}:PTIMebase:STATus?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Description

Queries the calibration status of an 86107A, 86108A, or 86108B module's precision timebase calibration in the indicated slot. One of the following response strings is returned:

"CALIBRATED"
The calibration is valid.
"UNCALIBRATED"
The calibration is needed.
""
An empty string is returned if the hardware for the indicated slot does not exist. An -241,"Hardware missing" error is returned by the :SYStem:ERRor:Next command.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:CALibrate:SLOT{N}:PTIMebase:STATus:DETails?

Query Syntax

:CALibrate:SLOT{N}:PTIMebase:STATus:DETails?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Description

Queries a string of status details of an 86107A, 86108A, or 86108B module's precision timebase calibration for the indicated slot. The following is an example of a typical returned string:

Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"

If a calibration is recommended, the following shows an example of the string:

"Elapsed cal time has exceeded 10 hours.,Time of last Calibration: 10/08/2012 11:13:37,Elapsed Calibration Time: 9 days,Temperature Change: -4.32 C"

If a calibration has not yet been performed, the following string is returned:

"This calibration has never been performed in this instrument."

Example Returned Status String

"Requires Clock Recovery Calibration,Time of last Calibration: 03/14/2012 11:52:00,Elapsed Calibration Time: 75 hours 2 minutes,Temperature Change: 3.40 C"

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Returned Status String

"Precision Timebase Calibration has not been performed since the last Vertical Calibration,Requires Precision Timebase Calibration,Time of last Calibration: 03/01/2012 12:04:00,Elapsed Calibration Time: 56 hours 49 minutes,Temperature Change: 6.20 C"


:CALibrate:SLOT{N}:PTIMebase:STATus:DTEMperature?

Query Syntax

:CALibrate:SLOT{N}:PTIMebase:STATus:DTEMperature?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Description

Queries the change in the 86100D's temperature from the time when the last 86107A, 86108A, or 86108B module's precision timebase calibration was performed on the indicated slot. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the :CALibrate:SLOT:PTIMebase command to enable a precision timebase calibration.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Returned Status

3.590000000E+00


:CALibrate:SLOT{N}:PTIMebase:STATus:TIME?

Query Syntax

:CALibrate:SLOT{N}:PTIMebase:STATus:TIME?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules, like the 86108B, the slot number would be 1.

Description

Queries the date and time of an 86107A, 86108A, or 86108B module's last precision timebase calibration for the indicated slot. If a calibration has not yet been performed, an empty string is returned.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Returned Status String

"10/08/2012 11:13:37"


:CALibrate:SLOT{N}:STARt

Command Syntax

:CALibrate:SLOT{N}:STARt

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Starts all enabled vertical, precision timebase, and clock recovery calibrations for the indicated slot (module), if supported. Most modules do not support all of these calibrations. The *OPC? query should be used to detect when a portion of the calibration has completed. Use the CONTinue command to dismiss dialog boxes that are displayed during a calibration. To enable the different calibrations, use the :CALibrate:SLOT:ENABled, :CALibrate:SLOT:CRECovery, :CALibrate:SLOT:PTIMebase, and :CALibrate:SLOT:VERTical commands.

Example Program

Two example C#.NET programs are provided that show how to perform a calibration. One example demonstrates controlling program timing using SRQ events and registers. The other example demonstrates timing using long timeouts. Look in the 86100D (or PC) installation folder:
\Keysight\FlexDCA\Demo\Example Programs

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CALibrate:SLOT1:STARt
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue


:CALibrate:SLOT{N}:STATus?

Query Syntax

:CALibrate:SLOT{N}:STATus?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries the overall calibration status for the indicated slot. If a vertical, precision timebase, or clock recovery calibration is needed, the slot is considered to be uncalibrated.

One of the following response strings is returned:

"CALIBRATED"
The calibrations are valid.
"UNCALIBRATED"
At least one calibration is needed.
""
An empty string is returned if the hardware for the indicated slot does not exist. An -241,"Hardware missing" error is returned by the :SYStem:ERRor:Next command.

To check the status of the individual calibrations, use the CALibrate:SLOTN:VERTical:STATus?, CALibrate:SLOTN:CRECovery:STATus?, and CALibrate:SLOTN:PTIMebase:STATus? queries.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Ttemperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?


:CALibrate:SLOT{N}:STATus:DETails?

Query Syntax

:CALibrate:SLOT{N}:STATus:DETails?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries a string of status details for all calibrations for the indicated slot (module). The following is an example of a typical returned string:

Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"

If a calibration is recommended, the following text is placed at the beginning of the above string:

"Requires Clock Recovery Calibration, …"

If a calibration has not yet been performed, the following string is returned:

"This calibration has never been performed in this instrument."

Example Returned Status String

"Requires Clock Recovery Calibration,Time of last Calibration: 03/14/2012 11:52:00,Elapsed Calibration Time: 75 hours 2 minutes,Temperature Change: 3.40 C"

Example Returned Status String

"Requires Vertical Calibration.,Requires Precision Timebase and Clock Recovery Calibration.,Time of last Calibration: 08/03/2011 13:19:02,Elapsed Calibration Time: 355 hours 15 minutes,Temperature Change: 11.4°C"


:CALibrate:SLOT{N}:STATus:DTEMperature?

Query Syntax

:CALibrate:SLOT{N}:STATus:DTEMperature?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries the change in the module's temperature from the time when the last vertical, precision timebase, or clock recovery calibration was performed on the indicated slot. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in temperature exceeds ±5°C.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Returned Status

-6.10


:CALibrate:SLOT{N}:STATus:TIME?

Query Syntax

:CALibrate:SLOT{N}:STATus:TIME?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

For the indicated slot, determines the oldest date and time between the last vertical calibration, precision timebase, or clock recovery calibrations and returns the value. If a calibration has not yet been performed, an empty string is returned.

Example Returned Status String

"03/22/2012 14:52:00"


:CALibrate:SLOT{1:8}:STEP

Command Syntax

:CALibrate:SLOT{1:8}:STEP {ENABled | DISabled}

Query Syntax

:CALibrate:SLOT{1:8}:STEP?

Query Response

{ENAB | DIS}

Description

Enables or disables the TDR step calibration on N1055A or 54754A TDR/Electrical modules. Use the :STATus child command to determine if the step is calibrated or uncalibrated.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:CALibrate:SLOT{1:8}:STEP:STATus?

Query Syntax

:CALibrate:SLOT{1:8}:STEP:STATus?

Query Response

{CALIBRATED | UNCALIBRATED}

Description

Returns the status of the TDR step calibration for N1055A or 54754A TDR/Electrical modules. Use the :DETails, :DTEMperature, and :TIME child commands to return detailed information about the calibration status. Use the :CALibrate:SLOT:STEP command to enable the step calibration.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:CALibrate:SLOT{1:8}:STEP:STATus:DETails?

Query Syntax

:CALibrate:SLOT{1:8}:STEP:STATus:DETails?

Description

Returns a string that provides the date of the last TDR module's step calibration as well as the elapsed time and the temperature (Celsius) change. Use the :CALibrate:SLOT:STEP:STATus? parent query to determine if a calibration is needed and how the calibration is made.

The following is an example of the returned string:

"Time of last Calibration: 01/08/2014 07:07:12,Elapsed Calibration Time: 8 days,Temperature Change: 1.73 C"

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:CALibrate:SLOT{1:8}:STEP:STATus:DTEMperature?

Query Syntax

:CALibrate:SLOT{1:8}:STEP:STATus:DTEMperature?

Description

Returns a string that provides the change in temperature (Celsius) from the last TDR module's step calibration. Use the :CALibrate:SLOT:STEP:STATus? parent query to determine if a calibration is needed and how the calibration is made.

The following is an example of the returned string, which indicates that the temperature of the 86100D has risen 1.73°C:

"1.730000000E+00"

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:CALibrate:SLOT{1:8}:STEP:STATus:TIME

Query Syntax

:CALibrate:SLOT{1:8}:STEP:STATus:TIME?

Description

Returns a string that provides the time that has elapsed since the last TDR module's step calibration. Use the :CALibrate:SLOT:STEP:STATus? parent query to determine if a calibration is needed and how the calibration is made.

The following is an example of the returned string:

"01/09/2014 06:20:09"

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:CALibrate:SLOT{N}:VERTical

Command Syntax

:CALibrate:SLOT{N}:VERTical {ENABled | DISabled}

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Query Syntax

:CALibrate:SLOT{1:8}:VERTical?

Description

For the indicated slot (module), enables or disables the vertical calibration. To perform this calibration along with all other selected calibrations for the indicated slot, use the :CALibrate:SLOT:STARt command. To select a clock recovery or precision timebase calibration, use the CALibrate:SLOTN:CRECovery or CALibrate:SLOTN:PTIMebase commands. To select all calibrations for the indicated slot, use the CALibrate:SLOTN:ENABled command. These commands affect the Calibration dialog box indicators, as shown in the following picture.

ENABled
Selects the calibration.
DISabled
Prevents the calibration.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
State of Calibration | :STATus?
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?

Query Response

{ENAB | DIS | PART}
ENAB
Indicates that all vertical calibrations for the indicated slot are selected.
DIS
Indicates that all vertical calibrations for the indicated slot are disabled.
PART
Indicates that some vertical calibrations for the indicated slot are selected and some are deselected.


:CALibrate:SLOT{N}:VERTical:STATus?

Query Syntax

:CALibrate:SLOT{N}:VERTical:STATus?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries the calibration status of a vertical calibration in the indicated slot. One of the following response strings is returned:

"CALIBRATED"
The calibration is valid.
"UNCALIBRATED"
The calibration is needed.
""
An empty string is returned if the hardware for the indicated slot does not exist. An -241,"Hardware missing" error is returned by the :SYStem:ERRor:Next command.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?


:CALibrate:SLOT{N}:VERTical:STATus:DETails?

Query Syntax

:CALibrate:SLOT{N}:VERTical:STATus:DETails?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries a string of status details for the current vertical calibrations for the indicated slot (module). The following is an example of a typical returned string:

Time of last Calibration: 10/23/2012 11:52:00,Elapsed Calibration Time: 3 hours 2 minutes,Temperature Change: 1.24 C"

If a calibration is recommended, the following shows an example of the returned string:

"Elapsed cal time has exceeded 10 hours.,Channel 1A Vertical Calibration is recommended; it will be included in the Channel 2A Vertical Calibration.,Time of last Calibration: 09/20/2012 15:11:05,Elapsed Calibration Time: 27 days,Temperature Change: 2.83 C"

If a calibration has not yet been performed, the following string is returned:

"This calibration has never been performed in this instrument."

Example Returned Status String

"Requires Clock Recovery Calibration,Time of last Calibration: 03/14/2012 11:52:00,Elapsed Calibration Time: 75 hours 2 minutes,Temperature Change: 3.40 C"

Example Returned Status String

"Time of last Calibration: 03/22/2012 14:52:00,Elapsed Calibration Time: 55 minutes,Temperature Change: 0.20 C"


:CALibrate:SLOT{N}:VERTical:STATus:DTEMperature?

Query Syntax

:CALibrate:SLOT{N}:VERTical:STATus:DTEMperature?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries the change in the 86100D's temperature from the time when the last vertical calibration was performed on the indicated slot. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the :CALibrate:SLOT:VERTical command to enable a vertical calibration.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Returned Status

2.830000000E+00


:CALibrate:SLOT{N}:VERTical:STATus:TIME?

Query Syntax

:CALibrate:SLOT{N}:VERTical:STATus:TIME?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries the date and time of the last vertical calibration for the indicated slot. If a calibration has not yet been performed, an empty string is returned.

Example Returned Status String

"09/20/2012 15:11:05"


:CALibrate:TIMebase:SLOT{1:8}:STARt

Command Syntax

:CALibrate:TIMebase:SLOT{1:8}:STARt

Description

Starts a timebase calibration for the module that is installed in the indicated slot.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

These steps are used for an N1090A timebase calibration in slot 5.

:CALibrate:TIMebase:SLOT5:STARt
:CALibrate:SDONe?
…  //  Prompt user to disconnect all cables to N1090A.
:CALibrate:CONTinue
:CALibrate:SDONe?
…  //  Propt user to connect calibration sinewave.
:CALibrate:CONTinue
…


:CALibrate:TIMebase:SLOT{1:8}:STATus?

Query Syntax

:CALibrate:TIMebase:SLOT{1:8}:STATus?

Query Response

{CALIBRATED | UNCALIBRATED}

Description

Returns the status of the timebase calibration for the module installed in the indicated slot. Use the :DETails, :DTEMperature, and :TIME child commands to return detailed information about the calibration status. Use the :TIMebase:SLOT:STARt command to start a timebase calibration.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CALibrate:TIMebase:SLOT{1:8}:STATus:DETails?

Query Syntax

:CALibrate:TIMebase:SLOT{1:8}:STATus:DETails?

Description

Returns a string that provides the date of the last timebase calibration for the indicated slot as well as the elapsed time and the temperature (Celsius) change. Use the :CALibrate:TIMebase:SLOT:STATus? parent query to determine if a calibration is needed and how the calibration is made.

The following is an example of the returned string:

"Time of last Calibration: 01/08/2014 07:07:12,Elapsed Calibration Time: 8 days,Temperature Change: 1.73 C"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CALibrate:TIMebase:SLOT{1:8}:STATus:DTEMperature?

Query Syntax

:CALibrate:TIMebase:SLOT{1:8}:STATus:DTEMperature?

Description

Returns a string that provides the change in temperature (Celsius) from the last slot timebase calibration. Use the :CALibrate:TIMebase:SLOT:STATus? parent query to determine if a calibration is needed and how the calibration is made.

The following is an example of the returned string, which indicates that the temperature of the 86100D has risen 1.73°C:

"1.730000000E+00"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CALibrate:TIMebase:SLOT{1:8}:STATus:TIME?

Query Syntax

:CALibrate:TIMebase:SLOT{1:8}:STATus:TIME?

Description

Returns a string that provides the time that has elapsed since the last slot timebase calibration. Use the :CALibrate:TIMebase:SLOT:STATus? parent query to determine if a calibration is needed and how the calibration is made.

The following is an example of the returned string:

"01/09/2014 06:20:09"

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STARt

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:CRECovery command.

Command Syntax

:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STARt

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Starts a calibration on a clock recovery module. The *OPC? query should be used to detect when a portion of the calibration has completed. Use the CONTinue command to dismiss dialog boxes that are displayed during a calibration. SLOT1 identifies a module that is installed in the left module bay. SLOT3 identifies a module that is installed in the right module bay.

Example Command Sequence

:CALibrate:CRECovery:SLOT1:STARt
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue


:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STATus?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:CRECovery:STATus? command.

Query Syntax

:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STATus?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries the calibration status of a clock recovery module. Modules are identified as being installed in :SLOT1 or :SLOT3. One of the following response strings are returned:

"CALIBRATED"
The module does not require a calibration.
"UNCALIBRATED"
The module requires a calibration.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Ttemperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?


:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STATus:DETails?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:CRECovery:STATus:DETails? command.

Query Syntax

:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STATus:DETails?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries a string that lists the following calibration status information for a clock recovery module. Modules are identified as being installed in either :SLOT1 or :SLOT3.

  • Time of last calibration
  • Time change since the last calibration
  • Temperature change since last calibration

Example Returned Status String

"Requires Clock Recovery Calibration.,Time of last Calibration: 08/16/2011 15:27:03,Elapsed Calibration Time: 40 hours 59 minutes,Temperature Change: -0.50°C"

Example Command Sequence

:CALibrate:CRECovery:SLOT3:STATus:DETails?


:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STATus:TEMPerature?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:CRECovery:STATus:DTEMperature? command.

Query Syntax

:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STATus:TEMPerature?

{N} identifies a specific module by slot and must be selected from {1:8}. For a module that occupies multiple slots, use the module's left-most slot number to identify the module. For two-slot modules, the slot number would be 1 or 3. For four-slot modules like the 86108B, the slot number would be 1.

Description

Queries the 86100D's change in temperature from the time when the last clock recovery module calibration was performed on the indicated module. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the :CALibrate:CRECovery:SLOT<N>:STARt command to start a clock recovery module calibration.

Example Returned Status String

"-6.10"

Example Command

:CALibrate:CRECovery:SLOT1:STATus:TEMPerature?


:CALibrate:CRECovery:{SLOT{N} | LMODule | RMODule}:STATus:TIME?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:CRECovery:STATus:TIME? command.

Query Syntax

:CALibrate:CRECovery:{SLOT{1:8} | LMODule | RMODule}:STATus:TIME?

Description

Queries the time when the last clock recovery module calibration was performed. Use the :CALibrate:CRECovery:SLOT<N>:STARt command to start a clock recovery module calibration.

Example Returned Status String

"08/18/2011 08:14:02"

Example Command

:CALibrate:CRECovery:SLOT3:STATus:TIME?


:CALibrate:DARK:CHANnel{N}:STATus:TEMPerature?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:DARK:CHAN:STATus:DTEMperature? command.

Query Syntax

:CALibrate:DARK:CHANnel{N}:STATus:TEMPerature?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the 86100D's change in temperature from the time when the last dark calibration was performed on the indicated channel. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the CHANnel{N}:STARt command to start a dark calibration.

Example Returned Status String

"-6.10"

Example Command

:CALibrate:DARK:CHAN3A:STATus:TEMPerature?


:CALibrate:FRAMe:STATus?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above, use the :CALibrate:FRAMe:TIMebase:STATus command. To return the status of the calibration for the 86100D's internal precision timebase, use the :CALibrate:FRAMe:PTIMebase:STATus command.

Query Syntax

:CALibrate:FRAMe:STATus?

Description

Queries the status of 86100D frame calibration. One of the following response strings is returned:

"CALIBRATED"
The 86100D does not require a calibration.
"UNCALIBRATED"
The 86100D requires a calibration.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Temperature change since last calibration | :DETails?
Change in temperature | :DTEMperature?
Change in Time | :TIME?

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CALibrate:FRAMe:STATus:DETails?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above, use the :CALibrate:FRAMe:TIMebase:STATus:DETails? command.

Query Syntax

:CALibrate:FRAMe:STATus:DETails?

Description

Queries a string of status details for the 86100D frame.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status

"The temperature has changed by more than 5.00 C.,Time of last Calibration: 10/20/2011 15:24:48,Elapsed Calibration Time: 362 days,Temperature Change: 7.35 C"


:CALibrate:FRAMe:STATus:DTEMperature?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above, use the :CALibrate:FRAMe:TIMebase:STATus:DTEMperature? command.

Query Syntax

:CALibrate:FRAMe:STATus:DTEMperature?

Description

Queries the change in the 86100D frame's temperature from the time when the last frame calibration was performed. If a calibration has not yet been performed, a value of NaA (9.91E+37) is returned. A calibration should be performed if the change in 86100D temperature exceeds ±5°C.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status

7.110000000E+00


:CALibrate:FRAMe:STATus:TIME?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above, use the :CALibrate:FRAMe:TIMebase:STATus:TIME? command.

Query Syntax

:CALibrate:FRAMe:STATus:TIME?

Description

Queries the date and time when the last 86100D frame calibration was performed. If a calibration has not yet been performed, an empty string is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Returned Status String

"10/20/2011 15:24:48"


:CALibrate:MODule:{SLOT{N} | LMODule | RMODule}:STARt

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:STARt command.

Command Syntax

:CALibrate:MODule:{SLOT{1:8} | LMODule | RMODule}:STARt

Description

Starts the vertical calibration or the precision timebase and clock recovery calibration. The *OPC? query should be used to detect when a portion of the calibration has completed. Use the CONTinue command to dismiss dialog boxes that are displayed during a calibration. Notice that SLOT1 identifies the module.

Example Command Sequence

:CALibrate:MODule:SLOT1:STARt
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue


:CALibrate:MODule:{SLOT{N} | LMODule | RMODule}:STATus?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:STATus? command.

Query Syntax

:CALibrate:MODule:{SLOT{1:8} | LMODule | RMODule}:STATus?

Description

Queries the calibration status of a module. 86108A modules are identified as being installed in :SLOT1. One of the following response strings are returned:

"CALIBRATED"
The module does not require a calibration.
"UNCALIBRATED"
The module requires a calibration.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Ttemperature change since last calibration | :DETails?
Change in temperature | :TEMPerature?
Change in Time | :TIME?


:CALibrate:MODule:{SLOT{N} | LMODule | RMODule}:STATus:DETails?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:STATus:DETails? command.

Query Syntax

:CALibrate:MODule:{SLOT{1:8} | LMODule | RMODule}:STATus:DETails?

Description

Queries a string that lists the following calibration status information for the module. Modules are identified as being installed in :SLOT1.

  • Any need for vertical calibration, precision timebase calibration, or clock recovery calibration
  • Time of last calibration
  • Time change since the last calibration
  • Temperature change since last calibration

Example Returned Status String

"Requires Vertical Calibration.,Requires Precision Timebase and Clock Recovery Calibration.,
Time of last Calibration: 08/03/2011 13:19:02,Elapsed Calibration Time: 355 hours 15 minutes,Temperature Change: 11.4°C"

Example Command Sequence

:CALibrate:MODule:SLOT1:STATus:DETails?


:CALibrate:MODule:{SLOT{N} | LMODule | RMODule}:STATus:TEMPerature?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:STATus:DTEMperature? command.

Query Syntax

:CALibrate:MODule:{SLOT{1:8} | LMODule | RMODule}:STATus:TEMPerature?

Description

Queries the 86100D's change in temperature from the time when the last vertical calibration and precision timebase/clock recovery calibration was performed. A calibration should be performed if the change in the 86100D's temperature exceeds ±5°C. Use the :CALibrate:MODule:SLOT<N>:STARt command to start a calibration.

Example Returned Status String

"-6.10"

Example Command

:CALibrate:VERTical:SLOT1:STATus:TEMPerature?


:CALibrate:MODule:{SLOT{N} | LMODule | RMODule}:STATus:TIME?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:STATus:TIME? command.

Query Syntax

:CALibrate:MODule:{SLOT{1:8} | LMODule | RMODule}:STATus:TIME?

Description

Queries the time when the last vertical calibration or precision timebase/clock recovery calibration was performed. A Use the :CALibrate:MODule:SLOT1:STARt command to start a calibration.

Example Returned Status String

"08/18/2011 08:14:02"

Example Command

:CALibrate:MODule:SLOT1:STATus:TIME?


:CALibrate:VERTical:{SLOT{N} | LMODule | RMODule}:STARt

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:VERTical command.

Command Syntax

:CALibrate:VERTical:{SLOT{1:8} | LMODule | RMODule}:STARt

Description

Starts an electrical or optical channel vertical calibration. For example, use this command for 86112A, 86105C, and 86107A modules. The *OPC? query should be used to detect when a portion of the calibration has completed. Use the CONTinue command to dismiss dialog boxes that are displayed during a calibration. SLOT1 identifies a module that is installed in the left module bay. SLOT3 identifies a module that is installed in the right module bay. If a vertical calibration is performed on a TDR module, the :CALibrate:LRESistance command is used to enter the load resistance.

Example Command Sequence

:CALibrate:VERTical:SLOT3:STARt
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue
*OPC?
…  //  Your code to synchronize execution timing.
:CALibrate:CONTinue


:CALibrate:VERTical:{SLOT{N} | LMODule | RMODule}:STATus?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:VERTical:STATus? command.

Query Syntax

:CALibrate:VERTical:{SLOT{1:8} | LMODule | RMODule}:STATus?

Description

Queries the calibration status of a dual electrical, dual optical, or optical/electrical module. Modules are identified as being installed in either :SLOT1 or :SLOT3. One of the following response strings are returned:

"CALIBRATED"
The module does not require a calibration.
"UNCALIBRATED"
The module requires a calibration.

Use the child queries listed in the following table to return details about the current calibration.

Status String Child Queries
Status Sring | Child Query to Send
Time of last calibration, Time change since last calibration, and Ttemperature change since last calibration | :DETails?
Change in temperature | :TEMPerature
Change in Time | :TIME?


:CALibrate:VERTical:{SLOT{N} | LMODule | RMODule}:STATus:DETails?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:VERTical:STATus:DETails? command.

Query Syntax

:CALibrate:VERTical:{SLOT{1:8} | LMODule | RMODule}:STATus:DETails?

Description

Queries a string that lists the following calibration status information for a dual electrical, dual optical, or optical/electrical module. Modules are identified as being installed in either :SLOT1 or :SLOT3.

  • Time of last calibration
  • Time change since the last calibration
  • Temperature change since last calibration

Example Returned Status String

"Time of last Calibration: 12/28/2011 08:14:02,Elapsed Calibration Time: 1 minutes,Temperature Change: -0.50°C"

Example Command

:CALibrate:VERTical:SLOT3:STATus:DETails?


:CALibrate:VERTical:{SLOT{N} | LMODule | RMODule}:STATus:TEMPerature?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:VERTical:STATus:DTEMperature? command.

Query Syntax

:CALibrate:VERTical:{SLOT{1:8} | LMODule | RMODule}:STATus:TEMPerature?

Description

Queries the change in the 86100D's temperature from the time when the last electrical or optical vertical channel calibration was performed on the indicated module. A calibration should be performed if the change in 86100D temperature exceeds ±5°C. Use the :CALibrate:VERTical:SLOT<N>:STARt command to start a vertical calibration.

Example Returned Status String

"-6.10"

Example Command

:CALibrate:VERTical:SLOT3:STATus:TEMPerature?


:CALibrate:VERTical:{SLOT{N} | LMODule | RMODule}:STATus:TIME?

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :CALibrate:SLOT:VERTical:STATus:TIME? command.

Query Syntax

:CALibrate:VERTical:{SLOT{1:8} | LMODule | RMODule}:STATus:TIME?

Description

Queries the time of the last electrical or optical vertical channel calibration. Use the :CALibrate:VERTical:SLOT<N>:STARt command to start a vertical calibration.

Example Returned Status String

"08/18/2011 08:14:02"

Example Command

:CALibrate:VERTical:SLOT3:STATus:TIME?


Introduction to :CHANnel Subsystem

The Channel subsystem commands control all vertical (Y axis) functions. To control differential waveforms, use the :DIFFerent subsystem.

  • Learn More
  • Programming Home

General Commands

  • BANDwidth
  • BANDwidth:FREQuency
  • BANDwidth:FREQuency:MAXimum
  • BANDwidth:FREQuency:MINimum
  • BANDwidth:FREQuency:VSET?
  • COLor
  • CONNector
  • CWINdow
  • DISPlay
  • FILTer
  • FSELect
  • FSELect:RATe
  • FSELect:RATe:MAXimum
  • FSELect:RATe:MINimum
  • FSELect:RATe:VSET?
  • PROBe:ATTenuation?
  • PROBe:ID
  • PROBe:MODE
  • PROBe:STATe
  • SIGNal:TYPE
  • SIGNal:TYPE:AUTO
  • SIGNal:TYPE:DETect
  • SKEW
  • STATus?
  • TDELay
  • UNAMe
  • WAVelength
  • WAVelength:VALue
  • WAVelength:VALue:VSET?

Attenuation Compensation Commands

  • ATTenuator:DECibels
  • ATTenuator:RATio
  • ATTenuator:RESet
  • ATTenuator:STATe?

Transducer Compensation Commands

  • TRANsducer:GAIN
  • TRANsducer:INVert
  • TRANsducer:OFFSet
  • TRANsducer:STATe
  • TRANsducer:UNITs

System Impulse Response Commands

  • SIRC
  • SIRC:AUPDates
  • SIRC:CFOLder
  • SIRC:CFUPdate
  • SIRC:CSTatus?
  • SIRC:CSTatus:REASon?
  • SIRC:DSTore
  • SIRC:FBANdwidth
  • SIRC:FRATe
  • SIRC:RESPonse
  • SIRC:USTatus?
  • SIRC:USTatus:REASon?

Waveform Definition Commands

  • UDEFined:BASe
  • UDEFined:DISTal
  • UDEFined:MESial
  • UDEFined:PROXimal
  • UDEFined:TOP

Scaling and Units Commands

  • YBOTtom?
  • YOFFset
  • YSCale
  • YTOP?
  • YUNits


Introduction to :CHANnel Subsystem (continued)

The commands in the :CHANnel subsystem, as well as a few other FlexDCA commands, include a reference (:CHANnel{N}:) that identifies the channel to which the command applies as shown in the following table. For example, you can display channel 1A with any of the following four identical commands. (Notice channel identifier highlighted in red.)

:CHAN1:DISPlay ON;
:CHAN1A:DISPlay ON;
:CHANnel1:DISPlay ON;
:CHANnel1A:DISPlay ON;

Varieties of the Channel Command
Channel | Command Varieties | Channel | Command Varieties | Channel | Command Varieties | Channel | Command Varieties
1A | :CHAN1 :CHAN1A :CHANnel1 :CHANnel1A | 2A | :CHAN2 :CHAN2A :CHANnel2 :CHANnel2A | 3A | :CHAN3 :CHAN3A :CHANnel3 :CHANnel3A | 4A | :CHAN4 :CHAN4A :CHANnel4 :CHANnel4A
1B | :CHAN1B :CHANnel1B | 2B | :CHAN2B :CHANnel2B | 3B | :CHAN3B :CHANnel3B | 4B | :CHAN4B :CHANnel4B
1C | :CHAN1C :CHANnel1C | 2C | :CHAN2C :CHANnel2C | 3C | :CHAN3C :CHANnel3C | 4C | :CHAN4C :CHANnel4C
1D | :CHAN1D :CHANnel1D | 2D | :CHAN2D :CHANnel2D | 3D | :CHAN3D :CHANnel3D | 4D | :CHAN4D :CHANnel4D

To simplify the documentation of these commands, the channel identification portion each of these commands will be represented by {N} as shown here:

CHANnel{N}:BANDwidth

  • Channel Inputs


:CHANnel{N}:ATTenuator:DECibels

Command Syntax

:CHANnel{N}:ATTenuator:DECibels <attenuation>

<attenuation> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:ATTenuator:DECibels?

Description

Enters or queries an attenuation compensation factor in decibels. Use the :CHANnel:ATTenuator:RATio command to enter a factor based on ratio. Use the :CHANnel:ATTenuator:STATe command to turn attenuation compensation on and off. To reset the attenuation factor to 0 (1:1), use the :CHANnel:ATTenuator:RESet command. For more information on attenuation factors, refer to the :CHANnel:ATTenuator:STATe command.

Note

Enter attenuation as a positive value. Gain is implied when you enter negative decibel values.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.


:CHANnel

:CHANnel{N}:ATTenuator:RATio

Command Syntax

:CHANnel{N}:ATTenuator:RATio <ratio>

<ratio> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:ATTenuator:RATio?

Description

Enters or queries an attenuation compensation factor as a ratio. Use the :CHANnel:ATTenuator:DECibels command to enter a factor based on decibels. Use the :CHANnel:ATTenuator:STATe command to turn attenuation compensation on and off. To reset the attenuation factor to 0 (1:1), use the :CHANnel:ATTenuator:RESet command. For more information on attenuation factors, refer to the :CHANnel:ATTenuator:STATe command.

Note

Gain is implied when you enter ratios of less than 1:1.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.


:CHANnel{N}:ATTenuator:RESet

Command Syntax

:CHANnel{N}:ATTenuator:RESet

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Resets the attenuation compensation factor to 0 (1:1). For more information on attenuation factors, refer to the :CHANnel:ATTenuator:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Example

:CHANnel2A:ATTenuator:RESet

  • Optical Channel Setup


:CHANnel{N}:ATTenuator:STATe

Command Syntax

:CHANnel{N}:ATTenuator:STATe {OFF | ON}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:ATTenuator:STATe?

Description

Turns on and off compensation for external attenuator in the test setup. This allows FlexDCA to report measurement values as if the measurements were made before the attenuator rather than at the oscilloscope's channel input. You can select to enter the amount of attenuation in decibels or as a voltage ratio (:CHANnel:ATTenuator:DECibels or :CHANnel:ATTenuator:RATio). The relationship between decibels and voltage ratio is expressed by:

Note

When entering attenuation in decibels, enter the attenuation as a positive value. Gain is implied when you enter negative decibel values.

For example, if your test setup included 3 dB of attenuation, a signal with a 100.0 mV one level (before the attenuation) would be measured as 70.8 mV at the oscilloscope's channel input. However, after entering 3 dB (or 1.413:1 ratio) of attenuation compensation, the corrected oscilloscope measurement would read 100 mV.

Based on an attenuation factor expressed as a voltage ratio, the conversion would be:

Based on an attenuation factor expressed in decibels, the conversion would be:

Use the :CHANnel:ATTenuator:RESet command to reset the attenuation to the default value of 0 dB (1:1). See also external transducer compensation.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Example

:CHANnel2A:ATTenuator:STATe ON

  • Optical Channel Setup


:CHANnel{N}:BANDwidth

Command Syntax

:CHANnel{N}:BANDwidth  {BANDwidth1 | BANDwidth2 | … | BANDwidth16}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:BANDwidth?

Description

Selects the sampler bandwidth of an electrical or optical channel. There can be up to 16 supported sampler bandwidth settings, depending on the module. The command argument identifies a bandwidth setting that is:

  • For electrical channels, shown in the Bandwidth field of the Channel Setup dialog box. For example, BANDwidth2 identifies the second from the top listing, 15.0 GHz, shown in this picture.
  • For optical channels, shown in the Sampler Bandwidth field of the Advanced settings in the Channel Setup dialog box. For example, BANDwidth2 identifies the second from the top listing, 15.0 GHz, shown in this picture.

For both electrical and optical channels, you can also select the sampler bandwidth by adding a bandwidth argument (in Hz) to the :CHANnel:BANDwidth:FREQuency command. Use the :CHANnel:BANDwidth:FREQuency:VSET? query to return a list of all supported bandwidths.

  • To set or query the current bandwidth for the selected channel by frequency, use the :CHANnel:BANDwidth:FREQuency command.
  • To set the bandwidth to its maximum value, use the :CHANnel:BANDwidth:FREQuency:MAXimum command.
  • To set the bandwidth to its minimum value, use the :CHANnel:BANDwidth:FREQuency:MINimum command.
  • To return a list of available sampler bandwidths, use the :CHANnel:BANDwidth:FREQuency:VSET? query.

The sampler bandwidth affects the width of the sampling pulse used by the instrument. Wider bandwidths allow the instrument to respond to fast changes in a waveform. The increased bandwidth yields the highest measurement fidelity. Narrow bandwidth offers the best sensitivity by reducing the noise on the input waveform while still maintaining good frequency response. A lower sampler bandwidth is especially useful for low-level signals that cannot be averaged.

Example Command Sequence

The following command selects the second sampler bandwidth selection shown in the Channel Setup dialog box.

:CHANnel2A:BANDwidth BANDwidth2

or

:CHANnel2A:BANDwidth:FREQuency 15.0E9

  • Channel Inputs


:CHANnel{N}:BANDwidth:FREQuency

Command Syntax

:CHANnel{N}:BANDwidth:FREQuency <frequency_in_Hertz>

<frequency_in_Hertz> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:BANDwidth:FREQuency?

Description

Sets or queries the sampler bandwidth (in Hz) of an electrical or optical channel. The channel will use the sampler bandwidth that is closest to the requested number. If the bandwidth is not within 1% of a supported sampler bandwidth, an error will be generated. Not all modules have a sampler bandwidth that can be changed.

  • To select a bandwidth by list order in the Bandwidth field of the Channel Setup dialog box (electrical channels) or the Sampler Bandwidth field of the Advanced settings in the Channel Setup dialog box (optical channels), use the :CHANnel:BANDwidth command.
  • To set the bandwidth to its maximum value, use the :CHANnel:BANDwidth:MAXimum command.
  • To set the bandwidth to its minimum value, use the :CHANnel:BANDwidth:MINimum command.
  • To return a list of available sampler bandwidths, use the :CHANnel:BANDwidth:FREQuency:VSET? query.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above for query and A.05.30 and above for command.

  • Channel Inputs


:CHANnel{N}:BANDwidth:FREQuency:MAXimum

Command Syntax

:CHANnel{N}:BANDwidth:FREQuency:MAXimum

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:BANDwidth:FREQuency:MAXimum?

Description

If the sampler bandwidth for the module can be changed, sets the bandwidth to its maximum supported value.

  • To set the bandwidth to its minimum value, use the :CHANnel:BANDwidth:MINimum command.
  • To set or query the current bandwidth, use the :CHANnel:BANDwidth:FREQuency command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:CHANnel{N}:BANDwidth:FREQuency:MINimum

Command Syntax

:CHANnel{N}:BANDwidth:FREQuency:MINimum

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:BANDwidth:FREQuency:MINimum?

Description

If the sampler bandwidth for the module can be changed, sets the bandwidth to its minimum supported value.

  • To set the bandwidth to its maximum value, use the :CHANnel:BANDwidth:MAXimum command.
  • To set or query the current bandwidth, use the :CHANnel:BANDwidth:FREQuency command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:CHANnel{N}:BANDwidth:FREQuency:VSET?

Query Syntax

:CHANnel{N}:BANDwidth:FREQuency:VSET?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries a list of available sampler bandwidths in Hz for the selected channel. For example,

"12.40E+9,20.00E+9,…"

The bandwidths in the returned list are in the same order as they are listed in the Bandwidth field of the Channel Setup dialog box (electrical channels) or the Sampler Bandwidth field of the Advanced settings in the Channel Setup dialog box (optical channels). To select a bandwidth based on its position in the dialog box list, use the :CHANnel:BANDwidth command. To select a bandwidth based on its frequency, use the :CHANnel:BANDwidth:FREQuency command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:CHANnel{N}:COLor

Command Syntax

:CHANnel{N}:COLor  {TCOLor1 | TCOLor2 | … | TCOLor16}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:COLor?

Description

Selects the color used to identify a channel on the screen. Waveform color assignments are saved as part of an instrument Setup file (:DISK:SETup:SAVe). Waveform colors are reset to their default values by a default setup (:SYSTem:DEFault) or factory preset (:SYSTem:FACTory).

Channel Colors Versus Command Arguments
Color | Argument | Color | Argument | Color | Argument | Color | Argument
 | TCOLor1 |  | TCOLor2 |  | TCOLor3 |  | TCOLor4
 | TCOLor5 |  | TCOLor6 |  | TCOLor7 |  | TCOLor8
 | TCOLor9 |  | TCOLor10 |  | TCOLor11 |  | TCOLor12
 | TCOLor13 |  | TCOLor14 |  | TCOLor15 |  | TCOLor16

To change the color of waveforms other than channels, use the following additional :COLor commands that are located in other subsystems:

Additional :COLor Commands
Command | Description
:CMODe:COLor | Sets color of common-mode waveforms.
:DIFF:COLor | Sets color of differential waveforms.
:EMEMory:COLor | Sets color of eye memory waveforms
:FUNCtion:COLor | Sets color of math function output waveforms.
:TRACe:COLor | Sets color of T-domain parameter or S-parameter waveforms in TDR/TDT mode.
:WMEMory:COLor | Sets color of waveform memories.

FlexDCA Revision

Requires FlexDCA revision A.04.50 for colors 13 through 16.

Example Command Sequence

:CHANnel2A:COLor TCOLor8

  • Channel Inputs


:CHANnel{N}:CONNector

Command Syntax

:CHANnel{N}:CONNector {A | B | NAPPlicable}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:CONNector?

Description

For 86115D Option 004 modules, selects the optical input connector for the channel. The 86115D with option 004 has two connectors per channel. When a channel's alternate connector is selected, all the vertical settings of the current connector (for example scale, offset, wavelength, filter) will be applied to the newly selected connector. This command is not available for 86115D Option 002 modules, as these modules have only one connector available for each channel.

When queried, one of the following responses is returned:

A
Connector A is selected as the channel input.
B
Connector B is selected as the channel input.
NAPPlicable
An 86115D option 004 module is not installed in the 86100D.

  • Dialog Box


:CHANnel:CWINdow

Command Syntax

:CHANnel{N}:CWINdow TIMe{1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:CWINdow?

Description

The :CHANnel{N}:CWINdow command allows you to assign a waveform to a Waveform content window.

Note

For FlexDCA revision A.03.00, there is only one Waveform content window, so you will not need to use this command.

In future revisions, the :CHANnel{N}:CWINdow command will select a content window in which to display a non-spectral waveform. In FlexDCA, four different types of content windows exist: Waveform (TIMe1), Group Delay (GDELay), Magnitude (MAGNitude), and Phase (PHASe). Each type varies by its type of X- and Y-axis units. Any given waveform is only compatible with one of these four content window types. Therefore, FlexDCA automatically assigns waveforms to the proper type of content window, such as Waveform or Phase. Waveforms can not be assigned to a different type of content window. For example, a Waveform waveform can not be moved to or shown in a Magnitude content window.

Command Arguments and Content Windows
Argument | Displayed Waveform Content Window | Number of Available Windows |  | Scale Units
 |  | Programmatically | Via Front Panel
TIMe1 | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:CHANnel{N}:DISPlay

Command Syntax

:CHANnel{N}:DISPlay {ON | OFF | 1 | 0}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:DISPlay?

Query Response

{1 | 0}

Description

Turns the display of the specified channel on or off. Use the STATus command to determine if a channel is available for display.

  • Channel Inputs


:CHANnel{N}:FILTer

Command Syntax

:CHANnel{N}:FILTer {ON | OFF | 1 | 0}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:FILTer?

Query Response

{1 | 0}

Description

Turn on or off the use of reference filters on an optical channels for compliance testing. SONET/SDH, Gigabit Ethernet, and Fibre Channel standards have defined the compliance tests for consistency in standard measurements. These tests must be performed in a specific bandwidth. This bandwidth is achieved using the filters in the optical channels. The compliance tests then verify the performance of the input signal in that bandwidth. These filters concur with specific SONET/SDH, FC, or Gb En data rates. The filters available for the optical channels are dependent upon the type of plug-in module used to measure the input waveform. Use the :CHANnel{N}FSELect command to select a given filter.

Note

Modules with a single filter allow you to only turn the available filter on or off. Modules that have filters that remain in the filter path at all times allow you to only select the filter you want to use from the Filter On. The selected filter will always remain enabled.

Note

Simulated optical modules do not support reference filters. Sending this command has no affect on simulated optical modules.

Note

The optical filter selection is only displayed for plug-in modules with internal optical channels.

  • Optical Channel Setup


:CHANnel{N}:FSELect

Command Syntax

:CHANnel{N}:FSELect  {FILTer1 | FILTer2 | … | FILTer25}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:FSELect?

Description

On an optical module, selects a reference filter from up to 25 possible, depending on the module. The command argument identifies a reference filter that is shown in the Reference Filter field of the channel Setup dialog box. For example, FILTer3 identifies the third setting from the top in the listing, 10.31250 Gb/s, as shown in this picture. Use the :CHANnel:FILTer command to enable or disable the filter.

You can also select the reference filter by adding a rate argument in bits-per-second (b/s) to the :CHANnel:FSELect:RATe command. Use the :CHANnel:FSELect:RATe:VSET? query to return a list of all supported reference filters.

  • To select the reference filter by bits-per-second (b/s) or to query the selected value, use the :CHANnel:FSELect:RATe command.
  • To select or query the maximum supported reference filter rate, use the :CHANnel:FSELect:RATe:MAXimum command.
  • To select or query the minimum supported reference filter rate, use the :CHANnel:FSELect:RATe:MINimum command.
  • To query the list of available rates, use the :CHANnel:FSELect:RATe:VSET? query.

On 86105C and 86115D modules, any available extinction-ratio correction factor is automatically applied for extintion ratio measurements when :MEASure:ERATio:CHAN<N>:ACFactor is set to ON.

TDEC Reference Filter and Compliance Measurements

When making TDEC compliance measurements, a reference receiver 25 Gb/s filter (effective 12.6 BW) is needed. The 86105D and 86115D modules with option 168 include the required filter. To select the filter, select the TDEC (12.6 GHz) filter.

Note

Simulated optical modules do not support reference filters. Sending this command has no affect on simulated optical modules.

Example

The following command selects the third supported reference filter.

:CHANnel2A:FSELect FILTer3

or

:CHANnel2A:FSELect:RATe 10.3125E9

  • Optical Channel Setup


:CHANnel{N}:FSELect:RATe

Command Syntax

:CHANnel{N}:FSELect:RATe?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:FSELect:RATe?

Description

For optical channels, selects or queries the reference filter by rate (b/s). The channel will use the reference filter that is closest to the requested rate. If the rate is not within 1% of a supported reference filter rate, an error will be generated.

  • To select a reference filter by list order in the Reference Filter field of the channel Setup dialog box, use the :CHANnel:FSELect command.
  • To select or query the maximum supported reference filter rate, use the :CHANnel:FSELect:RATe:MAXimum command.
  • To select or query the minimum supported reference filter rate, use the :CHANnel:FSELect:RATe:MINimum command.
  • To query the list of available rates, use the :CHANnel:FSELect:RATe:VSET? query.

The query form of the command returns the reference filter rate in b/s. For example, 8.5 Gb/s would be returned as:

8.5E09

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above for query and A.05.30 and above for command.

  • Optical Channel Setup


:CHANnel{N}:FSELect:RATe:MAXimum

Command Syntax

:CHANnel{N}:FSELect:RATe:MAXimum

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:FSELect:RATe:MAXimum?

Description

If the reference filter rate (b/s) for the module can be changed, sets the reference filter to its maximum supported value.

  • To select or query the minimum supported reference filter rate, use the :CHANnel:FSELect:RATe:MINimum command.
  • To select the reference filter by bits-per-second (b/s) or to query the selected value, use the :CHANnel:FSELect:RATe command.
  • To select a reference filter by list order in the Reference Filter field of the channel Setup dialog box, use the :CHANnel:FSELect command.
  • To query the list of available rates, use the :CHANnel:FSELect:RATe:VSET? query.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:CHANnel{N}:FSELect:RATe:MINimum

Command Syntax

:CHANnel{N}:FSELect:RATe:MINimum

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:FSELect:RATe:MINimum?

Description

If the reference filter rate (b/s) for the module can be changed, sets the reference filter to its minimum supported value.

  • To select or query the minimum supported reference filter rate, use the :CHANnel:FSELect:RATe:MAXimum command.
  • To select the reference filter by bits-per-second (b/s) or to query the selected value, use the :CHANnel:FSELect:RATe command.
  • To select a reference filter by list order in the Reference Filter field of the channel Setup dialog box, use the :CHANnel:FSELect command.
  • To query the list of available rates, use the :CHANnel:FSELect:RATe:VSET? query.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:CHANnel{N}:FSELect:RATe:VSET?

Query Syntax

:CHANnel{N}:FSELect:RATe:VSET?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries a list of available reference filters in bits-per-second (b/s) for the selected channel. For example,

"155.000E+6,622.000E+6,1.250000E+9,2.488000E+9,…"

The reference filter values (b/2) in the returned list are in the same order as they are listed in the Reference Filter field of the Channel Setup dialog box (optical channels).

  • To select a reference filter based on its position in the dialog box list, use the :CHANnel:FSELect command.
  • To select a reference filter bandwidth based on rate (b/s), use the :CHANnel:FSELect:RATe command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:CHANnel{N}:PROBe:ATTenuation?

Query Syntax

:CHANnel{N}:PROBe:ATTenuation?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Returns the attenuation factor setting for the probe.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:CHANnel{N}:PROBe:ID

Command Syntax

:CHANnel{N}:PROBe:ID <model number>

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

<model number> is a string of one of the following probe model numbers: "N2803A", "N2802A", "N2801A", "N2800A", "1169A", "1168A", "1158A", "1157A", "1156A", "1152A", "1134A", "1132A", "1131A".

Query Syntax

:CHANnel{N}:PROBe:ID?

Returns the model number of the connected probe or an NULL string if no probe is attached to the channel input.

Description

Specifies a probe that is connected to a channel input. Use the :CHANnel:PROBe:MODE command to specify differential or single-ended measurements. Use the :CHANnel:PROBe:STATe command to query to see if a probe is attached to a channel.

If you are using a probe that is not one of the supported model number but does require the N1022A/B or N5477A adapters, connect the probe and specify a model number of a similar probe that has the same attenuation factor. If you are using a probe that is not similar to a supported probe or one that does not use the adapters, define the probe as an external attenuator using the :CHANnel:ATTenuator:STATe, :CHANnel:ATTenuator:DECibels, and :CHANnel:ATTenuator:RATio commands.

Directly Supported Probes
Probe | Attenuation Factor | Bandwidth | Required Adapter
N2803A | 6:1 | 30 GHz | N5477A
N2802A | 6:1 | 25 GHz
N2801A | 6:1 | 20 GHz
N2800A | 6:1 | 16 GHz
1169A | 3.45:1 | 13 GHz | N1022A/B
1168A | 3.45:1 | 10 GHz
1158A | 10:1 | 4 GHz
1157A | 10:1 | 2.5 GHz
1156A | 10:1 | 1.5 GHz
1152A | 10:1 | 2.5 GHz
1134A | 10:1 | 7 GHz
1132A | 10:1 | 5 GHz
1131A | 10:1 | 3.5 GHz

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:CHANnel2A:PROBe:ID "N2801A"

  • Channel Inputs


:CHANnel{N}:PROBe:MODE

Command Syntax

:CHANnel{N}:PROBe:MODE {DIFFerential | SENDed}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:PROBe:MODE?

Description

Specifies either differential (DIFFerential) or single-ended (SENDed) probing. To specify the model of a probe that is connected to a channel, use the :CHANnel:PROBe:ID command. To if a probe or what model of probe is connected to a channel, use the :CHANnel:PROBe:STATe? query.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:CHANnel2A:PROBe:MODE SENDed

  • Channel Inputs


:CHANnel{N}:PROBe:STATe

Command Syntax

:CHANnel{N}:PROBe:STATe {ON | OFF}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:PROBe:STATe?

Description

Queries a response that indicates if a probe is connected to a channel input. To specify the model of a probe that is connected to a channel, use the :CHANnel:PROBe:ID command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:CHANnel2A:PROBe:STATe

  • Channel Inputs


:CHANnel{N}:SIGNal:TYPE

Command Syntax

:CHANnel{N}:SIGNal:TYPE {UNSPecified | NRZ | PAM4}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SIGNal:TYPE?

Description

Manually sets a channel's signal type when automatic detection is turned off (:SIGNal:TYPE:AUTO). This can be useful if the waveform is too degraded to automatically detect its type.

By default, automatic detection is turned on and is performed as part of an autoscale (:SYSTem:AUToscale). Automatic detection can also be manually run using the :SYSTem:STAutodetect command. This has the advantage of detecting the signal type without performing scaling. After automatic signal detection, use the :CHANnel:SIGNal:TYPE? query to return the actual signal type that was detected.

A waveform can be detected as a NRZ formatted data, or PAM4 formatted data. The default signal type is Unspecified. Sending this command with automatic detection turned on results in a settings conflict error. Use the :SIGNal:TYPE:DETect child command to force a detection of the input signal type.

Example Command Sequence

:CHANnel2A:SIGNal:TYPE:AUTO OFF
:CHANnel2A:SIGNal:TYPE PAM4

PAM-N License

The PAM4 argument is only available if options 9FP or 9TP PAM-N Analysis software license is installed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:CHANnel{N}:SIGNal:TYPE:AUTO

Command Syntax

:CHANnel{N}:SIGNal:TYPE:AUTO {ON | OFF}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SIGNal:TYPE:AUTO?

Description

Turns on and off automatic detection of the signal type that is input to the specified channel. By default, automatic detection is on. Use the :SIGNal:TYPE:DETect sibling command to force a detection. When automatic detection is turned off, specify the type of signal with the :SIGNal:TYPE parent command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:CHANnel{N}:SIGNal:TYPE:DETect

Command Syntax

:CHANnel{N}:SIGNal:TYPE:DETect

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

This command forces a detection of the input's signal type when automatic signal-type detection is turned on. To turn on or off automatic detection, use the :SIGNal:TYPE:AUTO sibling command. Sending this command when automatic detection is turned off results in a settings conflict error.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:CHANnel{N}:SIRC

Command Syntax

:CHANnel{N}:SIRC  {ON | OFF | 1 | 0}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SIRC?

Query Response

{1 | 0}

Description

Turns on or off the application of channel SIRC (System Impulse Response Capability) data for 86105C, 86105D, 86115D, or 86116C modules (Option IRC). The correction data compensates for the optical module's specific response. This ensures that eye diagrams appear identical between different modules.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

Example Command Sequence

:CHANnel2A:SIRC ON

More Information

  • SIRC (System Impulse Response Capability)


:CHANnel:SIRC:ACOPtimize

Note

This command has not been implemented. Information on SIRC (System Impulse Response Capability).

Description


:CHANnel{N}:SIRC:AUPDates

Command Syntax

:CHANnel{N}:SIRC:AUPDates

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Turns on or off automatic updating of SIRC data from Keysight.com. To manually check for updates, use the :CHANnel{N}:SIRC:CFUPdate command. Use the :CHANnel{N}:SIRC:DSTore command to select the location for getting SIRC data files: the local drive or www.keysight.com. Use the :CHANnel{N}:SIRC:CFOLder command to select the local folder for saving SIRC data files.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

Example Command Sequence

:CHANnel2A:SIRC:AUPDates ON

  • Optical Channel Setup


:CHANnel{N}:SIRC:CFOLder

Command Syntax

:CHANnel{N}:SIRC:CFOLder  "folder"

"folder" is a string. This command supports the DEFault common child commands.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SIRC:CFOLder?

Description

Selects the local folder for storing the SIRC data files. The default folder is %USER_DATA_DIR%/SIRC Calibrations.

Location of \SIRC Calibrations Folder
FlexDCA Running Embedded on 86100D | N1010A Running on Windows 7 PC

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SIRC:CFUPdate

Command Syntax

:CHANnel{N}:SIRC:CFUPdate

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Checks for SIRC calibration data updates from Keysight.com. To configure automatic updates, use the :CHANnel{N}SIRC:AUPDates command. Use the :CHANnel{N}:SIRC:DSTore command to select the location for getting SIRC data files: the local drive or www.keysight.com. Use the :CHANnel{N}:SIRC:CFOLder command to select the local folder for saving SIRC data files.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SIRC:CSTatus?

Query Syntax

:CHANnel{N}:SIRC:CSTatus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Indicates if the SIRC calibration data is correctly loaded and is available to apply using the :CHANnel{N}:SIRC command.

QUES
Indicates that the SIRC data is not ready to be applied. Use the :REASon child command to determine the cause. A common reason is the lack of a pattern lock.
CORR
Indicates that the SIRC data is ready to be applied. The :REASon child query returns the SIRC calibration status, for example "The SIRC calibration data from 23 October 2011 18:28 GMT is currently loaded."

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SIRC:CSTatus:REASon?

Query Syntax

:CHANnel{N}:SIRC:CSTatus:REASon?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

If the SIRC calibration data is ready to use, this query returns the SIRC calibration status, for example "The SIRC calibration data from 23 October 2011 18:28 GMT is currently loaded.". If the SIRC calibration data is not ready to use, a reason is returned. For example, a very common reason is the lack of pattern lock, which is indicated by the string "You must enable pattern lock to use SIRC."

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

  • Optical Channel Setup


:CHANnel{N}:SIRC:DSTore

Command Syntax

:CHANnel{N}:SIRC:DSTore  {KEYSight | LDRive | RDCA}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SIRC:DSTore?

Description

Selects the location for loading and updating SIRC data files.

KEYSight
SIRC data is downloaded from www.keysight.com.
LDRive
SIRC data is loaded from a local folder on the PC.
RDCA
SIRC data is loaded from a local 86100D folder on a remotely controlled 86100D.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SIRC:FBANdwidth

Command Syntax

:CHANnel{N}:SIRC:FBANdwidth  <bandwidth>

<bandwidth> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SIRC:FBANdwidth?

Description

SIRC data is created for specific filter rates and 3 dB bandwidths. Once the SIRC data has been loaded, use this command to select the 3 dB bandwidth or use the :CHANnel{N}:SIRC:FRATe command to select the filter rate. Use the :CHANnel{N}:SIRC:DSTore command to load the SIRC data for the module.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SIRC:FRATe

Command Syntax

:CHANnel{N}:SIRC:FRATe  <filter rate>

<filter rate> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SIRC:FRATe?

Description

SIRC data is created for specific filter rates and 3 dB bandwidths. Once the SIRC data has been loaded, use this command to select the filter rate or use the :CHANnel{N}:SIRC:FBANdwidth command to select the 3 dB bandwidth. Use the :CHANnel{N}:SIRC:DSTore command to load the SIRC data for the module.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SIRC:RESPonse

Command Syntax

:CHANnel{N}:SIRC:RESPonse {BESSel | SINC | FLAT}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SIRC:RESPonse?

Description

For a module that has SIRC data for an electrical channel (versus an optical module), selects the filter type. The filter type for optical modules is always a Bessel filter.

BESSel
Selects a Bessel filter.
SINC
Selects a sinc (Sin(x)/x) filter.
FLAT
Selects a flat filter.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SIRC:USTatus?

Query Syntax

:CHANnel{N}:SIRC:USTatus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the status of the SIRC data update, indicating if it has been loaded.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SIRC:USTatus:REASon?

Query Syntax

:CHANnel{N}:SIRC:USTatus:REASon?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the reason string associated with the :CHANnel{N}:SIRC:USTatus? query.

Requires an 86105C, 86105D, 86115D, or 86116C module with Option IRC.

Note

Pattern lock must be turned on (:TRIGger:PLOCk) before you can apply SIRC data.

  • Optical Channel Setup


:CHANnel{N}:SKEW

Command Syntax

:CHANnel{N}:SKEW <delay>

<delay> is a real.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:SKEW?

Description

On N1045A and 86118A-H01 modules, applies hardware skew for the indicated remote sampling head. Hardware skew can also be applied to simulated waveforms. Skew effectively matches the electrical lengths of the two channels by adjusting the timing of the internal sampling. Enter a skew value in seconds for each channel. Applying skew can increase the time required for data acquisition. This command does not work for the channels of modules other than the N1045A and 86118A-H01. To automatically deskew differential channels, use the :DIFF:DESKew command. To apply software skew to any module's channels, use the :CHANnel{N}:TDELay command.

The N1045A and 86118A module's RF inputs are very sensitive to ESD. The 1.85 mm RF connectors require special care.

Note

The skew adjust differs from the Horizontal position control (:TIMebase:POSition), which changes the position all of the channels at the same time. Adjusting the skew does not affect the horizontal scale, vertical scale, and offset of the displayed channels.

Note

Skew Non-Linearity. The skew value displayed on the Differential Skew control window is a rough approximation to the amount of skew being introduced into the measurement channel.For instance, setting the left channel skew to 100 ps will skew that channel by roughly100 ps. The actual amount that it moves may be more like 140 ps.

Note

The cables connecting the 86118A remote heads to the plug-in module contain a high-frequency sampling strobe signal. The cables are designed to minimize the change in phase of the strobe signal as the cable is bent. However, bending either cable will change the cable�s phase by several picoseconds, thereby skewing that channel relative to the other channel, as seen on the DCA display. Before performing a deskew on the channels, it is best to position the remote sampling heads as they will be used during the measurement.

Note

Timebase Jitter. At its default skew setting (0 ps), the circuitry in the 86118A that skews differential signals has virtually no measurable impact on the jitter of the DCA, even if a precision timebase (86107A) is used. However, changing the skew to a value other than the default may affect the jitter of the DCA slightly.


:CHANnel{N}:STATus?

Query Syntax

:CHANnel{N}:STATus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Response

{AVA | UNAV}

Description

Queries the availability of a channel for use. A channel becomes available (AVA) when an associated module is installed or extended module is configured. Available channels are shown in the Signals Palette. An available channel's waveform may or may not be displayed. A channel is unavailable (UNAV) if no channel hardware or extended module hardware is installed.

Use the DISPlay command query to determine if a channel waveform is displayed.


:CHANnel{N}:TDELay

Command Syntax

:CHANnel{N}:TDELay  <delay>

<delay> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:TDELay?

Description

Adjusts the horizontal position of one active channel with respect to another active channel on the display. This allows you to compensate for the time offset between two or more channels. The numerical argument is a real number in seconds which is added to the current time base position to shift the position of the channel's data in time. The default value is zero seconds. Use this command to compensate for differences in the electrical lengths of input paths due to cabling and probes. The skew adjust differs from the horizontal position (:TIMebase:POSition), which changes the position all of the channels at the same time. Adjusting the skew does not affect the horizontal scale, vertical scale, and offset of the displayed channels. To apply skew to the channels of an 86118A-H01 module, use the :CHANnel{N}:SKEW command.

Note

In Jitter Mode, skew adjustments are disabled. Do not use this command in Jitter Mode. It generates a settings conflict error.


:CHANnel

For more information on attenuation factors, refer to the :CHANnel:ATTenuator:STATe command. :CHANnel<em>N</em>:TRANsducer:GAIN

:CHANnel{N}:TRANsducer:GAIN

Command Syntax

:CHANnel{N}:TRANsducer:GAIN <gain>

<gain> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:TRANsducer:GAIN?

Description

Enters or queries the gain setting for an external transducer. The measurement units of the offset are the same as the measurement units specified with the :CHANnel:TRANsducer:UNITs command. A query of :CHANnel:TRANsducer:GAIN? always returns a positive value even if negative transducer gain is indicated with the :CHANnel:TRANsducer:INVert command,

To apply the transducer compensation, use the :CHANnel:TRANsducer:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.


:CHANnel:TRANsducer:INVert

Command Syntax

:CHANnel{N}:TRANsducer:INVert {OFF | ON}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:TRANsducer:INVert?

Description

Setting inversion ON indicates negative transducer gain. The default setting is OFF. With inversion on, the External Hardware Setup dialog box shows negative gain (for example, −2.3 V/V), however a query of the :CHANnel:TRANsducer:GAIN command returns a positive value. Send the :CHANnel:TRANsducer:INVert? query to determine if negative gain is applied.

The query form of the command returns '0' if inversion if off and '1' if negative transducer gain is applied.

To apply the transducer compensation, use the :CHANnel:TRANsducer:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:CHANnel

:CHANnel{N}:TRANsducer:OFFSet

Command Syntax

:CHANnel{N}:TRANsducer:OFFSet <offset>

<offset> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:TRANsducer:OFFSet?

Description

Enters or queries the offset setting for an external transducer. The measurement units of the offset are the same as the measurement units specified with the :CHANnel:TRANsducer:UNITs command.

To apply the transducer compensation, use the :CHANnel:TRANsducer:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.


:CHANnel{N}:TRANsducer:STATe

Command Syntax

:CHANnel{N}:TRANsducer:STATe {OFF | ON}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:TRANsducer:STATe?

Description

Turns on and off compensation for an external transducer in the test setup. This allows FlexDCA to measure values and show vertical scaling as if the measurements were made before the transducer rather than at the input to the oscilloscope channel.

  • Use :CHANnel:TRANsducer:GAIN to specify the transducer's gain.
  • Use :CHANnel:TRANsducer:INVert to specify if the transducer inverts the signal.
  • Use :CHANnel:TRANsducer:OFFSet to specify the transducer's offset.
  • Use :CHANnel:TRANsducer:UNITs to specify the unit-of-measurement at the transducer's input.

The following table show the relationship between transducer input, gain, and offset measurement units and the oscilloscope's displayed vertical scale.

Transducer Compensation Units
Transducer Measurement Units |  |  |  | Oscilloscope Vertical Scale/Division
Input Units | Gain Conversion Factor Units |  | Offset Units
 | Electrical Channel | Optical Channel
VOLTs | V/V | W/V | V | V/div
AMPere* | V/A | — | A | A/div
WATT | V/W | W/W | W | W/div
UNKown | V/U# | V/U | U | U/div
*. Electrical channel only. #. Unknown units.

See also external attenuation compensation.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Example

:CHANnel2A:TRANsducer:STATe ON

  • Optical Channel Setup


:CHANnel{N}:TRANsducer:UNITs

Command Syntax

:CHANnel{N}:TRANsducer:UNITs {AMPere | VOLT | WATT | UNKNown}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:TRANsducer:UNITs?

Description

Specifies the measurement units for an external transducer's input signal. The AMPere argument is not available for optical channels.

To apply the transducer compensation, use the :CHANnel:TRANsducer:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Example

:CHANnel2A:TRANsducer:UNITs VOLT

  • Optical Channel Setup


:CHANnel{N}:UDEFined:BASe

Command Syntax

:CHANnel{N}:UDEFined:BASe  <amplitude>

<amplitude> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:UDEFined:BASe?

Description

For the indicated channel, sets or queries the custom base-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :CHANnel{N}:UDEFined:TOP to set or query a custom top level.

Before this custom base level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:CHANnel2a:UDEFined:BASe -125E-3
:CHANnel2a:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:CHANnel{N}:UDEFined:DISTal

Command Syntax

:CHANnel{N}:UDEFined:DISTal  <amplitude>

<amplitude> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:UDEFined:DISTal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the upper threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:DISTal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :CHANnel{N}:UDEFined:MESial command to enter a middle threshold level. Use the :CHANnel{N}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:CHANnel2a:UDEFined:DISTal 125E-3
:CHANnel2a:UDEFined:MESial 0E0
:CHANnel2a:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:CHANnel{N}:UDEFined:MESial

Command Syntax

:CHANnel{N}:UDEFined:MESial  <amplitude>

<amplitude> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:UDEFined:MESial?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the middle threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :CHANnel{N}:UDEFined:DISTal command to enter a upper threshold level. Use the :CHANnel{N}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:CHANnel2a:UDEFined:DISTal 125E-3
:CHANnel2a:UDEFined:MESial 0E0
:CHANnel2a:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:CHANnel{N}:UDEFined:PROXimal

Command Syntax

:CHANnel{N}:UDEFined:PROXimal  <amplitude>

<amplitude> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:UDEFined:PROXimal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the lower threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:PROXimal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :CHANnel{N}:UDEFined:DISTal command to enter a upper threshold level. Use the :CHANnel{N}:EMEMory:MESial command to enter a middle threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:CHANnel2a:UDEFined:DISTal 125E-3
:CHANnel2a:UDEFined:MESial 0E0
:CHANnel2a:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:CHANnel{N}:UDEFined:TOP

Command Syntax

:CHANnel{N}:UDEFined:TOP  <amplitude>

<amplitude> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:UDEFined:TOP?

Description

For the indicated channel, sets or queries the custom top-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :CHANnel{N}:UDEFined:BASe to set or query a custom base level.

Before this custom top level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:CHANnel2a:UDEFined:BASe -125E-3
:CHANnel2a:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:CHANnel{N}:UNAMe

Command Syntax

:CHANnel{N}:UNAMe <string>

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, 3C.

Query Syntax

:CHANnel{N}:UNAMe?

Description

Assigns a custom user name to a channel waveform. User names are helpful because they identify what a waveform represents rather than the oscilloscope's input channel. For example, you could assign user name "DUT 18, Lane 4" to channel 2A's waveform. User names can be 25 characters or less and are displayed on the screen and on screen captures. To remove a custom user name, re-create it using an empty string.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

:CHANnel2A:UNAMe "DUT 18, Lane 4"

  • Channel Inputs


:CHANnel{N}:WAVelength

Command Syntax

:CHANnel{N}:WAVelength  {USER | WAVelength1 | WAVelength2 | WAVelength3}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:WAVelength?

Query Response

{USER | WAV1 | WAV2 | WAV3 | NAPPlicable}

Description

On optical channels, selects the calibrated wavelength for measurements. Modules can support up to one, two, or three factory-defined wavelengths. The command argument identifies a wavelength that is shown in the Wavelength field of the Wavelength field of the Channel Setup dialog box. For example, WAVelength2 identifies the second setting from the top in the listing, 1310 nm, as shown in this picture. The module will have one factory calibration for each factory-defined wavelength. The USER argument is only valid if this user-defined calibration has been performed.

You can also select the calibrated wavelength by adding a wavelength argument (in meters) to the :CHANnel:WAVelength:VALue command. Use the :CHANnel:WAVelength:VALue:VSET? query to return a list of all supported wavelengths.

Optical channels use an internal photo detector to receive an optical signal and then convert this signal to an electrical signal. The FlexDCA then uses a conversion gain (factor) to accurately display the signal in optical power units. For example, 1 mW of optical power yields a 28 mV electrical signal. Optical channels are factory calibrated at a specific wavelength to provide both accurate display of the received optical waveform in optical power units and measurement of the signal's average power. Refer to Optical Calibration to learn the calibrated wavelengths of individual modules.

Note

Simulated optical modules do not support wavelength selection and do not support this command. Sending this query on simulated optical modules returns NAPPlicable.

Note

The Wavelength selection is only displayed for plug-in modules with internal optical channels.

Note

Prior to configuring the channel to use a user-defined wavelength, you must first perform an optical calibration on the wavelength.

Example Command Sequence

The following commands selects the second wavelength shown in the Channel Setup dialog box, which in this example is 1310 nm.

:CHANnel2A:WAVelength WAVelength2

or

:CHANnel2A:WAVelength:VALue 1.31E-6

  • Optical Channel Setup dialog box


:CHANnel{N}:WAVelength:VALue

Command Syntax

:CHANnel{N}:WAVelength:VALue

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

On optical channels,enters a calibrated wavelenth (in meters) for measurements. The channel will use the wavelength that is closest to the requested number. If the wavelength is not within 1% of a supported wavelength, an error will be generated.

  • To select a calibrated wavelength by list order in the Reference Filter field of the channel Setup dialog box, use the :CHANnel:WAVelength command.
  • To query a list of all available wavelengths, use the :CHANnel:WAVelength:VALue:VSET? query.

The query form of the command returns the selected wavelength in meters. For example, 1310 nm would be returned as:

1.31E-06

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above for query and A.05.30 and above for command.

Note

The Wavelength selection is only displayed for plug-in modules with internal optical channels.

Note

Prior to configuring the channel to use a user-defined wavelength, you must first perform an optical calibration on the wavelength.

  • Optical Channel Setup dialog box


:CHANnel:WAVelength:VALue:VSET?

Query Syntax

:CHANnel{N}:WAVelength:VALue:VSET?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries a list of available wavelengths in meters for the selected optical channel. For example,

"1.555E-6,850E-9,1.310E-6,1.550E-6,…"

The bandwidths in the returned list are in the same order as they are listed in the Wavelength field of the Channel Setup dialog box (optical channels).

  • To select a calibrated wavelength by list order in the Reference Filter field of the channel Setup dialog box, use the :CHANnel:WAVelength command.
  • To select a wavelength based on its value in meters, use the :CHANnel:WAVelength:VALue command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:CHANnel{N}:YBOTtom?

Query Syntax

:CHANnel{N}:YBOTtom?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the amplitude value represented by the graticule's bottom edge. To query the amplitude value represented by the graticule's top edge, use :CHANnel{N}:TOP?. Use the :CHANnel{N}:YSCale command to set the amplitude scale value in volts or Watts. Use the :CHANnel{N}:YOFFset command to set the amplitude offset.


:CHANnel{N}:YOFFset

Command Syntax

:CHANnel{N}:YOFFset  <offset>

<offset> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:YOFFset?

Description

Sets the voltage (or Watts) value that is represented at the center of the display for electrical channels and the second graticule division from the bottom of the display screen for optical channels. Offset parameters are vertical scale dependent. Use the :CHANnel{N}:YSCale command to change a channel's vertical scale. The waveform's offset value represents an absolute value on the display.

Note

In Jitter Mode, perform an Auto Scale after changing this setting.


:CHANnel{N}:YSCale

Command Syntax

:CHANnel{N}:YSCale  <scale>

<scale> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:YSCale?

Description

Sets the selected channel's vertical sensitivity and sets the volts-per-division scale (watts-per-division for optical channels). The vertical expansion and contraction is about the center offset value (:CHANnel{N}:YOFFset) of the display and not at the ground reference. For optical channels, vertical expansion and contraction is about the second graticule division from the bottom of the display screen and also not at the ground reference.

Note

In Jitter Mode, perform an Auto Scale after changing this setting.


:CHANnel{N}:YTOP?

Query Syntax

:CHANnel{N}:YTOP?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Queries the amplitude value represented by the graticule's top edge. You can not set the value with this query. To query the amplitude value represented by the graticule's bottom edge, use :CHANnel{N}:BOTtom?. Use the :CHANnel{N}:YSCale command to set the amplitude scale (volts or Watts). Use the :CHANnel{N}:YOFFset command to set the amplitude offset.


:CHANnel{N}:YUNits

Command Syntax

:CHANnel{N}:YUNits {VOLT | WATT | AMPere | UNKNown}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:CHANnel{N}:YUNits?

Description

Sets or queries the waveform's vertical units, which can be either volts, Watts, amperes, or unknown. Units other than volts are possible when an external transducer is specified as being connected to the input channel. Use the :CHANnel:TRANsducer:STATe and :CHANnel:TRANsducer:UNITs commands for this task.

FlexDCA Revision

Command form was added to the query form starting with FlexDCA revision A.04.00 and above.


Introduction to :CMODe Subsystem

The :CMODe subsystem commands control common-mode waveforms in TDR/TDT mode. Common-mode waveforms are not available in any other instrument mode.

FlexDCA Revision

This subsystem Requires FlexDCA revision A.04.00 and above.

  • Learn More
  • Programming Home

Commands

  • COLor
  • CWINdow
  • DISPlay
  • SIGNal:TYPE
  • SIGNal:TYPE:AUTO
  • SIGNal:TYPE:DETect
  • STATus
  • UDEFined:BASe
  • UDEFined:DISTal
  • UDEFined:MESial
  • UDEFined:PROXimal
  • UDEFined:TOP
  • UNAMe
  • YBOTtom
  • YOFFset
  • YSCale
  • YTOP
  • YUNits


Introduction to :CMODe Subsystem (continued)

The :CMODe subsystem commands control common-mode waveforms in TDR/TDT mode. Common-mode waveforms are most useful when using a TDR Setup configured as a Basic Control Experience where time-domain parameters are not available. You can configure both differential and common mode traces to provide mixed stimulus S-parameters.

Before using the commands in this subsystem, the TDR setup must be configured to Differential as the TDR Stimulus Mode. Use the TDR:AMODe command.

In the :CMODe command syntax, common-mode waveforms are identified by the associated module slot number (from 1 to 4). For example, the following command sets the color of the common-mode waveform of an N1055A TDR module installed in slots 1 and 2.

:CMODe1A:COLor TCOLor8

Traditional modules take up two module slots, either slots 1 and 2 or slots 3 and 4. For these type of modules, the common-mode waveform is identified using the number for the left-most occupied slot. For example, :CMODe1A or :CMODe3A, respectively.

Single-slot modules could have two channels. In this case, the common-mode waveform of a module installed in slot 4 would be identified as :CMODe4. Also, when FlexDCA is configured with a simulated extended module, one-slot simulated modules are available that have two channels. The following table show several examples of common-mode waveform identification.

Examples of Common-Mode Waveform Numbers
Module Type | Installed Slots | Source Channels for Differential Waveform | Differential Channel Waveform Identification
Traditional Two-Slot, Dual Channel (for example, 86112A) | 1 & 2 | 1A and 2A | :CMODe2A
 | 3 & 4 | 3A and 4A | :CMODe3A
Simulated or Future Single-Slot, Dual Channel | 1 | 1A and 1B | :CMODe1A
 | 2 | 2A and 2B | :CMODe2A
 | 3 | 3A and 3B | :CMODe3A
 | 4 | 4A and 4B | :CMODe4A

Example Command Sequence

:CMODe1A:DISPlay ON
:CMODe1A:TCOLor 7


:CMODe{1:8}{A|C}:COLor

Command Syntax

:CMODe{N}:COLor  {TCOLor1 | TCOLor2 | … | TCOLor12}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:CMODe{N}:COLor?

Description

Selects the color used to identify a channel on the screen. Waveform color assignments are saved as part of an instrument Setup file (:DISK:SETup:SAVe). Waveform colors are reset to their default values by a default setup (:SYSTem:DEFault) or factory preset (:SYSTem:FACTory).

Channel Colors Versus Command Arguments
Color | Argument | Color | Argument | Color | Argument | Color | Argument
 | TCOLor1 |  | TCOLor2 |  | TCOLor3 |  | TCOLor4
 | TCOLor5 |  | TCOLor6 |  | TCOLor7 |  | TCOLor8
 | TCOLor9 |  | TCOLor10 |  | TCOLor11 |  | TCOLor12
 | TCOLor13 |  | TCOLor14 |  | TCOLor15 |  | TCOLor16

To change the color of waveforms other than channels, use the following additional :COLor commands that are located in other subsystems:

Additional :COLor Commands
Command | Description
:CHANnel:COLor | Sets color of channel waveforms.
:DIFF:COLor | Sets color of differential waveforms.
:EMEMory:COLor | Sets color of eye memory waveforms
:FUNCtion:COLor | Sets color of math function output waveforms.
:TRACe:COLor | Sets color of T-domain parameter or S-parameter waveforms in TDR/TDT mode.
:WMEMory:COLor | Sets color of waveform memories.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above for colors 1 through 12 and revision A.04.50 for colors 13 through 16.

Example

:CMODe6C TCOLor4


:CMODe{1:8}{A|C}:CWINdow

Command Syntax

:CMODe{N}:CWINdow TIMe{1}

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, 3C.

Query Syntax

:CMODe{N}:CWINdow?

Description

The :CMODe{N}:CWINdow command allows you to assign a common-mode waveform to a Waveform content window.

Note

Currently, there is only one Waveform content window, so you will not need to use this command.

In future revisions, the :CMODe{N}:CWINdow command will select a Waveform content window in which to display a common-mode channel waveform. In FlexDCA, several different types of content windows exist. Common-mode channel waveforms can only be displayed in a Waveform (TIMe1) content window of which there is currently only one available. This command is provided for future use when more than one Waveform content window is available for use.

Command Arguments and Content Windows
Argument | Displayed Waveform Content Window | Number of Available Windows |  | Scale Units
 |  | Programmatically | Via Front Panel
TIMe1 | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.


:CMODe{1:8}{A|C}:DISPlay

Command Syntax

:CMODe{N}:DISPlay {ON | OFF | 1 | 0}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 2A would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:DISPlay?

Description

Turns the display of the specified common-mode waveform on or off. Use the STATus command to determine if a common-mode waveform is available for display.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.

Example

:CMODe1A:DISPlay ON


:CMODe{1:8}{A|C}:SIGNal:TYPE

Command Syntax

:CMODe{N}:SIGNal:TYPE {UNSPecified | NRZ | PAM4}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 2A would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:SIGNal:TYPE?

Description

Manually sets a common-mode channel's signal type when automatic detection is turned off (:SIGNal:TYPE:AUTO). This can be useful if the waveform is too degraded to automatically detect its type.

By default, automatic detection is turned on and is performed as part of an autoscale (:SYSTem:AUToscale). Automatic detection can also be manually run using the :SYSTem:STAutodetect command. This has the advantage of detecting the signal type without performing scaling. After automatic signal detection, use the :CMODe:SIGNal:TYPE? query to return the actual signal type that was detected.

A waveform can be detected as NRZ formatted data, or PAM4 formatted data. The default signal type is Unspecified. Sending this command with automatic detection turned on results in a settings conflict error. Use the :SIGNal:TYPE:DETect child command to force a detection of the input signal type.

Example Command Sequence

:CMODe2A:SIGNal:TYPE:AUTO OFF
:CMODe2A:SIGNal:TYPE PAM4

PAM-N License

The PAM4 argument is only available if options 9FP or 9TP PAM-N Analysis software license is installed.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.50 and above.


:CMODe{1:8}{A|C}:SIGNal:TYPE:AUTO

Command Syntax

:CMODe{N}:SIGNal:TYPE:AUTO {ON | OFF}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 2A would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:SIGNal:TYPE:AUTO?

Description

Turns on and off automatic detection of the signal type that is input to the specified channel. By default, automatic detection is on. Use the :SIGNal:TYPE:DETect sibling command to force a detection. When automatic detection is turned off, specify the type of signal with the :SIGNal:TYPE parent command.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.50 and above.


:CMODe{1:8}{A|C}:SIGNal:TYPE:DETect

Command Syntax

:CMODe{N}:SIGNal:TYPE:DETect

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 2A would be identified as :CMODe1A.

Description

This command forces a detection of the input's signal type when automatic signal-type detection is turned on. To turn on or off automatic detection, use the :SIGNal:TYPE:AUTO sibling command. Sending this command when automatic detection is turned off results in a settings conflict error.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.50 and above.


:CMODe{1:8}{A|C}:STATus

Query Syntax

:CMODe{N}:STATus?

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 2A would be identified as :CMODe1A.

Query Response

{AVA | UNAV}

Description

Queries the availability of a common-mode waveform for use. A common-mode waveform becomes available (AVA) when the following is true:

  • An associated multi-channel module is installed or extended module is configured, and
  • The common-mode channel is selected in the Channel Setup dialog box (Use the :TDR:STIMulus:CHANnel:TYPe command).

Available common-mode channels are shown in the Signals Palette. An available common-mode channel's waveform may or may not be displayed. A common-mode channel is unavailable (UNAV) if the common-mode channel is not selected in the Channel Setup dialog box.

Use the :CMODe:DISPlay command query to determine if a channel waveform is displayed.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.


:CMODe{1:8}{A|C}:UDEFined:BASe

Command Syntax

:CMODe{N}:UDEFined:BASe <amplitude>

<amplitude> is a double.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 1B would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:UDEFined:BASe?

TDR MEASUREMENTS AFFECTED

  • Fall Time
  • Rise Time
  • Δ Time
  • Time at Edge
  • Time at Amplitude

Description

For the indicated common-mode waveform, sets or queries the custom base-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during measurements. Specify the level in volts. Use :CMODe{1:4}:UDEFined:TOP to set or query a custom top level.

Before this custom base level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:CMODe1A:UDEFined:BASe -125E-3
:CMODe1A:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:CMODe{1:8}{A|C}:UDEFined:DISTal

Command Syntax

:CMODe{N}:UDEFined:DISTal <amplitude>

<amplitude> is a double.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 1B would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:UDEFined:DISTal?

TDR MEASUREMENTS AFFECTED

  • Fall Time
  • Rise Time
  • Δ Time
  • Time at Edge
  • Time at Amplitude

Description

Sets or queries the upper threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:DISTal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :CMODe{1:4}:UDEFined:MESial command to enter a middle threshold level. Use the :CMODe{1:4}:UDEFined:PROXimal command to enter a lower threshold level.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:CMODe1A:UDEFined:DISTal 125E-3
:CMODe1A:UDEFined:MESial 0E0
:CMODe1A:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:CMODe{1:8}{A|C}:UDEFined:MESial

Command Syntax

:CMODe{N}:UDEFined:MESial <amplitude>

<amplitude> is a double.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 1B would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:UDEFined:MESial?

TDR MEASUREMENTS AFFECTED

  • Fall Time
  • Rise Time
  • Δ Time
  • Time at Edge
  • Time at Amplitude

Description

Sets or queries the middle threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :CMODe{1:4}:UDEFined:DISTal command to enter a upper threshold level. Use the :CMODe{1:4}:UDEFined:PROXimal command to enter a lower threshold level.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:CMODe1A:UDEFined:DISTal 125E-3
:CMODe1A:UDEFined:MESial 0E0
:CMODe1A:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:CMODe{1:8}{A|C}:UDEFined:PROXimal

Command Syntax

:CMODe{N}:UDEFined:PROXimal <amplitude>

<amplitude> is a double.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 1B would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:UDEFined:PROXimal?

TDR MEASUREMENTS AFFECTED

  • Fall Time
  • Rise Time
  • Δ Time
  • Time at Edge
  • Time at Amplitude

Description

Sets or queries the lower threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:PROXimal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :CMODe{1:4}:UDEFined:DISTal command to enter a upper threshold level. Use the :CMODe{1:4}:EMEMory:MESial command to enter a middle threshold level.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:CMODe1A:UDEFined:DISTal 125E-3
:CMODe1A:UDEFined:MESial 0E0
:CMODe1A:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:CMODe{1:8}{A|C}:UDEFined:TOP

Command Syntax

:CMODe{N}:UDEFined:TOP <amplitude>

<amplitude> is a double.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 1B would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:UDEFined:TOP?

TDR MEASUREMENTS AFFECTED

  • Fall Time
  • Rise Time
  • Δ Time
  • Time at Edge
  • Time at Amplitude

Description

For the indicated channel, sets or queries the custom top-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during measurements. Specify the level in volts or Watts depending on the waveform type. Use :CMODe{1:4}:UDEFined:BASe to set or query a custom base level.

Before this custom top level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:CMODe1A:UDEFined:BASe -125E-3
:CMODe1A:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:CMODe{1:8}{A|C}:UNAMe

Command Syntax

:CMODe{N}:UNAMe <string>

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, :CMODe3C.

Query Syntax

:CMODe{N}:UNAMe?

Description

Assigns a custom user name to a common-mode waveform. User names are helpful because they identify what a waveform represents rather than the oscilloscope's input channel. For example, you could assign user name "DUT 3, CM Output" to common-mode waveform 2C. User names can be 25 characters or less and are displayed on the screen and on screen captures. To remove a custom user name, re-create it using an empty string.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:CMODe4C:UNAMe "DUT 3, CM Output"


:CMODe{1:8}{A|C}:YBOTtom

Query Syntax

:CMODe{N}:YBOTtom?

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 1B would be identified as :CMODe1A.

Description

Queries the amplitude value represented by the graticule's bottom edge. To query the amplitude value represented by the graticule's top edge, use :CMODe:TOP?. Use the :CMODe:YSCale command to set the amplitude scale (volts or Watts). Use the YOFFset command to set the amplitude offset.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.


:CMODe{1:8}{A|C}:YOFFset

Command Syntax

:CMODe{N}:YOFFset <offset>

<offset> is a double.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 2A would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:YOFFset?

Description

Sets the voltage that is represented at the center of the display for the selected common-mode waveform.Offset parameters are vertical scale dependent. Currently, the offset can be expressed in volts only using the :CMODe:UNITs command. Use the :CMODe:YSCale command to change a channel's vertical scale.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.


:CMODe{1:8}{A|C}:YSCale

Command Syntax

:CMODe{N}:YSCale   <scale>

<scale> is a double.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 2A would be identified as :CMODe1A.

Query Syntax

:CMODe{N}:YSCale?

Description

Sets the vertical scale (units-per-division) of the selected common-mode waveform. Use the :CMODe:YOFFset command to change a channel's vertical offset.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.


:CMODe{1:8}{A|C}:YTOP

Query Syntax

:CMODe{N}:YTOP?

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the common-mode waveform of channels 1A and 1B would be identified as :CMODe1A.

Description

Queries the amplitude value represented by the graticule's top edge. To query the amplitude value represented by the graticule's bottom edge, use :CMODe:YBOTtom?. Use the :CMODe:YSCale command to set the amplitude scale (volts or Watts). Use the :CMODe:YOFFset command to set the amplitude offset.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.


:CMODe{1:8}{A|C}:YUNits

Command Syntax

:CMODe{N}:YUNits  {VOLT}

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, 3C.

Query Syntax

:CMODe{N}:YUNits?

Description

Sets or queries the common-mode waveform's vertical units.

FlexDCA Revision

Requires TDR/TDT mode. Requires FlexDCA revision A.04.00 and above.


Introduction to :CRECovery Subsystem

The Clock Recovery subsystem commands control the clock recovery modules. This includes setting data rates, as well as querying lock status and "signal present" conditions. Be sure to include the module slot number, represented as {1:4} in the :CRECovery{1:4} command. For the 86108A/B, only slot 1 is allowed. For all other clock recovery modules, the slot number can be 1 or 3 depending on the location of the module in the 86100D's module bay.

:CRECovery1:JSANalysis:ACQuire command to turn on jitter spectrum analysis, which requires an 86100A/B Option JSA module.

  • Learn More
  • Programming Home

Commands

  • ACDRate?
  • ACLBandwidth?
  • CFRequency?
  • CLBandwidth
  • CRATe
  • LBANdwidth
  • LBWMode
  • LOCKed?
  • LSELect
  • LSELect:AUTomatic
  • ODRatio
  • ODRatio:AUTO
  • PRESets
  • PRESets:SELections?
  • RATe
  • RDIVider
  • RELock
  • SOURce
  • TDENsity?
  • TOData

N4877A Clock Data Recovery & Multiplexer (Extended Module) Command

  • OUTPut:DMODe

Jitter Spectrum Analysis (JSA) Commands

These command configure the JSA's clock-recovery emulation. To save JSA data to a file, use the :DISK:JSANalysis:SAVE command. To load a JSA data file into JSA memory, use the :DISK:JSANalysis:RECall command. To use the JSA memory, use the :JSAMemory subsystem commands.

  • JSANalysis:ACQuire
  • JSANalysis:FFTMagnitude:ECOunt
  • JSANalysis:FFTMagnitudeSMOothing
  • JSANalysis:INTegrate:F
  • JSANalysis:OPTimize:EMBedded
  • JSANalysis:OPTimize:INPut
  • JSANalysis:PLLorder:FGAIn
  • JSANalysis:PLLorder:FPOLe
  • JSANalysis:PLLorder:FZERo
  • JSANalysis:PLLorder:JTF:BWIDth
  • JSANalysis:PLLorder:JTF:PEAKing
  • JSANalysis:PLLorder:MODE
  • JSANalysis:PLLorder:OJTF:BWIDth
  • JSANalysis:PLLorder:OJTF:DFACtor
  • JSANalysis:PLLorder:ORDer
  • JSANalysis:RJCorrection
  • JSANalysis:SPECtrum
  • JSANalysis:SPECtrum:ASCii:YDATa?
  • JSANalysis:SPECtrum:DOUBle:YDATa?
  • JSANalysis:SPECtrum:FLOat:YDATa?
  • JSANalysis:SPECtrum:PEAKs?
  • JSANalysis:SPECtrum:PEAKs:ALL?
  • JSANalysis:SPECtrum:POINts?
  • JSANalysis:SPECtrum:XINCrement?
  • JSANalysis:SPECtrum:XORigin?

Deprecated Commands

  • ARELock (deprecated)


Introduction to :CRECovery Subsystem (continued)

Not all of this subsystem commands apply to every module, as the following table shows. Depending on the module, the data rates can either be set to a specific value or to any value within a range, as listed in the Data Rate Table.

Commands Versus Module Compatibility
Command | 83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B
 |  | Standard | Opt. 200 | Standard | Opt. 300
ACDRate? | ♦ | ♦ | ♦ | ♦ | ♦ | ♦
ACLBandwidth? | ♦ | ♦ | ♦ | ♦ | ♦ | ♦
CLBandwidth |  |  |  |  | ♦ | ♦
CRATe |  |  | ♦ | ♦ | ♦ | ♦
LBANdwidth |  | ♦ | ♦ | ♦ | ♦a | ♦a
LBWMode |  |  |  |  | ♦ | ♦
LOCKed? | ♦ | ♦ | ♦ | ♦ | ♦ | ♦
LSELect |  |  |  |  |  | ♦
LSELect:AUTomatic |  |  |  |  |  | ♦
ODRatio |  |  |  | ♦ | ♦ | ♦
ODRatio:AUTO |  |  |  | ♦ | ♦ | ♦
RATE | ♦ | ♦ |  |  |  |
RDIVider |  |  |  |  | ♦ | ♦
RELock |  |  |  | ♦ | ♦ | ♦
SOURce |  |  |  | ♦ | ♦ | ♦
TOData | ♦ | ♦ | ♦ | ♦ | ♦ | ♦
Footnotes: a. The CONTinuous argument is returned in queries but can not be used to set the bandwidth.

86108A Precision Waveform Analyzer Modules

Example Python Script

Click these links to an example script that configures clock recovery on an 86108A/B.

  • Python 3.4 version
  • Python 2.7 version

The 86108A and 86108B modules provide two electrical channels for clock recovery. Use the :CRECovery{1:4}:SOURce command to select the channels. When sending a clock recovery command to the modules, specify slot one (1) for the subsystem, for example :CRECOVERY1:LOCKED?. Do not use :CRECOVERY3:LOCKED? as slot 3 is not a valid selection. To specify the data rate (unbanded tuning), use the :CRECovery1:CRATe command. Issue the :CRECovery1:RELock command to establish lock and to reestablish lock whenever a setup parameter changes (for example input port or trigger on data), the data rate changes, or the signal parameters change (for example, edge density). Use the :CRECovery1:LOCKed? query to determine if the module is locked on the signal.

You can specify loop bandwidth to be based on a fixed value or a data-rate dependent value (based on data rate and data-rate divide ratio) using the :CRECovery1:LBWMode command. With a fixed loop bandwidth selected, specify a loop bandwidth between 15 kHz to 20 MHz (86108B) or 15 kHz to 10 MHz (86108A) with the :CRECovery1:CLBandwidth command. With a data-rate dependent loop bandwidth, use the :CRECovery1:RDIVider command.

The :CRECovery1:ODRatio command can be used to specify the divide ratio that is applied to the module’s front-panel Recovered Clock Output.

Example Setup of 86108A/B Module

This sequence of commands shows one method of setting up an 86108A/B module.

:SYSTem:DEFault
*OPC?
:DIFF1:DMODe ON
:CHAN1A:BANDwidth BANDwidth3    //  BW set to 32 GHz
:CHAN2A:BANDwidth BANDwidth3
*OPC?
:CRECovery1:CRATe 1.03125E+10    //  CDR rate set to 10 GHz
:CRECovery1:CLBandwidth 5.00E+5    //  CDR PLL BW to 500 kHz
:CRECovery1:RELock    //  Lock CDR
*OPC?
:PTIMebase1:RSOurce INTernal
:PTIMebase1:STATe ON    //  Turn on precision timebase
:PTIMebase1:RTReference
*OPC?

83496A/B Modules

Keysight 83496A/B modules provide both optical and electrical clock recovery selected by the :CRECovery{1:4}:SOURce command. These modules have continuous, unbanded tuning from 50 Mb/s to 7.10 Gb/s (14.2 Gb/s, Option 200). Specify the data rate with the :CRECovery{1:4}:CRATe command.

Because these modules do not provide automatic locking, you must issue the :CRECovery{1:4}:RELock command to establish lock and to reestablish lock whenever a setup parameter changes (for example input port or trigger on data), the data rate changes, or the signal parameters change (for example, edge density). Use the :CRECovery{1:4}:LOCKed? query to determine if the module is locked on the signal. If the module loses lock, the trigger becomes asynchronous with the data and the instrument will not display a correctly triggered waveform.

On standard 83496A/B modules select the loop bandwidth using the :CRECovery{1:4}:LBANdwidth command. On Option 300 modules, you can specify loop bandwidth to be based on a fixed value or a data-rate dependent value (based on data rate and data-rate divide ratio) using the :CRECovery{1:4}:LBWMode command. With a fixed loop bandwidth selected, specify a loop bandwidth between 30 kHz to 10 MHz with the :CRECovery{1:4}:CLBandwidth command. With a data-rate dependent loop bandwidth, use the :CRECovery{1:4}:RDIVider command.

Use the :CRECovery{1:4}:ODRatio command to specify the divide ratio that is applied to the module's front-panel Recovered Clock Output.

83495A Module

Keysight 83495A modules provide both optical and electrical clock recovery for all rates from 9.953 Gb/s to 11.32 Gb/s. There are no designated channels for these modules; they are active as soon as they are installed in the instrument. Sse the :CRECovery{1:4}:SOURce command to select the optical or electrical input. On standard modules, use the :CRECovery{1:4}:RATE command to select the module's data rate. On Option 200 modules, use the :CRECovery{1:4}:CRATe command to select a data rate within a continuous rate range between 9.953 Gb/s to 11.32 Gb/s. The module will lock on any valid signal within this range. As with 83492/3/4A modules, this module automatically locks on the input signal, provided that the module is set to the correct data rate. Use the:CRECovery{1:4}:LOCKed? query to determine if the module is locked on the signal. Use the :CRECovery{1:4}:LBANdwidth command to select from two loop bandwidth settings: 300 kHz and 4 MHz.

83491/2/3/4 Modules

Keysight 83491A modules have electrical inputs, 83492A have multimode optical inputs, and 83493A and 83494A modules have single-mode optical inputs. There are no designated channels for these modules; they are active as soon as they are installed in the instrument. Each of these modules recovers clock signals at specific rates. Use the :CRECovery{1:4}:RATE command to select the module's data rate so that it matches the input signal. All of these modules automatically lock on input signals, provided that they are set to the correct data rate. Use the :CRECovery{1:4}:LOCKed? query to determine if the module is locked on the signal. The loop bandwidth for each module is fixed. For the external output, the loop bandwidth is 4 to 5 MHz. On 83491/2/3A modules, the internal triggering loop bandwith is 50 to 70 kHz; on 83494A modules, it is 90 kHz.


Module Data Rates

Rate (Mb/s) | 83491/2A | 83493A | 83494A |  |  |  | 83495A |  | 83496A/B |  | 86108A | 86108B
 |  |  | Standard | Option 103 | Option 106 | Option 107 | Standard | Option 200 | Standard | Option 200 |  | Option 216 | Option 232
Trigger on data | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦
155.52 | ♦ | ♦ | ♦ | ♦ |  | ♦ |  |  |  |  |  |  |
622.08 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  |  |
1062.50 | ♦ |  |  |  |  |  |  |  |  |  |  |  |
1250.00 | ♦ | ♦ |  |  |  |  |  |  |  |  |  |  |
2125.00 | ♦ |  |  |  |  |  |  |  |  |  |  |  |
2488.32 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  |  |
2500.00 | ♦ | ♦ |  |  |  |  |  |  |  |  |  |  |
2666.06 |  |  |  |  | ♦ | ♦ |  |  |  |  |  |  |
9953.28 |  |  | ♦ |  |  |  | ♦ |  |  |  |  |  |
10312.50 |  |  |  | ♦ |  |  | ♦ |  |  |  |  |  |
10664.23 |  |  |  |  | ♦ |  | ♦ |  |  |  |  |  |
10709.225 |  |  |  |  |  | ♦ | ♦ |  |  |  |  |  |
Continuous (Any data rate between) |  |  |  |  |  |  |  | 9.953 Gb/s to 11.32 Gb/s | 50 Mb/s to 7.10 Gb/s | 50 Mb/s to 14.2 Gb/s | 50 Mb/s to 14.2 Gb/s | 50 Mb/s to 16 Gb/s | 50 Mb/s to 32 Gb/s


:CRECovery{1:4}:ACDRate?

Query Syntax

:CRECovery{1:4}:ACDRate?

{1:4} identifies slot number which is associated with clock recovery module. On 86108A modules, specify slot 1.

Description

Indicates if the clock recovery module allows continuous (as opposed to discrete) data rate settings. Continuous data rate settings are available on 83495A Option 200, 83496A/B, and 86108A modules. The returned values are:

1
Continuous data rate settings are available.
0
Continuous data rate setting are not available.
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
♦ | ♦ | ♦ | ♦ | ♦ | ♦ |


:CRECovery{1:4}:ACLBandwidth?

Query Syntax

:CRECovery{1:4}:ACLBandwidth?

{1:4} identifies slot number which is associated with clock recovery module. On 86108A modules, specify slot 1.

Description

Indicates if the clock recovery module allows continuous (as opposed to discrete) loop bandwidth settings. Continuous loop bandwidth settings are available on 83496A/B Option 300, and 86108A modules. The returned values are:

1
Continuous loop bandwidth settings are available. Use the :CRECovery<N>:CLBandwidth command to set the loop bandwidth.
0
Continuous loop bandwidth setting are not available. Use the :CRECovery<N>:LBANdwidth command to select the loop bandwidth.
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
♦ | ♦ | ♦ | ♦ | ♦ | ♦ |


:CRECovery{1:4}:CFRequency?

Query Syntax

:CRECovery{1:4}:CFRequency?

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Response

The <clock frequency>, a real number, in Hertz.

Description

Returns the frequency of the recovered data clock an 86108A/B modules.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CRECovery{1:4}:CLBandwidth

Command Syntax

:CRECovery{1:4}:CLBandwidth <bandwidth>

<bandwidth> is a double.

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A/B modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:CLBandwidth?

Description

Sets the loop bandwidth in Hertz. Because jitter is measured relative to the clock, jitter that is present on both the data and the recovered clock can not be detected by the 86100D. Jitter that is within the clock recovery module's loop bandwidth appears on the recovered clock. Jitter that is outside of the loop bandwidth does not appear on the recovered clock and can be detected on the data. Selecting the loop bandwidth allows you to eliminate jitter on the recovered clock. Specify a fixed loop bandwidth using the :CRECovery :LBWMode FIXed command before setting the loop bandwidth. The loop bandwidth can be any bandwidth within 30 kHz to 20 MHz specified to 3 significant digits. The default setting is 60 kHz.

To set the loop bandwidth for 83495A and 83496A/B modules, use the :CRECovery{1:4}:LBANdwidth command.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  | ♦ | ♦ | ♦

Example Command Sequence

:CRECovery1:LBWMode FIXed
:CRECovery1:CLBandwidth 1.5E+6
:CRECovery1:RELock
*OPC?
…  //  Your code to synchronize execution timing.


:CRECovery{1:4}:CRATe

Command Syntax

:CRECovery{1:4}:CRATe  <data_rate>

<data_rate> is a double.

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:CRATe?

Description

Sets the input data rate. For 83491/2/3/4A and 83495A standard modules, use the :CRECovery{1:4}RATe command.

Data Rate Input Range
Module | Range
86108A | 0.05 to 14.2 Gb/s
83496A/B | 50 Mb/s to 7.10 Gb/s
83496A/B Option 200 | 50 Mb/s to 14.20 Gb/s
83495A Option 200 | 9.953 Gb/s to 11.32 Gb/s
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  | ♦ | ♦ | ♦ | ♦ | ♦

Example Command Sequence

:CRECovery1:CRATe 9.95328E+9
:CRECovery1:CRATe 9.95328E+9    //  Set CDR rate
:CRECovery1:CLBandwidth 5.00E+5    //  CDR PLL BW to 500 kHz
:CRECovery1:RELock    //  Lock CDR
*OPC?
…  //  Your code to synchronize execution timing.


:CRECovery{1}:JSANalysis:ACQuire

Command Syntax

:CRECovery1:JSANalysis:ACQuire {ON |OFF}

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery1:JSANalysis:ACQuire?

The query response is {1|0}.

Description

Turns on Jitter Spectrum Analysis (JSA) and clock recovery emulation. When JSA is turned on, the Jitter Spectrum Analysis Results table is shown on the display. To display the JSA Spectrum graph, use the :DISPlay:JSANalysis:SGRaph command.

To select one of three references from which to construct the jitter spectrum, use the :CRECovery1:JSANalysis:SPECtrum command. Child commands of the :SPECtrum command are used to return the jitter spectrum data.

Use the :CRECovery1:JSANalysis:INTegrate:F command to set the spectrum integration limits and the :CRECovery1:JSANalysis:FFTMagnitude:SMOothing and :CRECovery1:JSANalysis:FFTMagnitude:ECOunt commands to specify the amount of spectrum smoothing.

Queries Used to Return Measured Jitter
Jitter Measurement | :MEASure Subsystem Query
TJ (rms) | :MEASure:CRECovery:TJ?
DJ (rms) | :MEASure:CRECovery:DJ?
RJ (rms) | :MEASure:CRECovery:RJ?

Requires an 86108A module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:ACQuire ON
:CRECovery1:JSANalysis:SPECtrum INPut  // select type of spectrum
:CRECovery1:JSANalysis:INTegrate:F1 1.5E3  // lower frequency limit
:CRECovery1:JSANalysis:INTegrate:F2 26.27E6  // upper frequency limit
:CRECovery1:JSANalysis:FFTMagnitude:SMOothing AVERage  // applies smoothing
:CRECovery1:JSANalysis:FFTMagnitude:ECOunt 8


:CRECovery{1}:JSANalysis:FFTMagnitude:ECOunt

Command Syntax

:CRECovery{1}:JSANalysis:FFTMagnitude:ECOunt  <count>

<count> is a integer.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:FFTMagnitude:ECOunt?

Description

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Specifies the number of averages used to smooth the jitter spectrum. The default number of averages is 16. To apply the smoothing, use the :CRECovery1:JSANalysis:FFTMagnitude:SMOothing command. To select the input signal's location in the clock-recovery circuit from which to construct the jitter spectrum, use the :CRECovery1:JSANalysis:SPECtrum command.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:FFTMagnitude:SMOothing AVERage
:CRECovery1:JSANalysis:FFTMagnitude:ECOunt 8


:CRECovery{1}:JSANalysis:FFTMagnitude:SMOothing

Command Syntax

:CRECovery{1}:JSANalysis:FFTMagnitude:SMOothing  {NONe | AVERage}

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:FFTMagnitude:SMOothing?

The query response is {NON | AVER}.

Description

Applies average spectrum smoothing to the jitter spectrum. To specify the average count, use the :CRECovery1:JSANalysis:FFTMagnitude:ECOunt command. To select the input signal's location in the clock-recovery circuit from which to construct the jitter spectrum, use the :CRECovery1:JSANalysis:SPECtrum command.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:FFTMagnitude:SMOothing AVERage
:CRECovery1:JSANalysis:FFTMagnitude:ECOunt 8


:CRECovery{1}:JSANalysis:INTegrate:F{1|2}

Command Syntax

:CRECovery{1}:JSANalysis:INTegrate:F{1|2}  <frequency>

<frequency> is a double.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:INTegrate:F{1|2}?

Description

Sets the upper and lower frequency integration FFT limits for the jitter spectrum. Use F1 to set the lower frequency limit and F2 to set the upper frequency limit. On the displayed Jitter Spectrum graph, the [image] and [image] symbols show the location of the integration limits. To select the input signal's location in the clock-recovery circuit from which to construct the jitter spectrum, use the :CRECovery1:JSANalysis:SPECtrum command.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:SPECtrum EMBedded
:CRECovery1:JSANalysis:INTegrate:F1 1.5E3  // lower frequency limit
:CRECovery1:JSANalysis:INTegrate:F2 26.27E6  // upper frequency limit


:CRECovery{1}:JSANalysis:OPTimize:EMBedded

Command Syntax

:CRECovery{1}:JSANalysis:OPTimize:EMBedded

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Optimizes a JSA spectrum that is selected to be the EMULated with the :CRECovery:JSANalysis:SPECtrum command. After configuring the Clock Recovery Emulation PLL, use this command to obtain the optimum CRE spectrum fidelity. This command automatically sets, as closely as possible, the hardware CDR parameters to the CRE PLL settings. You can manually configure these settings using the :CRECovery:CLBandwidth and :CRECovery:LSELect commands.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:OPTimize:EMBedded


:CRECovery{1}:JSANalysis:OPTimize:INPut

Command Syntax

:CRECovery{1}:JSANalysis:OPTimize:INPut

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

In Oscilloscope or Eye/Mask mode, optimizes a JSA spectrum that is selected to be the INPut with the :CRECovery:JSANalysis:SPECtrum command. This command sets the 86108A/B's hardware clock-recovery loop bandwidth to a minimum value which results in optimum input spectrum fidelity. If the loop can not establish lock, you can manually adjust these settings using the :CRECovery:CLBandwidth and :CRECovery:LSELect commands.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:OPTimize:INPut


:CRECovery{1}:JSANalysis:PLLoop:FGAin

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:FGAin  <frequency>

<frequency> is a double.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:FGAin?

Description

For a third-order PLL loop, enters the frequency that sets the approximate loop bandwidth of the PLL. To set the frequency at which the JTF starts to roll-off at 40 dB/decade, use the :CRECovery1:JSANalysis:PLLoop:FPOLe command. To set the frequency at which the OJTF starts to roll-off at 40 dB/decade, use the :CRECovery1:JSANalysis:PLLoop:FZERo command. To select a third-order PLL loop, use the :CRECovery1:JSANalysis:PLLoop:ORDer command.

JTF and OJFT for 3nd Order Type 2 PLLs

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:FGAin 1.5E6


:CRECovery{1}:JSANalysis:PLLoop:FPOLe

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:FPOLe  <frequency>

<frequency> is a double.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:FPOLe?

Description

For a third-order PLL loop, sets the frequency at which the JTF starts to roll-off at 40 dB/decade. To set the frequency at which the OJTF starts to roll-off at 40 dB/decade, use the :CRECovery1:JSANalysis:PLLoop:FZERo command. To enter the frequency that sets the approximate loop bandwidth of the PLL, use the :CRECovery1:JSANalysis:PLLoop:FGAIn command. To select a third-order PLL loop, use the :CRECovery1:JSANalysis:PLLoop:ORDer command.

JTF and OJFT for 3nd Order Type 2 PLLs

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:FPOLe 1.0E12


:CRECovery{1}:JSANalysis:PLLoop:FZERo

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:FZERo  <frequency>

<frequency> is a double.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:FZERo?

Description

For a third-order PLL loop, sets the frequency at which the OJTF starts to roll-off at 40 dB/decade. To set the frequency at which the JTF starts to roll-off at 40 dB/decade., use the :CRECovery1:JSANalysis:PLLoop:FPOLe command. To enter the frequency that sets the approximate loop bandwidth of the PLL, use the :CRECovery1:JSANalysis:PLLoop:FGAIn command. To select a third-order PLL loop, use the :CRECovery1:JSANalysis:PLLoop:ORDer command.

JTF and OJFT for 3nd Order Type 2 PLLs

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:FZERo 2.0E0


:CRECovery{1}:JSANalysis:PLLoop:JTF:BWIDth

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:JTF:BWIDth  <bandwidth>

<bandwidth> is a double.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:JTF:BWIDth?

Description

Defines the bandwidth of a first- or second-order PLL's Jitter Transfer Function (JTF). The following table shows the bandwidth settings for some standards. The maximum bandwidth setting is 20 MHz. Use the :CRECovery:JSANalysis:PLLoop:OJTF:BWIDth command to set the bandwidth of the Observed Jitter Transfer Function (OJTF).

Standard JTF Bandwidth Settings
Standard | First-Order Loop Filter | Second-Order Loop Filter
SAS 1.5 Gb/s | 900.0 kHz | 900.0 kHz
SAS-SSC 1.5 Gb/s | — | 2.328 MHz
SATA 1.5 Gb/s | — | 4.097 MHz
SAS 3.0 Gb/s | 1.800 MHz | 1.800 MHz
SAS-SSC 3.0 Gb/s | — | 3.291 MHz
SATA 3.0 Gb/s | — | 1.791 MHz
SAS 6.0 Gb/s | 3.600 MHz | 3.600 MHz
SAS-SSC 6.0 Gb/s | — | 4.655 MHz
SATA 6.0 Gb/s | — | 8.194 MHz
QPI | — | 5.692 MHz
USB 3.0 | — | 10.03 MHz

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:JTF:BWIDth 1.8E6


:CRECovery{1}:JSANalysis:PLLoop:JTF:PEAKing

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:JTF:PEAKing  <peaking>

<peaking> is a double.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:JTF:PEAKing?

Description

Defines the peaking of a second-order PLL's Jitter Transfer Function (JTF). The following table shows the peaking settings for some standards.

JTF for 2nd Order PLLs

Standard JTF Peaking Settings
Standard | Peaking
SAS 1.5 Gb/s | 0 dB
SAS-SSC 1.5 Gb/s | 1.57 dB
SATA 1.5 Gb/s | 1.86 dB
SAS 3.0 Gb/s | 0 dB
SAS-SSC 3.0 Gb/s | 1.57 dB
SATA 3.0 Gb/s | 1.57 dB
SAS 6.0 Gb/s | 0 dB
SAS-SSC 6.0 Gb/s | 1.57 dB
SATA 6.0 Gb/s | 1.86 dB
QPI | 1.75 dB
USB 3.0 | 2.08 dB

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:JTF:PEAKing 1.57


:CRECovery{1}:JSANalysis:PLLoop:MODE

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:MODE  {JTF | OJTF}

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:MODE?

Query Response

{JTF | OJTF}

Description

Defines either the Jitter Transfer Function (JTF) or Observed Jitter Transfer Function (OJTF) for first- or second-order PLL loops. To select the loop order, use the :CRECovery1:JSANalysis:PLLoop:ORDER command.

JTF
Specify the loop bandwidth with the :CRECovery1:JSANalysis:PLLoop:JTF:BWIDth command. For second-order loops, define the loop peaking using the :CRECovery1:JSANalysis:PLLoop:JTF:PEAKing command.
OJTF
Specify the loop bandwidth with the :CRECovery1:JSANalysis:PLLoop:OJTF:BWIDth command. For second-order loops, define the loop damping factor using the :CRECovery1:JSANalysis:PLLoop:JTF:DFACtor command.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:MODE JFT


:CRECovery{1}:JSANalysis:PLLoop:OJTF:BWIDth

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:OJTF:BWIDth}  <count>

<count> is a double.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:OJTF:BWIDth?

Description

Defines the bandwidth of a first- or second-order PLL's Observed Jitter Transfer Function (OJTF). The following table shows the bandwidth settings for some standards. The maximum bandwidth setting is 20 MHz. Use the :CRECovery:JSANalysis:PLLoop:JTF:BWIDth command to set the bandwidth of the Jitter Transfer Function (JTF).

Standard OJTF Bandwidth Settings
Standard | First-Order Loop Filter | Second-Order Loop Filter
SAS 1.5 Gb/s | 900.0 kHz | 900.0 kHz
SAS-SSC 1.5 Gb/s | — | 1.300 MHz
SATA 1.5 Gb/s | — | 2.100 MHz
SAS 3.0 Gb/s | 1.800 MHz | 1.800 MHz
SAS-SSC 3.0 Gb/s | — | 1.838 MHz
SATA 3.0 Gb/s | — | 1.000 MHz
SAS 6.0 Gb/s | 3.600 MHz | 3.600 MHz
SAS-SSC 6.0 Gb/s | — | 2.600 MHz
SATA 6.0 Gb/s | — | 4.200 MHz
QPI | — | 3.000 MHz
USB 3.0 | — | 4.900 MHz

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:OJTF:BWIDth 1.8E6


:CRECovery{1}:JSANalysis:PLLoop:OJTF:DFACtor

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:OJTF:DFACtor  <factor>

<factor> is a double.

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:OJTF:DFACtor?

Description

Defines the damping factor of a second-order PLL's Observed Jitter Transfer Function (OJTF). The following table shows the damping factor settings for some standards.

OJTF for 2nd Order PLLs

Standard OJTF Damping Factors
Standard | Damping Factor
SAS 1.5 Gb/s | 50.0
SAS-SSC 1.5 Gb/s | 0.860
SATA 1.5 Gb/s | 0.767
SAS 3.0 Gb/s | 50.0
SAS-SSC 3.0 Gb/s | 0.860
SATA 3.0 Gb/s | 0.860
SAS 6.0 Gb/s | 50.0
SAS-SSC 6.0 Gb/s | 0.860
SATA 6.0 Gb/s | 0.767
QPI | 0.800
USB 3.0 | 0.707

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:OJTF:DFACtor 0.860


:CRECovery{1}:JSANalysis:PLLoop:ORDer

Command Syntax

:CRECovery{1}:JSANalysis:PLLoop:ORDer  {FIRSt | SECond | THIRd}

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:PLLoop:ORDer?

Query Response

{FIRS | SEC | THIR}

Description

Selects a first, second, or third order low-pass filter for the emulated clock recovery phase lock loop. The following arguments are used:

FIRSt
Selects a first-order loop. Use the :CRECovery1:JSANalysis:PLLoop:MODE command to define either the Jitter Transfer Function (JTF) or Observed Jitter Transfer Function (OJTF) type of PLL. The transfer functions are defined using the :CRECovery1:JSANalysis:PLLoop:JTF:BWIDth and :CRECovery1:JSANalysis:PLLoop:OJTF:BWIDth commands.
SECond
Selects a second-order loop. This is the default selection. Use the :CRECovery1:JSANalysis:PLLoop:MODE command to define either the Jitter Transfer Function (JTF) or Observed Jitter Transfer Function (OJTF) type of PLL. The JTF is defined using the :CRECovery1:JSANalysis:PLLoop:JTF:BWIDth and :CRECovery1:JSANalysis:PLLoop:JTF:PEAKing commands. The OJTF is defined using the :CRECovery1:JSANalysis:PLLoop:OJTF:BWIDth and :CRECovery1:JSANalysis:PLLoop:OJTF:DFACtor commands.
THIRd
Selects a third-order loop. Use the :CRECovery1:JSANalysis:PLLoop:FGAIn command to enter the frequency for the loop's gain. Use the :CRECovery1:JSANalysis:PLLoop:FPOLe command to enter the frequency for the loop's pole. Use the :CRECovery1:JSANalysis:PLLoop:FZERo command to enter the frequency for the loop's zero.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:PLLoop:ORDer SECond


:CRECovery{1}:JSANalysis:RJCorrection

Command Syntax

:CRECovery{1}:JSANalysis:RJCorrection  {ON | OFF | 1 | 0}

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:RJCorrection?

Query Response

{1 | 0}

Description

Applies JSA jitter optimization to Jitter Mode's RJ measurement. The effects of clock recovery emulation are applied to the measurement. The spectrum source must be set to emulated using the :CRECovery{1}:JSANalysis:SPECtrum EMULated command. Use the :CRECovery1:JSANalysis:PLL:ORDER command and its siblings to configure clock recovery emulation. These command control settings that are shown in the Configure CRE PLL dialog box. You must first turn Jitter Spectrum Analysis on using the :CRECovery1:JSANalysis:ACQuire command as shown in the following example. The precision timebase must be turned on using the :PTIMebase:STATe command.

Note

FlexDCA must be in Jitter Mode with Jitter Spectrum Analysis turned on before CRE jitter optimization can be enabled.

Note

The precision timebase must be on when using jitter optimization. If the precision timebase is not on, the RJ results will be questionable.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Requires Jitter Mode license.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:SYSTem:MODE JITTer
:CRECovery1:JSANalysis:ACQuire ON
:CRECovery{1}:JSANalysis:SPECtrum EMULated
…
…
:CRECovery1:JSANalysis:RJCorrection ON


:CRECovery{1}:JSANalysis:SPECtrum

Command Syntax

:CRECovery{1}:JSANalysis:SPECtrum  {INPut | MEASured | EMULated}

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum?

Query Response

{INP | MEAS | EMUL}

Description

Selects the input signal's location in the clock-recovery circuit from which to construct the jitter spectrum and perform the Jitter Spectrum Analysis (JSA). The following arguments are available.

INPut
In Oscilloscope or Eye/Mask mode, selects to view all of the low- frequency jitter on the input signal. This is the recovered clock with the effects of the clock recovery PLL de-embedded. This selection is not available in Jitter Mode. Use the :CRECovery:JSANalysis:OPTimize:INPut command to set the 86108A/B's hardware clock-recovery loop bandwidth to a minimum value which results in optimum input spectrum fidelity. If the loop can not establish lock, you can manually adjust these settings using the :CRECovery:CLBandwidth and :CRECovery:LSELect commands.
MEASured
Available in Oscilloscope, Eye/Mask, and Jitter modes. The Measured spectrum type complements Jitter Mode by showing the distribution of low-frequency jitter. It enables you to discover the root cause of jitter in your device. (Jitter Mode integrates jitter over a larger spectrum resulting in larger RJ measurements.) Use the :CRECovery:CLBandwidth command to configure the 86108A/B clock-recovery loop banwidth to the bandwidth specified in the applicable standard. Use the :CRECovery:LSELect command to set the Type Two Loop Transition Frequency (Peaking to the recommended setting in the applicable standard.
EMULated
Available in Oscilloscope, Eye/Mask, and Jitter modes. Emulated allows you to view low-frequency jitter response to a wide variety of user-specified clock recovery (PLL) configurations. While using the 86108A/B's hardware clock recovery, clock recovery emulation (CRE) is used to measure the incoming signal relative to an ideal software clock-recovery response. In Jitter mode, the effect of this spectrum on Jitter Mode's RJ measurement can be toggled on and off with the :CRECovery:JSANalysis:RJCorrection command. To configure the CRE PLL, use the :CRECovery:JSANalysis:PLL:ORDER command and it's eight siblings. After configuring the Clock Recovery Emulation PLL, use the :CRECovery:JSANalysis:OPTimize:EMBedded command to obtain the optimum CRE spectrum fidelity by automatically matching, as closely as possible, the hardware CDR parameters to the CRE PLL settings. You can manually configure these settings using the :CRECovery:CLBandwidth and :CRECovery:LSELect commands.

Note

This INPut argument is not available in Jitter Mode.

Use the :CRECovery1:JSANalysis:INTegrate:F command to set the upper and lower frequency integration limits for the jitter spectrum. Use the :CRECovery1:JSANalysis:FFTMagnitude:SMOothing command to apply smoothing to the jitter spectrum.

To turn on Jitter Spectrum Analysis (JSA) and clock recovery emulation, use the :CRECovery1:JSANalysis:ACQuire command

Child Commands

To return the jitter spectrum y-formatted data, use the following queries:

:ASCii:YDATa?
Returns comma-separated ASCII values.
:DOUBle:YDATa?
Returns 64-bit floating point values.
:FLOat:YDATa?
Returns 32-bit floating point values.
:PEAKs?
Returns a comma-separated ASCii list of the identified JSA spectrum peaks.
:POINts?
Returns the number of data points.
:XINCrement?
Returns frequency spacing between the data points.
:XORigin?
Returns the frequency value of the first data point.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Example Command Sequence

:CRECovery1:JSANalysis:SPECtrum EMBedded


:CRECovery{1}:JSANalysis:SPECtrum:ASCii:YDATa?

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum:ASCii:YDATa?

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Returns the y-axis jitter-spectrum data in comma-separated ASCII values. The returned magnitude values are in seconds and do not require scaling. The data is sent in linear format starting from the graph's left side (lowest frequency) and progressing to the right side (highest frequency) . The frequency at any data point can be calculated as:

where,

  • Xincrement is the frequency spacing between the data points and is returned with the :CRECovery:JSANalysis:SPECtrum:XINCrement? query.
  • Xindex is the data point count which starts at zero: 0, 1, 2, …, points−1. Use the :CRECovery:JSANalysis:SPECtrum:POINts? query to return the number of points.
  • Xorigin is the frequency value of the first data point and is returned using the :CRECovery:JSANalysis:SPECtrum:XORigin? query.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:CRECovery{1}:JSANalysis:SPECtrum:DOUBle:YDATa?

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum:DOUBle:YDATa?

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Returns the y-axis jitter-spectrum data as 64-bit floating-point values. The returned magnitude values are in seconds and do not require scaling. The data returned from this query has high resolution but can requires longer tranfer times than returning the data as ASCII or floats. The data is sent in linear format starting from the graph's left side (lowest frequency) and progressing to the right side (highest frequency) . The frequency at any data point can be calculated as:

where,

  • Xincrement is the frequency spacing between the data points and is returned with the :CRECovery:JSANalysis:SPECtrum:XINCrement? query.
  • Xindex is the data point count, starting at zero and ending at the number of points minus one. Use the :CRECovery:JSANalysis:SPECtrum:POINts? query to return the number of points.
  • Xorigin is the frequency value of the first data point and is returned using the :CRECovery:JSANalysis:SPECtrum:XORigin? query.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:CRECovery{1}:JSANalysis:SPECtrum:FLOat:YDATa?

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum:FLOat:YDATa?

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Returns the y-axis jitter-spectrum data as 32-bit floating-point values. The returned magnitude values are in seconds and do not require scaling. The data returned from this query has high resolution but can requires longer tranfer times than returning the data as ASCII. The data is sent in linear format starting from the graph's left side (lowest frequency) and progressing to the right side (highest frequency) . The frequency at any data point can be calculated as:

where,

  • Xincrement is the frequency spacing between the data points and is returned with the :CRECovery:JSANalysis:SPECtrum:XINCrement? query.
  • Xindex is the data point count, starting at zero and ending at the number of points minus one. Use the :CRECovery:JSANalysis:SPECtrum:POINts? query to return the number of points.
  • Xorigin is the frequency value of the first data point and is returned using the :CRECovery:JSANalysis:SPECtrum:XORigin? query.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:CRECovery{1}:JSANalysis:SPECtrum:PEAKs?

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum:PEAKs?

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Queries a comma-separated ASCII list of the JSA spectrum peaks that are listed in the JSA Results panel. As the JSA Results panel lists only the peaks that are within the band limiting, so this query only returns the peaks within the band limiting. However, the JSA graph shows all of the peaks even those outside of the band limiting. To return all of the peaks including those outside of the band limiting, use the :CRECovery1:JSANalysis:SPECtrum:PEAKs:ALL? query.

For each peak, a comma-separated frequency and magnitude pair is returned. Use the :CRECovery1:JSANalysis:INTegrate:F command to define the band limiting. The returned list is in the following form:

<frequency>,<magnitude>,<frequency>,<magnitude>,<frequency>,<magnitude>, …

The list is always returned starting with the lowest-frequency peak and ending with the highest-frequency peak, regardless of the peak order shown in the JSA Results panel. To turn on Jitter Spectrum Analysis (JSA), use the :CRECovery1:JSANalysis:ACQuire command

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.


:CRECovery{1}:JSANalysis:SPECtrum:PEAKs:ALL?

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum:PEAKs:ALL?

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Queries a comma-separated ASCII list of the identified JSA spectrum peaks. For each peak, a comma-separated frequency and magnitude pair is returned. These include all of the peaks identified in the graph, even those outside of the band limiting. Be aware that the JSA Results panel only lists the peaks that are with the band limiting. To return a list of only the peaks that are within the band limiting, use the :CRECovery1:JSANalysis:SPECtrum:PEAKs? query.

Use the :CRECovery1:JSANalysis:INTegrate:F command to define the band limiting. The returned list is in the following form:

<frequency>,<magnitude>,<frequency>,<magnitude>,<frequency>,<magnitude>, …

The list is always returned starting with the lowest-frequency peak and ending with the highest-frequency peak, regardless of the peak order shown in the JSA Results panel. To turn on Jitter Spectrum Analysis (JSA), use the :CRECovery1:JSANalysis:ACQuire command

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:CRECovery{1}:JSANalysis:SPECtrum:POINts?

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum:POINts?

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Queries the number of data points in the jitter spectrum. The actual Y-formatted data can be returned as ASCII values (:CRECovery:JSANalysis:SPECtrum:ASCii:YDATa?), double values (:CRECovery:JSANalysis:SPECtrum:DOUBle:YDATa?), or float values (:CRECovery:JSANalysis:SPECtrum:FLOat:YDATa?).

The frequency at any point can be calculated as:

where,

  • Xincrement is the frequency spacing between the data points and is returned with the :CRECovery:JSANalysis:SPECtrum:XINCrement? query.
  • Xindex is an index counting from zero to the number of data points returned by the :POINts? query.
  • Xorigin is the frequency value of the first data point and is returned using the :CRECovery:JSANalysis:SPECtrum:XORigin? query.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:CRECovery{1}:JSANalysis:SPECtrum:XINCrement?

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum:XINCrement?

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Returns the frequency spacing between the data points in the jitter spectrum. The actual Y-formatted data can be returned as ASCII values (:CRECovery:JSANalysis:SPECtrum:ASCii:YDATa?), double values (:CRECovery:JSANalysis:SPECtrum:DOUBle:YDATa?), or float values (:CRECovery:JSANalysis:SPECtrum:FLOat:YDATa?).

The frequency at any point can be calculated as:

where,

  • Xincrement is the frequency spacing between the data points and is returned by the :INCrement? query.
  • Xindex is an index counting from zero to the number of data points. Use the :CRECovery:JSANalysis:SPECtrum:POINts? query to return the number of points.
  • Xorigin is the frequency value of the first data point and is returned using the :CRECovery:JSANalysis:SPECtrum:XORigin? query.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:CRECovery{1}:JSANalysis:SPECtrum:XORigin?

Query Syntax

:CRECovery{1}:JSANalysis:SPECtrum:XORigin?

{1} identifies the slot number which is associated with the 86108A/B Precision Waveform Analyzer module with Option JSA. The slot number is always 1.

Description

Returns the origin value (frequency) of the jitter spectrum data. The actual Y-formatted data can be returned as ASCII values (:CRECovery:JSANalysis:SPECtrum:ASCii:YDATa?), double values (:CRECovery:JSANalysis:SPECtrum:DOUBle:YDATa?), or float values (:CRECovery:JSANalysis:SPECtrum:FLOat:YDATa?).

The frequency at any data point can be calculated as:

where,

  • Xincrement is the frequency spacing between the data points and is returned with the :CRECovery:JSANalysis:SPECtrum:XINCrement? query.
  • Xindex is an index counting from zero to the number of data points. Use the :CRECovery:JSANalysis:SPECtrum:POINts? query to return the number of points.
  • Xorigin is the frequency of the first data point, which is returned by the :XORigin? query.

Requires an 86108A/B module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B Option JSA | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:CRECovery{1:4}:LBANdwidth

Command Syntax

:CRECovery{1:4}:LBANdwidth  {BW270KHZ | BW300KHZ | BW1500KHZ | BW4MHZ}

{1:4} identifies slot number which is associated with clock recovery module.

Query Syntax

:CRECovery{1:4}:LBANdwidth?

Description

Sets the loop bandwidth in Hertz on 83495A and 83496A/B modules. Because jitter is measured relative to the clock, jitter that is present on both the data and the recovered clock can not be detected by the 86100D. Jitter that is within the clock recovery module's loop bandwidth appears on the recovered clock. Jitter that is outside of the loop bandwidth does not appear on the recovered clock and can be detected on the data. Selecting the loop bandwidth allows you to eliminate jitter on the recovered clock. Specify a fixed loop bandwidth using the :CRECovery{1:4}:LBWMode FIXed command before setting the loop bandwidth. The default setting is 300 kHz for 83495A modules, 270 kHz for 83496A/B modules, and 1.5 MHz for 86108A modules.

Note

Do not use this command with 83496A/B Option 300 and 86108A modules. To set the loop bandwidth for these modules, use the :CRECovery{1:4}:CLBandwidth command.

Valid Loop Bandwidth Arguments Versus Modules
Module | Arguments
 | BW270KHZ | BW300KHZ | BW1500KHZ | BW4MHZ | CONTa
83495A |  | ♦b |  | ♦ |
83496A/B (Standard) | ♦b | ♦ | ♦ | ♦ |
83496A/B (Option 300) | ♦b,c |  | ♦d |  | ♦
86108A |  |  |  |  | ♦
Footnotes: a. The CONT argument (continuous) is returned in queries but can not be used to set the bandwidth. b. Default data rate. c. Default and only selection for data rates below 1 Gb/s. d. Unavailable for data rates below 1 Gb/s.
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 | ♦ | ♦ | ♦ | query only | query only |

Example Command Sequence

:CRECovery1:LBWMode FIXed
:CRECovery1:LBANdwidth BW300KHZ
:CRECovery1:RELock


:CRECovery{1:4}:LBWMode

Command Syntax

:CRECovery{1:4}:LBWMode  {FIXed | RDEPendent}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:LBWMode?

Description

Sets the module's loop-bandwidth entry mode.

FIXed
Specifies a fixed loop bandwidth. Enter the actual bandwidth using the :CRECovery{1:4}CLBandwidth command.
RDEPendent
Specifies a rate-dependent loop bandwidth. The loop bandwidth is indirectly set by dividing the data rate (:CRECovery{1:4}CRATe command) by the data-rate divide ratio (:CRECovery{1:4}RDIVider command). The loop bandwidth can not be entered when the module is in this mode.

Example Command Sequence

:CRECovery1:LBWMode FIXed
:CRECovery1:LBANdwidth BW300KHZ
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  | ♦ | ♦ | ♦


:CRECovery{1:4}:LOCKed?

Query Syntax

:CRECovery{1:4}:LOCKed?

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Description

Returns the locked status of the clock recovery module. When a clock rate is selected on 83491/2/3/4/5A modules, unlocked status indicates that clock recovery cannot be established and trigger output to the 86100D is disabled. When triggering on data (:CRECovery{1:4}:TOData), status is always 0 and trigger output to the mainframe is not disabled. For 83495A modules, status is still locked or unlocked depending on clock recovery state. For 83496A/B modules, the trigger output to the mainframe is not disabled when an unlocked condition exists.

The returned values are:

1
Clock recovery is locked.
0
Clock recovery is not locked.
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
♦ | ♦ | ♦ | ♦ | ♦ | ♦ |


:CRECovery{1:4}:LSELect

Command Syntax

:CRECovery{1:4}:LSELect  {LOOP1 | LOOP2 | LOOP3 | LOOP4}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A/B modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:LSELect?

Description

This 86108A/B command selects the Type-2 loop transition frequency (peaking). In normal operation, the Type-2 transition frequency is automatically coupled to the clock data recovery's loop bandwidth and provides the desired loop characteristic for most measurements. Use LSELect:AUTomatic to turn off automatic coupling.

LOOP1
Selects 12 kHz (available for all loop bandwidths).
LOOP2
Selects 280 kHz (available for loop bandwidths > 600 kHz).
LOOP3
Selects 640 kHz (available for loop bandwidths > 1.6 MHz).
LOOP4
Selects 1.3 MHz (available for loop bandwidths > 4.5 MHz).

Clock recovery extracts a clock from the incoming signal and provides the 86100D with a trigger that is synchronous with the data. The clock recovery loop bandwidth primarily determines how well the recovered clock tracks low-frequency jitter on the input signal. Some signals have very large low-frequency jitter from either extremely dirty clocks or intentional modulated clocks such as found in SSC (spread spectrum clocking). In this case the 86108A clock recovery system provides additional control of the loop dynamics by allowing the user to select the Type-2 transition frequency of the loop. The Type-2 transition frequency indicates the frequency below which the second integrator in the loop starts to provide extra gain. Increasing this frequency provides additional loop gain and improves the tracking of the loop. The following figure shows the jitter multiplier as a function of jitter frequency for a loop-bandwidth setting of 5 MHz and various settings of transition frequency. This multiplier is the magnitude of the observed jitter transfer function (OJTF). This additional tracking also increases the peaking in the closed-loop jitter transfer function (JTF).

Figure. OJTF for 5 MHz LBW vs. Type-2 Transition Frequency

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ |


:CRECovery{1:4}:LSELect:AUTomatic

Command Syntax

:CRECovery{1:4}:LSELect:AUTomatic  {ON | OFF | 1 | 0}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:LSELect:AUTomatic?

Query Response

{1 | 0}

Description

Turns on or off automatic selection of the Type-2 loop transition frequency (peaking). When turned off, use the :CRECovery1:LSELect command to manually select the frequency. On the N4877A Clock/Data Recovery and Multiplexer extended module, this command is always on and cannot be turned off.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  | ♦ | ♦


:CRECovery{1:4}:ODRatio

Command Syntax

:CRECovery{1:4}:ODRatio  {SUB32 |  SUB16 | SUB8 | SUB4 | SUB2 | UNITy | SUPer2 | SUPer4 | SUPer8}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:ODRatio?

Description

Sets the output clock divide ratio. This determines the data rate at the front-panel recovered clock output. Available sub-rates vary from 1:1 to 1:32 and super-rates of 2:1, 4:1, and 8:1 depending on the data rate and loop bandwidth settings. Use the :CRECovery:ODRatio:AUTO command to turn on automatic selection of the clock divide ratio.

>
ODRatio Rate Arguments
Argument | Divide Ratio | Valid for Input Data Rate
SUPer8 | 8:1 (Supper-Rate) | ≤800 Mb/s
SUPer4 | 4:1 (Supper-Rate) | ≤1.0 Gb/s
SUPer2 | 2:1 (Supper-Rate) | ≤3.55 Gb/s
UNITy | 1:1 (Sub-Rate) | ≤ 7.1 Gb/s
SUB2 | 1:2 (Sub-Rate) | all rates
SUB4 | 1:4 (Sub-Rate) | ≥900 Mb/s
SUB8 | 1:8 (Sub-Rate) | ≥2 Gb/s
SUB16 | 1:16 (Sub-Rate) | ≥3.6 Gb/s
SUB32 | 1:32 (Sub-Rate) | ≥7.2 Gb/s
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  | ♦ | ♦ | ♦ | ♦


:CRECovery{1:4}:ODRatio:AUTO

Command Syntax

:CRECovery{1:4}:ODRatio:AUTO  {ON | OFF | 1 | 0}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:ODRatio:AUTO?

Query Response

{1 | 0}

Description

Enables or disables the automatic selection of the front-panel recovered clock output divide ratio. The output divide ratio is automatically set to 1:1 for frequencies equal to or less than 7.1 GHz or 1:2 for frequencies greater than 7.1 GHz. Use the :CRECovery:ODRatio command to manually set the ratio.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  | ♦ | ♦ | ♦ | ♦


:CRECovery{1:4}:OUTPut:DMODe

Command Syntax

:CRECovery{1:4}:OUTPut:DMODe {NORMal | SWAPped}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:OUTPut:DMODe?

Description

On the N4877A Clock Data Recovery and Demultiplexer extended module, this command swaps the data that is routed to the front-panel DEMUX DATA output ports. This is the output of the demultiplexer. For example, consider if the N4877A input signal is a repeating 10101010 pattern and the output at port OUT1 is 11111… and the output port at OUT2 is 00000…. Using this command with the SWAPped argument would swap the outputs so that the output at OUT1 is 00000… and the output at OUT2 is 11111….

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  |  |  | ♦

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CRECovery{1:8}:PRESets

Command Syntax

:CRECovery{1:8}:PRESets <preset name>

<preset name> is a string.

Description

Loads a previously saved or factory provided clock recovery settings known as a preset. The preset configures configures the following modules with you saved preset settings:

  • 86108A/B
  • 83496A/B
  • N4877A Clock/Data Recovery and Demultiplexer clock recovery module

To query which presets are available for loading, use the PRESet:SELections? query. The following factory presets are provided:

  • CEI-25G-LR
  • CEI-28G-SR
  • CEI-28G-VSR/MR
  • IEEE 10G-KR4_CR4
  • IEEE 10G-KR_40G-KR4
  • IEEE 40G-CR4_100G-CR10
  • Infiniiband EDR
  • PCI Express Gen 3
  • SATA Gen 1
  • SATA Gen 2
  • SATA Gen 3
  • USB 3.0 Gen 1
  • USB 3.0 Gen 2

Presets can only be saved from the Clock Recovery Setup dialog box. There is no programming command for this task.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command Sequence

:CRECovery4:PRESet "PCI Express Gen 3"  //  Load a factory provided preset.

:CRECovery4:PRESet "MyPreset"  //  Load your saved preset.

:CRECovery4:PRESet:SELections?  //  Get list of saved presets.


:CRECovery{1:8}:PRESets:SELections

Query Syntax

:CRECovery{1:8}:PRESets:SELections?

Query Response

"preset name, preset name, preset name, …"

Description

Returns a string which is a comma-separated list of all saved clock recovery presets. Use the PRESet command to load one of these presets.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:CRECovery{1:4}:RATe

Command Syntax

:CRECovery{1:4}:RATe  {TOData | R155 | R622 | R1062 | R1250 | R2125 | R2488 | R2500 | R2666 | R9953 | R10312 | R10664 | R10709 | RANGE10G}

{1:4} identifies slot number which is associated with the clock recovery module.

Query Syntax

:CRECovery{1:4}:RATe?

Description

Sets the input signal's data rate on 83491/2/3/4/5A modules. For 83495A Option 200, 83496A/B, and 86108A modules, use the :CRECovery{1:4}:CRATe command. The available rates for each module, with associated command arguments, are listed in the following table. Command arguments are nominal and reflect front-panel labels and not actual data rates. The TOData argument selects triggering on the data. Once TOData is used, you must specify a different rate to turn off triggering on data.

Available Arguments Versus Modules
Command Argument | Rate (Mb/s) | Module Model Number
 |  | 83491/2A | 83493A | 83494A | 83494A Option 103 | 83494A Option 106 | 83494A Option 107 | 83495A
TODataa | — | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦
R155 | 155.52 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |
R622 | 622.08 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |
R1062 | 1062.50 | ♦ |  |  |  |  |  |
R1250 | 1250.00 | ♦ | ♦ |  |  |  |  |
R2125 | 2125.00 | ♦ |  |  |  |  |  |
R2488 | 2488.32 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |
R2500 | 2500.00 | ♦ | ♦ |  |  |  |  |
R2666 | 2666.06 |  |  |  |  | ♦ | ♦ |
R9953 | 9953.28 |  |  | ♦ |  |  |  | ♦
R10312 | 10312.50 |  |  |  | ♦ |  |  | ♦
R10664 | 10664.23 |  |  |  |  | ♦ |  | ♦
R10709 | 10709.225 |  |  |  |  |  | ♦ | ♦
RANGE10G | 9.953 Gb/s − 11.32 Gb/s |  |  |  |  |  |  | ♦
Footnotes: a. Trigger on data.
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
♦ | ♦ |  |  |  |  |


:CRECovery{1:4}:RDIVider

Command Syntax

:CRECovery{1:4}:RDIVider  <ratio>

<ratio> is an int.

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:RDIVider?

Description

Sets the data-rate divide ratio. This value is used to compute loop bandwidth when the rate-dependent loop bandwidth mode is selected (:CRECovery{1:4}:LBWMode RDEPendent command). Loop bandwidth is set by dividing the data rate (:CRECovery{1:4}CRATe command) by the data-rate divide ratio set with this command. Because the available range of ratios is dependents on the data rate, use the :MINimum and :MAXimum child commands to determine the range.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  |  | ♦ | ♦ | ♦


:CRECovery{1:4}:RELock

Command Syntax

:CRECovery{1:4}:RELock

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A/B modules, specify slot 1.

Description

Example Python Script

Click these links to an example script that configures clock recovery on an 86108A/B.

  • Python 3.4 version
  • Python 2.7 version

Locks an 83496A or an 86108A/B module to the data rate. Issue this command to lock the module whenever changes occur in the data rate or input data source. Under two conditions, the module may lock on a data rate other than the specified rate. In the first condition, lock can occur if the entered data rate is an integer multiple of the actual data rate of the signal. The second condition occurs because the acquisition range is broad (greater than ±5000 PPM). This makes it possible for the module to lock on a signal that is higher or lower than the selected value. For example, if you select a 2.48832 Gb/s data rate but the signal is actually 2.5 Gb/s, the module may still lock on the signal.

To determine if this command has completed, use the :CRECovery:LOCKed? query.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  | ♦ | ♦ | ♦ |

Example Command Sequence

:CRECovery1:CRATe 9.95328E+9    //  Set CDR rate
:CRECovery1:CLBandwidth 5.00E+5    //  CDR PLL BW to 500 kHz
:CRECovery1:RELock    //  Lock CDR
*OPC?
…  //  Your code to synchronize execution timing.


:CRECovery{1:4}:SOURce

Command Syntax

:CRECovery{1:4}:SOURce  {ELECtrical | EINVerted | DIFFerential | AUXilliary}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:SOURce?

Description

Selects the modules data input connector for clock recovery.

ELECtrical
Front-panel electrical connector. On 86108A modules, this is the CH2/CDR+ connector. On 83496A modules and the N4877A, this is the Data connector.
EINVerted
Front-panel inverted electrical connector. On 86108A modules, this is the CH1/CDR− connector. On 83496A modules and the N4877A, this is the Data connector.
DIFFerential
A differential signal is applied to both front-panel electrical connectors.
AUXilliary
Signal is connected to front-panel Aux Input connector of an 86108A Option 400 module. Provides a larger signal from which to recover a clock in cases where low amplitude data or clock signals input to the CH1/CDR- or CH2/CDR+ front-panel input connectors result in unwanted jitter on the recovered clock.
Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  | ♦ | ♦ | ♦ | ♦


:CRECovery{1:4}:TDENsity?

Query Syntax

:CRECovery{1:4}:TDENsity?

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Response

<edge density>, a real number

Description

Use this 83496A/B and 86108A/B query to return the calculated edge density of the data signal. The edge density value is the ratio of bit transistions to bits and is returned as a number between zero and one. Changes in edge density can cause the module to lose lock. If the edge density value is invalid, the value 9.99999E+37 (NaN) is returned. With 86108A/B modules, specify slot 1.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  | ♦ | ♦ | ♦ |

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:CRECovery{1:4}:TOData

Command Syntax

:CRECovery{1:4}:TOData  {ON | OFF | 1 | 0}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:TOData?

Query Response

{1 | 0}

Description

Selects triggering on data instead of recovering the clock. The data is passed to the module's rear-panel via an AC coupled limit amplifier. Data rate and loop bandwidth settings are not adjustable. Triggering on the data is similar to not having a clock recovery module and using a splitter to divide the input signal and routing one portion to the front-panel trigger input. While triggering on the data provides a quick method of checking the data waveform, be aware that the displayed response may be missing 75% of the data patterns. This happens because triggering occurs at either the 1-to-0 or 0-to-1 data transition, and, as a result, the triggering only occurs when a transition occurs in the data instead of triggering on any bit period as with a clock. For example, consider a pattern such as 1111000. Only the transition between the 1-to-0 triggers the instrument. Transitions between adjacent lows and highs will not cause trigger events. The recovered clock will still be available at the module's Front Panel Recovered Clock Out even when set to trigger on the data.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
♦ | ♦ | ♦ | ♦ | ♦ | ♦ |


:CRECovery{1:4}:ARELock

Deprecated command

Deprecated command. For FlexDCA revision A.02.00 and above.

Command Syntax

:CRECovery{1:4}:ARELock  {ON | OFF | 1 | 0}

{1:4} identifies slot number which is associated with the clock recovery module. On 86108A modules, specify slot 1.

Query Syntax

:CRECovery{1:4}:ARELock?

Query Response

{1 | 0}

Description

Enables or disables automatic trigger locking while circuit probing. This feature frees you to concentrate on handling the probe rather than locking the 86100D.

Command Compatibility
83491/2A 83493/4A | 83495A |  | 83496A/B |  | 86108A/B | N4877A
 | Standard | Opt. 200 | Standard | Opt. 300
 |  |  | ♦ | ♦ | ♦ | ♦


Introduction to :DIFF Subsystem

The DIFF subsystem commands control differential electrical waveforms.

  • Learn More
  • Programming Home

General Commands

  • COLor
  • CWINdow
  • DESKew
  • DISPlay
  • DMODe
  • DSTRacking
  • FCHan?
  • SCHan?
  • SIGNal:TYPE
  • SIGNal:TYPE:AUTO
  • SIGNal:TYPE:DETect
  • STATus?
  • TDELay
  • UNAMe

Waveform Definition Commands

  • UDEFined:BASe
  • UDEFined:DISTal
  • UDEFined:MESial
  • UDEFined:PROXimal
  • UDEFined:Top

Scaling and Units Commands

  • YBOTtom?
  • YOFFset
  • YSCale
  • YTOP?
  • YUNits?


Introduction to :DIFF Subsystem (continued)

In the :DIFF command syntax, differential waveforms are identified by the associated module slot number (from 1 to 4). For example, this command sets the color of the differential waveform of an 86112A module installed in slots 3 and 4. Notice slot number 3A highlighted in red.

:DIFF3A:COLor TCOLor8

Traditional modules take up two module slots, either slots 1 and 2 or slots 3 and 4. For these type of modules, the differential waveform is identified using the number for the left-mode occupied slot. For example, :DIFF1A or :DIFF3A, respectively.

Single-slot modules could have two channels. In this case, the differential waveform of a module installed in slot 4 would be identified as :DIFF4A. Also, when FlexDCA is configured with a simulated extended module, one-slot simulated modules are available that have two channels. The following table show several examples of differential waveform identification.

Examples of Differential Waveform Numbers
Module Type | Installed Slots | Source Channels for Differential Waveform | Differential Channel Waveform Identification
Traditional Two-Slot, Dual Channel (for example, 86112A) | 1 & 2 | 1A and 2A | :DIFF1A
 | 3 & 4 | 3A and 4A | :DIFF3A
Simulated or Future Single-Slot, Dual Channel | 1 | 1A and 1B | :DIFF1A
 | 2 | 2A and 2B | :DIFF2A
 | 3 | 3A and 3B | :DIFF3A
 | 4 | 4A and 4B | :DIFF4A

Example Command Sequence

:DIFF1:DEMODe ON
:CHANnel1A:BANDwidth BANDwidth3
:CHANnel1B:BANDwidth BANDwidth3
*OPC?
…  //  Your code to synchronize execution timing.
:DIFF1:DISPlay ON


:DIFF{N}:COLor

Command Syntax

:DIFF{N}:COLor  {TCOLor1 | TCOLor2 | … | TCOLor12}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:COLor?

Description

Selects the color used to identify a channel on the screen. Waveform color assignments are saved as part of an instrument Setup file (:DISK:SETup:SAVe). Waveform colors are reset to their default values by a default setup (:SYSTem:DEFault) or factory preset (:SYSTem:FACTory).

Channel Colors Versus Command Arguments
Color | Argument | Color | Argument | Color | Argument | Color | Argument
 | TCOLor1 |  | TCOLor2 |  | TCOLor3 |  | TCOLor4
 | TCOLor5 |  | TCOLor6 |  | TCOLor7 |  | TCOLor8
 | TCOLor9 |  | TCOLor10 |  | TCOLor11 |  | TCOLor12
 | TCOLor13 |  | TCOLor14 |  | TCOLor15 |  | TCOLor16

To change the color of waveforms other than channels, use the following additional :COLor commands that are located in other subsystems:

Additional :COLor Commands
Command | Description
:CHANnel:COLor | Sets color of channel waveforms.
:CMODe:COLor | Sets color of common-mode waveforms.
:EMEMory:COLor | Sets color of eye memory waveforms
:FUNCtion:COLor | Sets color of math function output waveforms.
:TRACe:COLor | Sets color of T-domain parameter or S-parameter waveforms in TDR/TDT mode.
:WMEMory:COLor | Sets color of waveform memories.

FlexDCA Revision

Requires FlexDCA revision A.04.50 for colors 13 through 16.


:DIFF:CWINdow

Command Syntax

:DIFF{N}:CWINdow TIMe{1}

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, 3C.

Query Syntax

:DIFF{N}:CWINdow?

Description

The :DIFF{N}:CWINdow command allows you to assign a differential waveform to a Waveform content window.

Note

As of this release, there is only one Waveform content window, so you will not need to use this command.

In future revisions, the :DIFF{N}:CWINdow command will select a Waveform content window in which to display a differential channel waveform. In FlexDCA, several different types of content windows exist. differential channel waveforms can only be displayed in a Waveform (TIMe1) content window of which there is currently only one available. This command is provided for future use when more than one Waveform content window is available for use.

Command Arguments and Content Windows
Argument | Displayed Waveform Content Window | Number of Available Windows |  | Scale Units
 |  | Programmatically | Via Front Panel
TIMe1 | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DIFF{N}:DESkew

Command Syntax

:DIFF{N}:DESkew

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Description

Available for N1045A and 86118A-H01 modules, removes all skew between differential inputs of the modules, regardless of the source of the skew. The skew could be introduced by fixtures, the device-unter-test, or the transmitter. Use this feature if you want to remove the skew and you are not interested in measuring the skew. You can also use this command to apply simulated hardware skew to simulated channels. Hardware skew is applied to both channels. To manually apply hardware skew to the individual channels, use the :CHANnel:SKEW command.

The :DIFF:DESkew command is not designed to correct for skew that has been introduced by external hardware between two waveforms; use the :TIMebase:DESKew:FIXTure command instead.

Note

An identical signal must be applied to both input channels before performing an Auto Deskew.

Note

Avoid bending the remote-head cables after the deskew is performed. The cables connecting the 86118A remote heads to the plug-in module contain a high-frequency sampling strobe signal. The cables are designed to minimize the change in phase of the strobe signal as the cable is bent. However, bending either cable will change the cable�s phase by several picoseconds, thereby skewing that channel relative to the other channel, as seen on the DCA display. Before performing a deskew on the channels, it is best to position the remote sampling heads as they will be used during the measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:DIFF{N}:DISPlay

Command Syntax

:DIFF{N}:DISPlay {ON | OFF | 1 | 0}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:DISPlay?

Query Response

{1 | 0}

Description

Turns the display of the specified differential channel on or off. Use the STATus command to determine if a differential channel is available for display. Use the DMODe command to enable a differential waveform.

Example Command Sequence

:DIFF1:DEMODe ON
*OPC?
…  //  Your code to synchronize execution timing.
:DIFF1:DISPlay ON


:DIFF{N}:DMODe

Command Syntax

:DIFF{N}:DMODe {ON | OFF | 1 | 0}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:DMODe?

Query Response

{1 | 0}

Description

Turns on or off the differential function on two channels. Notice that the module's slot number, 1 or 3, is included inthe :DIFF subsystem command. Use the DISPlay command to display an enabled differential waveform.

Example Command Sequence

:DIFF1:DMODe ON
:DIFF1:DISPlay ON


:DIFF{N}:DSTRacking

Command Syntax

:DIFF{N}:DSTRacking {ON | OFF | 1 | 0}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:DSTRacking?

Query Response

{1 | 0}

Description

Turns on and off automatic differential tracking. The default setting is on.

ON
Couples changes to differential software delay (:DIFF:TDELay) to both differential input channels A and B (or C and D). It also couples changes to a differential waveform's vertical scale (:DIFF:YSCale) or vertical offset (:DIFF:YOFFset) to the vertical scale or vertical offset of the differential waveform and both differential input waveforms. For example, if you set the differential waveform to 200 mV/division, each input waveform (A and B or C and D) will be set to 100 mV/division. You can not manually adjust the scaling for the two channels.
OFF
Any software delay added to the differential waveform is applied to channel A with respect to channel B (or channel C with respect to channel D). Disables the coupling between the differential waveform's vertical scale and vertical offset and that of the two differential input waveforms. The vertical scale and vertical offset of each waveform (differential and two differential input waveforms) can be made independently of the other waveforms.

If you clear Scale Channels Automatically the linking of these controls are disabled.


:DIFF{N}:FCHan?

Query Syntax

:DIFF{N}:FCHan?

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Description

Queries the first source of a differential signal. For example, CHAN1A. Use the :DIFF:SCHan query to determine the second source of a differential signal.


:DIFF{N}:SCHan?

Query Syntax

:DIFF{N}:SCHan?

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Description

Queries the second source of a differential signal. For example, CHAN1B. Use the :DIFF:FCHan query to determine the first source of a differential signal.


:DIFF{N}:SIGNal:TYPE

Command Syntax

:DIFF{N}:SIGNal:TYPE {UNSPecified | NRZ | PAM4}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:SIGNal:TYPE?

Description

Manually sets a differential channel's signal type when automatic detection is turned off (:SIGNal:TYPE:AUTO). This can be useful if the waveform is too degraded to automatically detect its type.

By default, automatic detection is turned on and is performed as part of an autoscale (:SYSTem:AUToscale). Automatic detection can also be manually run using the :SYSTem:STAutodetect command. This has the advantage of detecting the signal type without performing scaling. After automatic signal detection, use the :DIFF:SIGNal:TYPE? query to return the actual signal type that was detected.

A waveform can be detected as NRZ formatted data, or PAM4 formatted data. The default signal type is Unspecified. Sending this command with automatic detection turned on results in a settings conflict error. Use the :SIGNal:TYPE:DETect child command to force a detection of the input signal type.

Example Command Sequence

:DIFF2A:SIGNal:TYPE:AUTO OFF
:DIFF2A:SIGNal:TYPE PAM4

PAM-N License

The PAM4 argument is only available if options 9FP or 9TP PAM-N Analysis software license is installed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DIFF{N}:SIGNal:TYPE:AUTO

Command Syntax

:DIFF{N}:SIGNal:TYPE:AUTO {ON | OFF}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:SIGNal:TYPE:AUTO?

Description

Turns on and off automatic detection of the signal type that is input to the specified channel. By default, automatic detection is on. Use the :SIGNal:TYPE:DETect sibling command to force a detection.

When automatic detection is turned off, specify the type of signal with the :SIGNal:TYPE parent command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DIFF{N}:SIGNal:TYPE:DETect

Command Syntax

:DIFF{N}:SIGNal:TYPE:DETect

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Description

This command forces a detection of the input's signal type when automatic signal-type detection is turned on. To turn on or off automatic detection, use the :SIGNal:TYPE:AUTO sibling command. Sending this command when automatic detection is turned off results in a settings conflict error.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DIFF{N}:STATus?

Query Syntax

:DIFF{N}:STATus?

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Response

{AVA | UNAV}

Description

Queries the availability of a differential channel for use. A differential channel becomes available (AVA) when the following is true:

  • An associated multi-channel module is installed or extended module is configured, and
  • The differential channel is selected in the Channel Setup dialog box (Use the :DIFF:DMODe command).

Available differential channels are shown in the Signals Palette. An available differential channel's waveform may or may not be displayed. A differential channel is unavailable (UNAV) if the differential channel is not selected in the Channel Setup dialog box.

Use the :DIFF:DISPlay command query to determine if a channel waveform is displayed.


:DIFF{N}:TDELay

Command Syntax

:DIFF{N}:TDELay  <delay>

<delay> is time expressed as a real number.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:TDELay?

Description

Adjusts the software delay to change the horizontal position of displayed waveforms. Which waveform is delayed is determined by the :DIFF:DSTRacking command. The delayed waveform can be the differential waveform or the delay between the two differential input waveforms. Software delay allows you to compensate for the time offset between two or more channels. The difference in timing may be caused by different types or lengths of cable. The delay adjust also allows you to lay one channel waveform over another channel waveform and compare the shapes of the two waveforms. Delay increases the time required to acquire the measurement data.

Note

The skew adjust differs from the horizontal position control (:TIMebase:POSition), which changes the position all of the channels at the same time. Adjusting the skew does not affect the horizontal scale, vertical scale, and offset of the displayed channels.

Note

In Jitter Mode, skew adjustments are disabled. Do not use this command in Jitter Mode. It generates a settings conflict error.


:DIFF{N}:UDEFined:BASe

Command Syntax

:DIFF{N}:UDEFined:BASe <amplitude>

<amplitude> is a double.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:UDEFined:BASe?

Description

For the indicated differential waveform, sets or queries the custom base-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts. Use :DIFF{1:4}:UDEFined:TOP to set or query a custom top level.

Before this custom base level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:DIFF3:UDEFined:BASe -125E-3
:DIFF3:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:DIFF{N}:UDEFined:DISTal

Command Syntax

:DIFF{N}:UDEFined:DISTal <amplitude>

<amplitude> is a double.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:UDEFined:DISTal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the upper threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:DISTal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :DIFF{1:4}:UDEFined:MESial command to enter a middle threshold level. Use the :DIFF{1:4}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:DIFF3:UDEFined:DISTal 125E-3
:DIFF3:UDEFined:MESial 0E0
:DIFF3:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:DIFF{N}:UDEFined:MESial

Command Syntax

:DIFF{N}:UDEFined:MESial <amplitude>

<amplitude> is a double.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:UDEFined:MESial?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the middle threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :DIFF{1:4}:UDEFined:DISTal command to enter a upper threshold level. Use the :DIFF{1:4}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:DIFF3:UDEFined:DISTal 125E-3
:DIFF3:UDEFined:MESial 0E0
:DIFF3:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:DIFF{N}:UDEFined:PROXimal

Command Syntax

:DIFF{N}:UDEFined:PROXimal <amplitude>

<amplitude> is a double.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:UDEFined:PROXimal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the lower threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:PROXimal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :DIFF{1:4}:UDEFined:DISTal command to enter a upper threshold level. Use the :DIFF{1:4}:EMEMory:MESial command to enter a middle threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:DIFF3:UDEFined:DISTal 125E-3
:DIFF3:UDEFined:MESial 0E0
:DIFF3:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:DIFF{N}:UDEFined:TOP

Command Syntax

:DIFF{N}:UDEFined:TOP <amplitude>

<amplitude> is a double.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:UDEFined:TOP?

Description

For the indicated channel, sets or queries the custom top-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :DIFF{1:4}:UDEFined:BASe to set or query a custom base level.

Before this custom top level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:DIFF3:UDEFined:BASe -125E-3
:DIFF3:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:DIFF{N}:UNAMe

Command Syntax

:DIFF{N}:UNAMe <string>

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, 3C.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Query Syntax

:DIFF{N}:UNAMe?

Description

Assigns a custom user name to a differential waveform. User names are helpful because they identify what a waveform represents rather than the oscilloscope's input channel. For example, you could assign user name "DUT 3, Diff Output" to differential waveform 2A. User names can be 25 characters or less and are displayed on the screen and on screen captures. To remove a custom user name, re-create it using an empty string.

Example Command Sequence

:DIFF4C:UNAMe "DUT 3, Diff Output"


:DIFF{N}:YBOTtom?

Query Syntax

:DIFF{N}:YBOTtom?

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Description

Queries the amplitude value represented by the graticule's bottom edge. To query the amplitude value represented by the graticule's top edge, use :DIFF:TOP?. Use the :DIFF:YSCale command to set the amplitude scale (volts or Watts). Use the YOFFset command to set the amplitude offset.


:DIFF{N}:YOFFset

Command Syntax

:DIFF{N}:YOFFset   <offset>

<offset> is a double.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:YOFFset?

Description

Sets the voltage that is represented at the center of the display for the selected differential waveform.Offset parameters are vertical scale dependent. Currently, the offset can be expressed in volts only using the :DIFF:UNITs command. Use the :DIFF:YSCale command to change a channel's vertical scale.

Note

In Jitter Mode, channel scale and offset controls are disabled. Do not use this command in Jitter Mode. It generates an error.


:DIFF{N}:YSCale

Command Syntax

:DIFF{N}:YSCale   <scale>

<scale> is a double.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:DIFF{N}:YSCale?

Description

Sets the vertical scale ( units-per-division) of the selected differential waveform. Use the :DIFF:YOFFset command to change a channel's vertical offset.

Note

In Jitter Mode, channel scale and offset controls are disabled. Do not use this command in Jitter Mode. It generates an error.


:DIFF{N}:YTOP?

Query Syntax

:DIFF{N}:YTOP?

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Description

Queries the amplitude value represented by the graticule's top edge. To query the amplitude value represented by the graticule's bottom edge, use :DIFF:YBOTtom?. Use the :DIFF:YSCale command to set the amplitude scale (volts or Watts). Use the :DIFF:YOFFset command to set the amplitude offset.


:DIFF{N}:YUNits

Command Syntax

:DIFF{N}:YUNits  {VOLT | WATT | AMPere | UNKNown}

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, 3C.

Query Syntax

:DIFF{N}:YUNits?

Description

Sets or queries the differential waveform's vertical units, which can be either volts, Watts, amperes, or unknown. Units other than volts are possible when an external transducer is specified as being connected to the input channel. Use the :CHANnel:TRANsducer:STATe and :CHANnel:TRANsducer:UNITs commands for this task.

FlexDCA Revision

Command form with arguments were added to the query form starting with FlexDCA revision A.04.00 and above.


Introduction to :DISK Subsystem

The :DISK subsystem commands provide file storage and retrieval for waveform databases, FlexDCA setup files, screen captures, binary files and text files. When specifying a file name, you must enclose it in quotation marks. The commands in the subsystem are organized in the following groups (nodes):

File Transfer Commands

Transfer binary and text files.

  • FILE:ASCii:READ?
  • FILE:EXISts?
  • FILE:READ?
  • FILE:SIZE?
  • FILE:WRITe?

Documentation Wizard Commands

Configures and saves a Documentation Wizard file.

  • DWIZard:AMPLitude:SDATa
  • DWIZard:ECResults:SDATa
  • DWIZard:FNAMe
  • DWIZard:GDELay:SDATa
  • DWIZard:HISTograms:SDATa
  • DWIZard:JGRaphs:SDATa
  • DWIZard:JITTer:SDATa
  • DWIZard:JSAResults:SDATa
  • DWIZard:JSASpectrum:SDATa
  • DWIZard:LLTResults:SDATa
  • DWIZard:MAGNitude:SDATa
  • DWIZard:MARKers:SDATa
  • DWIZard:MTESt:SDATa
  • DWIZard:PHASe:SDATa
  • DWIZard:RESults:SDATa
  • DWIZard:SAVE
  • DWIZard:SSCReen
  • DWIZard:SSETup
  • DWIZard:SSINfo
  • DWIZard:SSParam
  • DWIZard:TIME:SDATa
  • DWIZard:T:OHMs:SDATa
  • DWIZard:T:PERcent:SDATa
  • DWIZard:T:VOLts:SDATa

Eye (Color Grade Gray Scale) Database Commands

Saves and recalls color grade-gray scale database files in Eye/Mask mode.

  • EYE:FNAMe
  • EYE:RECall
  • EYE:RECall:DESTination
  • EYE:SAVE
  • EYE:SAVE:SOURce

Jitter Database Commands

Saves and recalls jitter database files in Jitter mode.

  • JDATabase:FFORmat
  • JDATabase:FNAMe
  • JDATabase:RECall
  • JDATabase:RECall:DESTination
  • JDATabase:SAVE

Jitter Spectrum Analysis (JSA) Database Commands

Saves and recalls JSA database files.

  • JSANalysis:FNAMe
  • JSANalysis:RECall
  • JSANalysis:RECall:DESTination
  • JSANalysis:SAVE

FlexDCA Setup Commands

Saves and recalls FlexDCA setup files.

  • SETup:RECall
  • SETup:RECall:HCONfig
  • SETup:SAVE

Screen Image Save Commands

Saves screen image files in common graphic formats. These files allow you to document waveforms, instrument settings, and measurements.

  • SIMage:FNAMe
  • SIMage:IMETadata
  • SIMage:INVert
  • SIMage:SINClude
  • SIMage:MONochrome
  • SIMage:SAVE
  • SIMage:WINDow

TDR/TDT Export S-Parameter Commands

  • SPARameter:DSDiff
  • SPARameter:DSIoutput
  • SPARameter:DSReciprocal
  • SPARameter:DUT
  • SPARameter:EADifferenti
  • SPARameter:FNAMe
  • SPARameter:FWBehavior
  • SPARameter:PSET
  • SPARameter:SAVE

TDR/TDT Load S-Parameters into S-Parameter Memory Commands

  • SPARameter:LFName
  • SPARameter:RECall
  • SPARameter:RECall:DESTination

Waveform Commands

Example Script

Click here to learn about a Python script that saves a pattern waveform to a file.

Saves and recalls single-valued waveforms in Oscilloscope mode.

  • WAVeform:FFORmat
  • WAVeform:FNAMe
  • WAVeform:RECall
  • WAVeform:RECall:DESTination
  • WAVeform:SAVE
  • WAVeform:SAVE:FLAYout
  • WAVeform:SAVE:SOURce

Deprecated Commands

  • BFILe (deprecated A.05.30)
  • DWIZard_TOHMs_SDATa (deprecated A.05.40)
  • DWIZard_TPERcent_SDATa (deprecated A.05.40)
  • DWIZard_TVOLts_SDATa (deprecated A.05.40)
  • SIMage:GONLy (deprecated A.03.00)
  • TFILe (deprecated A.05.30)


:DISK:DWIZard:AMPLitude:SDATa

Command Syntax

:DISK:DWIZard:AMPLitude:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the Amplitude results table. The data is placed in a comma-delimited ASCII file (Amplitude Window Results.csv). A screen capture of the Amplitude results table (Amplitude Window Screen Capture.png) is also saved. The instrument must be in Jitter mode (:SYSTem:MODE) and the Amplitude results table displayed.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:AMPLitude:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:DOUTput:SDATa

Note

This command is reserved for future use.


:DISK:DWIZard:ECResults:SDATa

Command Syntax

:DISK:DWIZard:ECResults:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the Eye Contours results table. The data is placed in a comma-delimited ASCII file (Eye Contours Window Results.csv). A screen capture of the Amplitude results table (Eye Contours Window Screen Capture.png) is also saved. The instrument must be in Eye/Mask mode (:SYSTem:MODE) with the Eye Contours results table displayed.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:ECResults:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:DISK:DWIZard:FNAMe

Command Syntax

:DISK:DWIZard:FNAMe "filename"

"filename" is a string.

Query Syntax

:DISK:DWIZard:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the filename, path, and extension for a Documentation Wizard zip file. To actually save the file, use the :DISK:DWIZard:SAVE command. The saved file is a ZIP (.zip) and by default is saved in the \Documentation Results folder. This command supports the DEFault common child command.

Example Command Sequence

:DISK:DWIZard:FNAMe "%USER_DATA_DIR%\Documentation Results\DocumentationResults_PAM4.zip"
:DISK:DWIZard:SAVe
*OPC?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:GDELay:SDATa

:DISK:DWIZard:GDELay{1:4}:SDATa

Command Syntax

:DISK:DWIZard:GDELay{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add an ASCII data file (XY-value waveform file) for each displayed waveform in any GrpDelay (Group Delay) waveform content windows. GrpDelay waveform content windows display waveforms from different sources depending on the instrument mode:

  • In Oscilloscope or Eye Modes: waveform source is an FFT function. Saves one waveform file for each displayed waveform (example, FFT[1A] (F1).txt)
  • In TDR Mode: waveform source is S-parameters. Saves one waveform file for each displayed waveform (for example, S11 Delay.txt).

A screen capture each displayed GrpDelay waveform content window is also saved (GrpDelay N Window Screen Capture.png).

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:{1:4}GDELay:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:HISTograms:SDATa

Command Syntax

:DISK:DWIZard:HISTograms:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the Histogram results table. The data is placed in a comma-delimited ASCII file (Amplitude Window Results.csv). A screen capture of the Amplitude results table (Amplitude Window Screen Capture.png) is also saved. The instrument must be in Oscilloscope, Eye/Mask, or Jitter mode (:SYSTem:MODE) and the Histogram results table displayed.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:HISTograms:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:JGRaphs:SDATa

Command Syntax

:DISK:DWIZard:JGRaphs:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the Jitter database file (JitterDatabase.jdx). The Jitter database file can be re-loaded into jitter memory using the :DISK:JDATabase:RECall command. A screen capture of the jitter graphs (Graphs Window Screen Capture.png) is also saved. The instrument must be in Jitter mode (:SYSTem:MODE).

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:JGRaphs:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:JITTer:SDATa

Command Syntax

:DISK:DWIZard:JITTer:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the Jitter results table. The data is placed in a comma-delimited ASCII file (Jitter Window Results.csv). A screen capture of the Jitter results table (Jitter Window Screen Capture.png) is also saved. Jitter mode (:SYSTem:MODE) must be selected.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:JITTer:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:JSAResults:SDATa

Command Syntax

:DISK:DWIZard:JSAResults:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the JSA Results table. The data is placed in a comma-delimited ASCII file (JSA Results Window Results.csv). A screen capture of the Amplitude results table (JSA Results Window Screen Capture.png) is also saved. The instrument must be in Oscilloscope, Eye/Mask, or Jitter mode (:SYSTem:MODE) and with Jitter Spectrum Analysis turned on (:CRECovery:JSANalysis:ACQuire).

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:JSAResults:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:JSASpectrum:SDATa

Command Syntax

:DISK:DWIZard:JSASpectrum:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the JSA memory database (JSA Memory.jsax). The data is placed in a comma-delimited ASCII file (Amplitude Window Results.csv). A screen capture of the jitter spectrum window (JSA Spectrum Window Screen Capture.png) is also saved. The instrument must be in Oscilloscope, Eye/Mask, or Jitter mode (:SYSTem:MODE) and with Jitter Spectrum Analysis turned on (:CRECovery:JSANalysis:ACQuire).

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:JSASpectrum:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:LLTResults:SDATa

Command Syntax

:DISK:DWIZard:LLTResults:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the Limit Lines panel. The data is placed in a comma-delimited ASCII file (Limit Lines Window Results.csv). A screen capture of the Limit Lines panel (Limit Lines Window Screen Capture.png) is also saved.

Query Syntax

:DISK:DWIZard:LLTResults:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:MAGNitude:SDATa

:DISK:DWIZard:MAGNitude{1:4}:SDATa

Command Syntax

:DISK:DWIZard:MAGNitude{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add an ASCII data file (XY-value waveform file) for each displayed waveform in any Freq-Mag waveform content windows. Freq-Mag waveform content windows display waveforms from different sources depending on the instrument mode:

  • In Oscilloscope or Eye Modes: waveform source is an FFT function. Saves one waveform file for each displayed waveform (example, FFT[1A] (F1).txt)
  • In TDR Mode: waveform source is S-parameter. Saves one waveform file for each displayed waveform (for example, S21 Magnitude.txt).

A screen capture each displayed Freq-Mag waveform content window is also saved (Freq-Mag N Window Screen Capture.png).

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:MAGNitude:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:MARKers:SDATa

Command Syntax

:DISK:DWIZard:MARKers:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the Marker results table. The data is placed in a comma-delimited ASCII file (Markers Window Results.csv). A screen capture of the Amplitude results table (Markers Window Screen Capture.png) is also saved. Markers must be turned on and the Markers results table must be displayed.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:MARKers:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:MTESt:SDATa

Command Syntax

:DISK:DWIZard:MTESt:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the Mask test results table. The data is placed in a comma-delimited ASCII file (Mask Test Window Results.csv). A screen capture of the Amplitude results table (Mask Test Window Screen Capture.png) is also saved. The instrument must be in Eye/Mask mode and Mask test results displayed.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:MTESt:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:PHASe:SDATa

:DISK:DWIZard:PHASe{1:4}:SDATa

Command Syntax

:DISK:DWIZard:PHASe{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add a ASCII data file (XY-value waveform file) for each displayed waveform in any Phase waveform content windows. Freq-Mag waveform content windows display waveforms from different sources depending on the instrument mode:

  • In Oscilloscope or Eye Modes: waveform source is an FFT function. Saves one waveform file for each displayed waveform (example, FFT[1A] (F1).txt)
  • In TDR Mode: waveform source is S-parameter. Saves one waveform file for each displayed waveform (for example, S11 Phase.txt).

A screen capture each displayed Phase waveform content window is also saved (Phase N Window Screen Capture.png).

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:PHASe:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:RESults:SDATa

Command Syntax

:DISK:DWIZard:RESults:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the results shown in the measurement Results table. The data is placed in a comma-delimited ASCII file (Results Window Results.csv). A screen capture of the Results table (Results Window Screen Capture.png) is also saved. The instrument must be in Oscilloscope or Eye/Mask mode (:SYSTem:MODE) and the Results table displayed.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:RESults:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:SAVE

Command Syntax

:DISK:DWIZard:SAVE

Description

Saves a Documentation Wizard zip file that includes all the information needed to archive a particular instrument configuration with waveforms and measurement results. Use the :DISK:DWIZard:FNAMe command to name the file and path. The file name extension is .zip. The default filename is DocumentationResults with the current date and an incremented index number appended:

DocumentationResults_<year>-<month>-<day>_<index>.zip

The default folder for saving images is the \Documentation Results user folder.

The following table lists the commands used to select specific items for saving in the documentation wizard file. The Document Wizard file can never include all the information listed in this table, as most options are only available under specific instrument settings or modes. For example, in TDR/TDR mode the Documentation Wizard never shows the option of saving Jitter mode's Jitter Window Data.

Multi-Purpose Button

To assign the saving of a documentation wizard file to the 86100D's front-panel Multi-Purpose button, use the :SYSTem:MPButton:FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Commands Used to Select Data to Save
Item Selected with Command | Instrument Mode | Saved in Zip File
Scope | Eye | TDR | Jitter
:SSCReen command
(Screen Capture) 		♦ ♦ ♦ ♦ Screen capture of entire display (Entire UI Screen Capture.png)
:SSETup command
(Instrument Setup) 		♦ ♦ ♦ ♦ Instrument state file (InstrumentSetup.setx)
:SSINfo command
(System Information) 		♦ ♦ ♦ ♦ System information shown in the Help > About dialog box (SystemInfo.txt)
Waveform Content Windows
:TIME:SDATa command
(Waveform Window Data) 		♦ ♦ ♦ ♦
  • Scope Mode: ASCII XY-value waveform files (example, Channel 1A (1A).txt)
  • Eye Mode: color-grade gray-scale database waveform files (example, Channel 1A (1A).cgsx)
  • Jitter Mode: color-grade gray-scale database waveform files (example, Channel 1A (1A).cgsx)
  • TDR Mode: ASCII XY-value waveform files for Ports (example, Port 1 (1A).txt)
  • All modes: screen capture of waveform content window (Waveform Window Screen Capture.png)
:T:OHMS:SDATa command
(Time-Ohms N Window Data) 		♦
  • T-parameter ASCII XY-value waveform file for each waveform displayed in a Time-Ohms waveform content window (example, T11 Ohms.txt)
  • Screen capture of waveform content window (Time-Ohms N Window Screen Capture.png)
:T:VOLtS:SDATa command
(Time-Volts N Window Data) 		♦
  • T-parameter ASCII XY-value waveform file for each waveform displayed in a Time-Volts waveform content window (example, T13 Volts.txt)
  • Screen capture of waveform content window (Time-Volts N Window Screen Capture.png)
:T:PERCent:SDATa command
(Time-% N Window Data) 		♦
  • T-parameter ASCII XY-value waveform file for each waveform displayed in a Time-% waveform content window (example, T21 Percent.txt)
  • Screen capture of waveform content window (Time-% N Window Screen Capture.png)
:MAGNitude:SDATa command
(Freq-Mag N Window Data) 		♦ ♦
  • FFT function output ASCII XY-value waveform file (example, FFT[1A] (F1).txt)
  • Screen capture of waveform content window (Freq-Mag N Window Screen Capture.png)
♦
  • S-parameter ASCII XY-value waveform file for each waveform displayed in a Freq-Mag waveform content window (example, S21 Magnitude.txt)
  • Screen capture of waveform content window (Freq-Mag N Window Screen Capture.png)
:PHASe:SDATa command
(Phase N Window Data) 		♦ ♦
  • FFT function output ASCII XY-value waveform file (example, FFT[1A] (F1).txt)
  • Screen capture of waveform content window (Phase N Window Screen Capture.png)
♦
  • S-parameter ASCII XY-value waveform file for each waveform displayed in a Phase waveform content window (example, S11 Phase.txt)
  • Screen capture of waveform content window (Phase N Window Screen Capture.png)
:GDELay:SDATa command
(GrpDelay N Window Data) 		♦ ♦
  • FFT function output ASCII XY-value waveform file (example, FFT[1A] (F1).txt)
  • Screen capture of waveform content window (GrpDelay N Window Screen Capture.png)
♦
  • S-parameter ASCII XY-value waveform file for each waveform displayed in a GrpDelay waveform content window (example, S11 Delay.txt)
  • Screen capture of waveform content window (GrpDelay N Window Screen Capture.png)
:SSParam command
(S-Parameters) 		♦ Touchstone S-parameter file for a DUT setup (example, DUT N S-Parameters.s2p)
Jitter Mode
:JGRaphs:SDATa command
(Graphs Window Data) 		♦
  • Jitter database file (JitterDatabase.jdx). Can be loaded into jitter memory.
  • Screen capture of jitter graphs (Graphs Window Screen Capture.png)
:JITTer:SDATa command
(Jitter Window Data) 		♦
  • Jitter results table in a comma-delimited ASCII file (Jitter Window Results.csv)
  • Screen capture of Jitter results table (Jitter Window Screen Capture.png)
:AMPLitude:SDATa command
(Amplitude Window Data) 		♦
  • Amplitude results table in a comma-delimited ASCII file (Amplitude Window Results.csv)
  • Screen capture of Amplitude results table (Amplitude Window Screen Capture.png)
Option JSA
:JSASpectrum:SDATa command
(JSA Spectrum Window Data) 		♦ ♦ ♦
  • JSA memory database (JSA Memory.jsax)
  • Screen capture of jitter spectrum window (JSA Spectrum Window Screen Capture.png)
:JSAResults:SDATa command
(JSA Results Window Data) 		♦ ♦ ♦
  • JSA results table in a comma delimited ASCII file (JSA Results Window Results.csv)
  • Screen capture of JSA results table (JSA Results Window Screen Capture.png)
General Purpose
:MARKers:SDATa command
(Markers Window Data) 		♦ ♦ ♦
  • Marker results table as comma-delimited ASCII file (Markers Window Results.csv)
  • Screen capture of waveform with markers (Markers Window Screen Capture.png).
:MTESt:SDATa command
(Mask Test Window Data) 		♦
  • Mask test results table in comma-delimited ASCII file (Mask Test Window Results.csv)
  • Screen capture of waveform with mask shown (Mask Test Screen Capture.png).
:HISTograms:SDATa command
(Histogram Window Data) 		♦ ♦ ♦
  • Histogram results table in comma-delimited ASCII file (Histograms Window Results.csv)
  • Screen capture of the waveform with histogram (Histograms Window Screen Capture.png)
:LLTResults:SDATa command
(Limit Line Window Data) 		♦ ♦
  • Limit Line results table in comma-delimited ASCII file (Limit Lines Window Results.csv)
  • Screen capture of waveform with limit lines shown (Limit Lines Screen Capture.png)
:RESults:SDATa command
(Results Window Data) 		♦ ♦
  • Measurement results table in comma-delimited ASCII file (Results Window Results.csv)
  • Screen capture of Results table (Results Window Screen Capture.png)

Example

:DISK:DWIZard:SSCReen ON
:DISK:DWIZard:SSETup ON
:DISK:DWIZard:SSINfo OFF
:DISK:DWIZard:RESults:SDATa ON
:DISK:DWIZard:FNAMe "%USER_DATA_DIR%\Documentation Results\DocumentationResults_PAM4.zip"
:DISK:DWIZard:SAVe
*OPC?


:DISK:DWIZard:SSCReen

Command Syntax

:DISK:DWIZard:SSCReen {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add a screen capture of the entire FlexDCA display (Entire UI Screen Capture.png).

Note

If a displayed dialog box is outside FlexDCA's window, it will not be included in the screen image capture. Use the Windows Print Screen function instead.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:SSCReen?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:SSETup

Command Syntax

:DISK:DWIZard:SSETup {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add an Instrument state file (InstrumentSetup.setx).

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:SSETup?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:SSINfo

Command Syntax

:DISK:DWIZard:SSINfo {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the system information that is shown in the Help > About dialog box (SystemInfo.txt).

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:SSINfo?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:SSParam

Command Syntax

:DISK:DWIZard:SSParam {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add Touchstone S-parameter files for a TDR DUT setup (example, DUT N S-Parameters.s2p). The instrument must be in TDR mode (:SYSTem:MODE).

Touchstone files can be imported into Keysight's Physical Layer Test Systems (PLTS) for further analysis. S-parameters cannot be imported back into TDR mode. However, S-parameters can be imported into the following FlexDCA Waveform Signal Processing operators:

  • Apply s2p (:SPRocess:CONVolve:FNAMe)
  • Apply s4p (:SPRocess:DCONvolve:FNAMe)
  • Remove s2p (:SPRocess:DEConvolve:FNAMe)
  • Remove s4p (:SPRocess:DDEConvolve:FNAMe)

These operators are used to transform measured waveforms to compensate for the effects of various test-setup devices.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:SSParam?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:T:OHMS:SDATa

:DISK:DWIZard:T:OHMS{1:4}:SDATa

Command Syntax

:DISK:DWIZard:T:OHMS{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add a data file for each displayed T-parameter waveform in any Time-Ohms waveform content windows. These are ASCII XY-value waveform files and one file is saved for each displayed waveform (for example, T11 Ohms.txt). A screen capture of the Time-Ohms waveform content window is also saved (Time-Ohms N Window Screen Capture.png). TDR mode (:SYSTem:MODE) must be selected.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:T:OHMS:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:DISK:DWIZard:T:PERCent:SDATa

:DISK:DWIZard:T:PERCent{1:4}:SDATa

Command Syntax

:DISK:DWIZard:T:PERCent{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add a data file for each displayed T-parameter waveform in any Time-% waveform content windows. These are ASCII XY-value waveform files and one file is saved for each displayed waveform (for example, T21 Percent.txt). A screen capture of the Time-% waveform content window is also saved (Time-% N Window Screen Capture.png). TDR mode (:SYSTem:MODE) must be selected.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:T:PERCent:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:DISK:DWIZard:T:VOLTs:SDATa

:DISK:DWIZard:T:VOLTs{1:4}:SDATa

Command Syntax

:DISK:DWIZard:T:VOLTs{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add a data file for each displayed T-parameter waveform in any Time-Volts waveform content windows. These are ASCII XY-value waveform files and one file is saved for each displayed waveform (for example, T11 Volts.txt). A screen capture of the Time-Volts waveform content window is also saved (Time-Volts N Window Screen Capture.png). TDR mode (:SYSTem:MODE) must be selected.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:T:VOLTs:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:DISK:DWIZard:TIME:SDATa

:DISK:DWIZard:TIME{1}:SDATa

Command Syntax

:DISK:DWIZard:TIME{1}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add the following waveform data files associated with the Waveform content window:

  • Scope Mode: ASCII XY-value waveform files (example, Channel 1A (1A).txt)
  • Eye Mode: color-grade gray-scale database waveform files (example, Channel 1A (1A).cgsx)
  • Jitter Mode: color-grade gray-scale database waveform files (example, Channel 1A (1A).cgsx)
  • TDR Mode: ASCII XY-value waveform files for Ports (example, Port 1 (1A).txt)

For all instrument modes, a screen capture of the waveform content window is also saved (Waveform Window Screen Capture.png). The Waveform content window is the default window for viewing most waveforms.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:TIME:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:EYE:FNAMe

Command Syntax

:DISK:EYE:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

Query Syntax

:DISK:EYE:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name, path, and extension as the target for the :DISK:EYE:SAVE and :DISK:EYE:RECall commands. The files use a .cgsx file extension and by default are saved in %USER_DATA_DIR%\Colorgrade-Grayscale.


:DISK:EYE:RECall

Command Syntax

:DISK:EYE:RECall

Description

Loads a color grade-gray scale file into one of eight waveform memory locations or into jitter memory as specified by the :DISK:EYE:RECall:DESTination command to select the waveform memory. Use the :DISK:EYE:FNAMe command to specify the file to load.


:DISK:EYE:RECall:DESTination

Command Syntax

:DISK:EYE:RECall:DESTination {CGMemory1 | CGMemory2 | CGMemory3 | CGMemory4 | CGMemory5 | CGMemory6 | CGMemory7 | CGMemory8}

Query Syntax

:DISK:EYE:RECall:DESTination?

Description

In Eye/Mask, selects one of eight eye memory locations to load a color grade-gray scale file. Use the :DISK:EYE:RECall parent command to actually load the file into the indicated memory.


:DISK:EYE:SAVE

Command Syntax

:DISK:EYE:SAVE

Description

In Eye/Mask Mode, saves a color grade-gray scale source to a file (.cgsx). Use the :DISK:EYE:FNAMe command to specify the filename. Specify the source waveform using the :DISK:EYE:SAVE:SOURce command. Load this color grade-gray scale file into one of FlexDCA's eight eye memories using the :DISK:EYE:RECall command.


:DISK:EYE:SAVE:SOURce

Command Syntax

:DISK:EYE:SAVE:SOURce {CHANnel{N} | DIFF{1:4} | FUNCtion{1:16} | CGMemory1{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:DISK:EYE:SAVE:SOURce?

Description

Selects the source for saving to a eye memory (color grade-gray scale memory) file. Use the :DISK:EYE:SAVE parent command to actually save the file.


:DISK:FILE:ASCii:READ?

Command Syntax

:DISK:FILE:ASCii:READ? "filename"

Description

Returns the requested text file. The file must be smaller than 256,000 characters. If the file does not contain text, the return string will be terminated at the first zero (0) values byte in the file. To return a binary file, use the :DISK:FILE:READ? command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

Example

This Python script (with PyVISA) tests if a specific limit-line file exists and prints the files contents on the console window. Click here to learn about controlling FlexDCA using Python.

# -*- coding: utf-8 -*-
"""
Checks is file exists and returns its size in bytes.
"""
import visa

rm = visa.ResourceManager()
FlexDCA = rm.open_resource("TCPIP0::localhost::hislip0::INSTR")

#Set Timeout - 10 seconds
FlexDCA.timeout =  10000
FlexDCA.read_termination = '\n'

filePath = '"%USER_DATA_DIR%\\Limit Lines\\TDR Filter S21.lltx"'
if FlexDCA.query(':DISK:FILE:EXISts? ' + filePath) == '1':
    print('File exists!')
    contents = FlexDCA.query(':DISK:FILE:ASCii:READ? ' + filePath)
    print('File contents:\n\n', contents)
else:
    print('File not found.')
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()


:DISK:FILE:EXISts?

Query Syntax

:DISK:FILE:EXISts? "filename"

User File Locations

  • Location of files
  • Path substitution variables

Description

Use this query to test if a file exists. Returns 1 if the file exists and 0 if the file does not exist.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

Example

This Python script (with PyVISA) tests if a specific screen image file exists and returns its size in bytes. Click here to learn about controlling FlexDCA using Python.

# -*- coding: utf-8 -*-
"""
Checks is file exists and returns its size in bytes.
"""
import visa

rm = visa.ResourceManager('C:\\Program Files (x86)\\IVI Foundation\\VISA\\WinNT\\agvisa\\agbin\\visa32.dll')
FlexDCA = rm.open_resource("TCPIP0::localhost::hislip0::INSTR")

#Set Timeout - 10 seconds
FlexDCA.timeout =  10000
FlexDCA.read_termination = '\n'

filePath = '"%USER_DATA_DIR%\\Screen Images\\screenimage.png"'
if FlexDCA.query(':DISK:FILE:EXISts? ' + filePath) == '1':
    print('File exists!')
    size = FlexDCA.query(':DISK:FILE:SIZE? ' + filePath)
    print('File is ' + size + ' bytes')
else:
    print('File not found.')
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()


:DISK:FILE:READ?

Command Syntax

:DISK:FILE:READ? "filename" <maximum buffer length>

Description

Returns the requested binary file in the definite-length block response data format, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes. A header is placed at the beginning of the data that indicates the number of data bytes. The header consists of a pound sign (#) followed by a non-zero digit that indicates the number of following digits that gives the quantity of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 3258 bytes of data, the syntax would be:

#43258<3258 bytes of data>

The leftmost character "4" represents the number of digits used to indicate the number of data bytes. In this example, 3258 represents the number of bytes to be transmitted. To return a text file, use the :DISK:FILE:ASCii:READ? command.

The optional <maximum buffer length> argument specifies the maximum number of bytes that can be returned. Use this argument when transferring large files and you are concerned about buffer overflow.

To write binary data to a FlexDCA file, use the :DISK:FILE:WRITe? command.

Endiannes of Returned Binary Data

Byte order can affect the ability of your programs to correctly interpret block data. The byte order, or endianness, of the returned block data is LSB (Least Significant Byte) first. In other words, the least significant byte sent first and the most significant byte sent last. This command is not affected by the :SYSTem:BORDer command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

Example

This Python script (with PyVISA) tests if a specific limit-line file exists and prints the files contents on the console window. Click here to learn about controlling FlexDCA using Python.

# -*- coding: utf-8 -*-
"""
Checks is file exists and returns its size in bytes.
"""
import visa

rm = visa.ResourceManager()
FlexDCA = rm.open_resource("TCPIP0::localhost::hislip0::INSTR")

#Set Timeout - 10 seconds
FlexDCA.timeout =  10000
FlexDCA.read_termination = '\n'

filePath = '"%USER_DATA_DIR%\\Screen Images\\screenimage.png"'
if FlexDCA.query(':DISK:FILE:EXISts? ' + filePath) == '1':
    print('\n\nFile exists!')
    FlexDCA.write(':DISK:FILE:READ? ' + filePath)
    data_in = FlexDCA.read_raw()
    # locate and remove definite-length block header bytes
    startpos=data_in.find('#'.encode('utf-8'))
    if startpos < 0:
        print('\nInvalid binary block data!')
        raise IOError("No start of block found")
    DataLenDigit = int(data_in[startpos+1:startpos+2]) # get data length digit
    # If it's a definite length binary block
    if DataLenDigit > 0:
        # Get the length from the header
        print('\n\tFile: Definite length binary block')
        print('\n\tRemoving file header.\n\t' + 40 * '_' + '\n')
        offset = startpos + 2 + DataLenDigit
        fout = open('C:\\Users\\Public\\screenimage.png', 'wb')
        fout.write(data_in[offset:])
        fout.close()
        print('File saved:\n\n\tC:\\Users\\Public\\screenimage.png')
    else:
        # If it's an indefinite length binary block get the length from the transfer itself
        print('\n\tFile: Indefinite length binary block\n\t' + 40 * '_' + '\n')
        offset = startpos+2
        fout = open('C:\\Users\\Public\\screenimage.png', 'wb')
        fout.write(data_in[offset:])
        fout.close()
else:
    print('File not found.')
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()


:DISK:FILE:SIZE?

Query Syntax

:DISK:FILE:SIZE? "filename"

User File Locations

  • Location of files
  • Path substitution variables

Description

Returns the size of a file in bytes. To determine if a file exists, use the :DISK:FILE:EXISTs? query. If file does not exists, -1 is returned.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

Example

This Python script (with PyVISA) tests if a specific screen image file exists and returns its size in bytes. Click here to learn about controlling FlexDCA using Python.

# -*- coding: utf-8 -*-
"""
Checks is file exists and returns its size in bytes.
"""
import visa

rm = visa.ResourceManager('C:\\Program Files (x86)\\IVI Foundation\\VISA\\WinNT\\agvisa\\agbin\\visa32.dll')
FlexDCA = rm.open_resource("TCPIP0::localhost::hislip0::INSTR")

#Set Timeout - 10 seconds
FlexDCA.timeout =  10000
FlexDCA.read_termination = '\n'

filePath = '"%USER_DATA_DIR%\\Screen Images\\screenimage.png"'
if FlexDCA.query(':DISK:FILE:EXISts? ' + filePath) == '1':
    print('File exists!')
    size = FlexDCA.query(':DISK:FILE:SIZE? ' + filePath)
    print('File is ' + size + ' bytes')
else:
    print('File not found.')
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()


:DISK:FILE:WRITe?

Command Syntax

:DISK:FILE:WRITe? "filename",  <binary_data>

Description

Sends binary data to FlexDCA's file system. The data is sent in the definite-length block response data format, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes. A header is placed at the beginning of the data that indicates the number of data bytes. The header consists of a pound sign (#) followed by a non-zero digit that indicates the number of following digits that gives the quantity of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 3258 bytes of data, the syntax would be:

To return binary data from a file on FlexDCA's file system, use the :DISK:FILE:READ? command. To return a text file, use the :DISK:FILE:ASCii:READ? command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:DISK:JDATabase:FFORmat

Command Syntax

:DISK:JDATabase:FFORmat {TEXT | INTernal}

Query Syntax

:DISK:JDATabase:FFORmat?

Description

Sets the format for saving jitter database files. Use the :DISK:JDATabase:SAVE command to actually save the database to the file.

INTernal
Internal-format database files (.jdx) are XML files comprised of an ASCII XML elements and binary waveform data, as shown in the following example file.
TEXT
Selects a text database file format with comma-separated values. In this formate, the data is listed as ASCII text rather than binary, as shown in the following example file.

Example Internal Format File (.jdx)

<?xml version="1.0" encoding="utf-8"?>
<DcaFile>
  <Header>
    <FileType>JitterDataInternal</FileType>
    <Revision>1</Revision>
    <Instrument>N1010A</Instrument>
    <SwVersion>A.01.60</SwVersion>
    <SerialNumber>sn XXXXX</SerialNumber>
    <Date>09/08/2011 08:33:33</Date>
  </Header>
  <JitterSignalProcessing>Off</JitterSignalProcessing>
  <Pattern>
    <SignalType>Data</SignalType>
    <PatternLength>127</PatternLength>
    <NumBitsNeeded>0</NumBitsNeeded>
    <VOne>0.2543953683035714</VOne>
    <VZero>-0.25439122924804691</VZero>
    <BitPeriod>1.0046939300411523E-10</BitPeriod>
    <CenterOfFirstBit>1.1124999999999999E-10</CenterOfFirstBit>
    <AmplitudeMeasurementTime>1.1124999999999999E-10</AmplitudeMeasurementTime>
    <LongestCID>0</LongestCID>
    <TotalTriggerDivideRatio>1</TotalTriggerDivideRatio>
    <ExternalTriggerDivideRatio>1</ExternalTriggerDivideRatio>
    <Status />
    <BitPattern Lengths="127">binary data</BitPattern>
  </Pattern>
…
…
…
…
</DcaFile>

Example TEXT Format File (.csv)

File Format, JitterDataCsv
Format Version, 1
Instrument, N1010A
SwVersion, A.01.60
SerialNumber, sn XXXXX
Date, 09/08/2011 08:13:57

Source, Channel1A
Module ID,
Module Serial Number,
Sampler Bandwidth, 10.0 GHz
Bit Rate, 9953280000(b/s)
Trigger Divide Ratio, 1:1
Pattern Length, 127
Edge Type, Both Edges
Jitter Measurement Units, Second
Signal Type, Data
Amplitude Measurement Units, Volt

Measurement Results,
Measurement, Value, Uncertainty
TJ (1.0E-12),1.417837E-11,4.959452E-15
DJ (dual dirac),2.343289E-13,4.710793E-15
RJ (rms),1.015594E-12,1.428947E-16
Pj (dual dirac),0,8.831634E-16
DDJ (p-p),8.036748E-14,4.557992E-15
DCD,2.825419E-15,8.061495E-16
PJ (rms),0,1.428947E-16
ISI-J (p-p),8.036748E-14,4.557992E-15

RJ PJ Histogram,
Edge Type,Both Edges
Total Samples,50724864
Edge Deviation,Number Hits
-5.482468E-12, 3
-5.366739E-12, 7
-5.251010E-12, 7
-5.135281E-12, 5
…
…
…
…


:DISK:JDATabase:FNAMe

Command Syntax

:DISK:JDATabase:FNAMe "filename"

This command supports the DEFault common child command.

Query Syntax

:DISK:JDATabase:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the filename, path, and extension as the target for the :DISK:JDATabase:SAVE and :DISK:JDATabase:RECall commands. The files use a .jdx file extension and by default are saved in the %USER_DATA_DIR%\Jitter Data folder.


:DISK:JDATabase:RECall

Command Syntax

:DISK:JDATabase:RECall

Description

Loads a jitter database file into FlexDCA's one available jitter database location. Use the :DISK:JDATabase:FNAMe command to specify the file to load. Since there is only one jitter database location, the :DISK:JDATabase:RECall:DESTination command always points to JMEM1.


:DISK:JDATabase:RECall:DESTination

Command Syntax

:DISK:JDATabase:RECall:DESTination JMEMory1

Query Syntax

:DISK:JDATabase:RECall:DESTination?

Description

Selects the target jitter database location to load a waveform memory file. Since there is only one jitter database location, the only valid argument for this command is JMEMory1. Use the :DISK:JDATabase:RECall command to actually load the file into the jitter database.


:DISK:JDATabase:SAVE

Command Syntax

:DISK:JDATabase:SAVE

Description

In Jitter Mode, saves the jitter database to a file. Use the :DISK:JDATabase:FNAMe command to specify the filename. Since there is only one jitter database, you do not need to specify a database source. The jitter database can be saved in one of two formats using the :DISK:JDATabase:FFORmat command. To load the jitter database file back into FlexDCA, use the :DISK:JDATabase:RECall command.


:DISK:JSANalysis:FNAMe

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Command Syntax

:DISK:JSANalysis:FNAMe "filename"

Query Syntax

:DISK:JSANalysis:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the filename, path, and extension as the target for the :DISK:JSANalysis:SAVE and :DISK:JSANalysis:RECall commands. The files use a .jsax file extension and by default are saved in the %USER_DATA_DIR%\Jitter Data folder.

Requires FlexDCA revision A.02.50 and above.


:DISK:JSANalysis:RECall

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Command Syntax

:DISK:JSANalysis:RECall

Description

Loads a Jitter Spectrum Analysis (JSA) database file into FlexDCA's one available JSA memory. Use the :DISK:JSANalysis:FNAMe command to specify the file to load. Since there is only one JSA memory, the :DISK:JSANalysis:RECall:DESTination command always points to CRAMemory.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:DISK:JSANalysis:RECall:DESTination

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Command Syntax

:DISK:JSANalysis:RECall:DESTination CRAMemory

Query Syntax

:DISK:JSANalysis:RECall:DESTination?

Description

Selects the target Jitter Spectrum Analysis (JSA) memory location to load a waveform memory file. Since there is only one JSA memory location, the only valid argument for this command is CRAMemory. Use the :DISK:JSANalysis:RECall command to actually load the file into the jitter database.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:DISK:JSANalysis:SAVE

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Command Syntax

:DISK:JSANalysis:SAVE

Description

Saves the Jitter Spectrum Analysis (JSA) database to a file. Use the :DISK:JSANalysis:FNAMe command to specify the filename. Since there is only one JSA database, you do not need to specify a database source. To load the JSA file back into FlexDCA, use the :DISK:JSANalysis:RECall command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:DISK:SETup:RECall

Command Syntax

:DISK:SETup:RECall "filename"

Description

Loads the indicated setup file. Use the :DISK:SETup:SAVe command to save a setup file. The files use a .setx file extension and by default are saved in the %USER_DATA_DIR%\Setups folder. The extended module configuration settings are always saved with an instrument state file (:DISK:SETup:SAVe command). When opening an instrument state file, use the :SETup:RECall:HCONfig command to select whether to import the extended module configuration settings.

Multi-Purpose Button

To assign the loading of an instrument setup file to the 86100D's front-panel Multi-Purpose button, use the :SYSTem:MPButton:FUNCtion command.

Location of \Setups Folder
FlexDCA Running Embedded on 86100D | N1010A Running on Windows 7 PC


:DISK:SETup:RECall:HCONfig

Command Syntax

:DISK:SETup:RECall:HCONfig {ON | OFF}

Query Syntax

:DISK:SETup:RECall:HCONfig?

Description

Enables or disables the loading of extended module configurations when an instrument setup is recalled using the :DISK:SETup:RECall command. Extended module configurations are always saved with an instrument state file.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:DISK:SETup:SAVE

Command Syntax

:DISK:SETup:SAVE "filename.setx"

Description

Saves a FlexDCA instrument setup file with the indicted filename (.setx). Setup files can be reloaded into FlexDCA using the :DISK:SETup:RECall command. The setup file restores the FlexDCA's settings to those in place at the time that the file was saved. When you save a setup, all the FlexDCA's settings are saved to the file you have selected, including:

  • Type of measurements currently running
  • Markers (if used)
  • Horizontal and vertical settings
  • Trigger configuration
  • Display setup
  • Waveform signal processing functions. (:SPRocess subsystem)
  • Fixture Deskew data, if saved at the end of the deskew procedure. (:TIMebase:DESKew:FIXTure command)
  • Extended module configuration. (:EMODules subsystem)
  • TDR mode's TDR Setups
  • TDR mode's Fixture Deembedding Setups and Fixture Components

The files by default are saved in the \Setups.

Location of \Setups Folder
FlexDCA Running Embedded on 86100D | N1010A Running on Windows 7 PC

Note

Setup files must have the extension, .setx. If you do not specify an extension or use a different extension, FlexDCA may not recognize the file as a setup file and you may have trouble saving or finding the setup file.

Note

Be sure to save an FlexDCA setup file when saving jitter data or color grade-gray scale memory files. This is because horizontal scale and delay information are not saved in jitter data or color grade-gray scale memory files. If you plan on loading these memory files back into the FlexDCA, you will also need to load the associated FlexDCA setup file.

Note

FlexDCA maintains its current settings in a system file, which is not the same as a setup file. To ensure that the settings are correctly saved, close the FlexDCA application from the File menu using the Exit command.


:DISK:SIMage:FNAMe

User File Locations

  • Location of files
  • Path substitution variables

Command Syntax

:DISK:SIMage:FNAMe "filename"

Query Syntax

:DISK:SIMage:FNAMe?

Description

Specifies the filename (including path and filename extension) for saving a screen capture file with the :DISK:SIMage:SAVE command. The default folder for storing image files is in %USER_DATA_DIR%\Screen Images. You can make use of path substitution variables in the filename string.

The filename extension that you give the file determines the format of the graphics file. The following graphics formats are available:

.bmp
Bitmap, or .bmp, (a 24-bit color bitmap file format) is typically used for storing bit mapped graphic files.
.png
Portable Network Graphics format.
.jpg
This 24-bit color Joint Photographic Experts Group file graphics format can be highly compressed. This compression can result in permanent loss of image quality. The application uses the .jpg software written by the Independent JPEG Group.
.gif
Graphics Interchange File format, .gif, is a standard graphics format (256 color) used to store bit mapped graphic files. For .gif files, this application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability
.tif
The 256 color Tag Image File format (.tif) is a format of choice for storing master copies. It provides better quality, but larger files. This format is widely supported across platforms (PC, Mac, UNIX). This application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.


:DISK:SIMage:IMETadata

Command Syntax

:DISK:SIMage:IMETadata {ON | OFF}

Query Syntax

:DISK:SIMage:IMETadata?

Description

Turns on and off the inclusion of metadata when saving a screen image file. Saving metadata only applies to screen captures that are saved as jpg or tiff files. To view or edit the metadata placed in your screen image file, you can right click on the file in Window's File Explorer and from the shortcut menu select Properties. In the Properties dialog box, click the Details tab as shown in this picture. To edit the metadata fields for your image, click on the Value entree shown on the dialog box. The following table lists the metadata fields that FlexDCA populates. The query form of the command returns the current setting.

Metadata Added to Screen Captures
Metadata Field | Value Examples
Subject | Screen Capture
Comments | 86100D (S/N USXXXXXXXX) Modules: Slot 1 Module(86108B LBW,232,300,400,JSA) (MYXXXXXXXX)
Date taken | 7/10/2015 4:32 PM
Program name | FlexDCA (A.05.00.000)
Camera maker | Keysight Technologies
Camera model | FlexDCA (A.05.00.000)
Name | ScreenCapture.jpg

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:DISK:SIMage:INVert

Command Syntax

:DISK:SIMage:INVert {ON | OFF}

Query Syntax

:DISK:SIMage:INVert?

Query Response

{1 | 0}

Description

Turns on and off the inversion the graticule area's background color. When on, an inverted image will be captured and saved into a file by the :DISK:SIMage:FNAMe command. The entire application window is saved with the graticule black upon a white background. The waveform colors remain unchanged. When printing a hard copy of the waveform, combine this command with the :DISK:SIMage:WINDow command (graticule only) to save ink or toner.


:DISK:SIMage:MONochrome

Command Syntax

:DISK:SIMage:MONochrome {ON | OFF | 1 | 0}

Query Syntax

:DISK:SIMage:MONochrome?

Query Response

{1 | 0}

Description

Turns monochrome screen capture on and off. When on, a black and white image will be captured and saved into a file by the :DISK:SIMage:FNAMe command. Selecting monochrome automatically inverts the graticule area's background color.


:DISK:SIMage:SAVE

Command Syntax

:DISK:SIMage:SAVE

Description

Performs a screen capture of the FlexDCA window and saves the image to the file specified using the :DISK:SIMage:FNAMe command. The file name extension determines the graphic format: .bmp, .png, .jpg, .gif, or .tif. The example located at the end of this topic shows how to return the image file to a computer.

Note

If a displayed dialog box is outside FlexDCA's window, it will not be included in the screen image capture. Use the Windows Print Screen function instead.

Multi-Purpose Button

To assign the saving of a screen image file to the 86100D's front-panel Multi-Purpose button, use the :SYSTem:MPButton:FUNCtion command.

Several screen-capture options can be selected using the following child commands:

  • Include in screen capture. (:DISK:SIMage:WINDow) Selects to save the entire display or a waveform content window: Waveform, Magnitude, Phase, or Delay. If a waveform content window is selected, use :DISK:SIMage:SINClude to select a particular waveform within the selected window. The menu bar, toolbars, tables, and status bar are not included in the image file. In Jitter Mode, the waveform and graticule are saved as if the Graph panel was closed; jitter result graphs are not included. Any dialog boxes open and positioned over the viewing area are not saved in the file.
  • Monochrome. (:DISK:SIMage:MONochrome) Saves the screen as a black and white image. This selection automatically selects inverts the graticule area's background color.
  • Invert Graticule Area Background Color. (:DISK:SIMage:INVert) Saves the entire application window but colors the graticule black and the graticule background white. The waveform colors remain unchanged. If combined with Include in screen capture, this option is especially useful when printing a hard copy of the waveform as it saves ink or toner.
  • Include or Exclude Measurement Annotations. (:MEASure:ANNotations:STATe) Turns on or off the display of measurement annotations on the displayed waveform and any screen capture.

Example

This example shows how to save a screen capture to a file that is located on the 86100D's hard drive and then return the file to a computer.

:DISK:SIM:FNAM "D:\User Files\Screen Images\filename.jpg"
:DISK:SIM:SAVE
:DISK:BFILE? "D:\User Files\Screen Images\filename.jpg"


:DISK:SIMage:SINClude

Command Syntax

:DISK:SIMage:SINClude {CHANnel{N} | FUNCtion{1:16} | WMEMory{1:4} | CGMemroy{1:4} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:DISK:SIMage:SINClude?

Description

Selects one and only one of any displayed waveforms to be included on a saved image file. By default, all waveforms visible on the display are saved in the screen capture. However, when you select one waveform using this command, all other waveform's will be hidden except for their ground marker ( [image] ), which are shown on the screen's right side. Including these markers serves as a reminder that other waveforms were present on the display.


:DISK:SIMage:WINDow

Command Syntax

:DISK:SIMage:WINDow {DISPlay | TIME1 | GDELay{1:4} | MAGNitude{1:4} | PHASe{1:4}}

Query Syntax

:DISK:SIMage:WINDow?

Description

Selects to save the entire display, including items such as menu bar and toolbars. Or, a specific waveform content window: Waveform, Magnitude, Phase, or Delay. If a waveform content window is selected, use :DISK:SIMage:SINClude to select the which content window waveforms to include in the screen capture. In Jitter Mode, the waveform and graticule are saved as if the Graph panel was closed; jitter result graphs are not included. Any dialog boxes open and positioned over the viewing area are not saved in the file.

Command Arguments and Captured Content Windows
Argument | Displayed Waveform Content Window
DISPlay | The entire display including the currently displayed waveform content window.
TIMe{1} | Waveform
GDELay{1:4} | Delay
MAGNitude{1:4} | Magnitude
PHASe{1:4} | Phase

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISK:SPARameter:DSDifferenti

Command Syntax

:DISK:SPARameter:DSDifferenti {ON | OFF}

Query Syntax

:DISK:SPARameter:DSDifferenti?

Description

For symmetrical DUTs, allows S-parameter data to be mathematically derived from other S-parameters based on differential DUT symmetry relationships. DUT symmetries give you the ability to fill in the entire 4 data fields for two-port device after measuring only two S-parameters. Or, the ability to fill in the entire 16 data fields for a four-port device after measuring only four S-parameters. Use this feature, for example, in situations when it is not possible to measure some S-parameters but you can assume device behavior.

To derive S-parameters based on input/output DUT symmetry relationships, use the :DISK:SPARameter:DSIoutput command.

To derive S-parameters based on reciprocal DUT symmetry relationships, use the :DISK:SPARameter:DSReciprocal command.

  • More information on DUT symmetries from a user-interface perspective.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISK:SPARameter:DSIoutput

Command Syntax

:DISK:SPARameter:DSIoutput {ON | OFF}

Query Syntax

:DISK:SPARameter:DSIoutput?

Description

For symmetrical DUTs, allows S-parameter data to be mathematically derived from other S-parameters based on input/output DUT symmetry relationships. DUT symmetries give you the ability to fill in the entire 4 data fields for two-port device after measuring only two S-parameters. Or, the ability to fill in the entire 16 data fields for a four-port device after measuring only four S-parameters. Use this feature, for example, in situations when it is not possible to measure some S-parameters but you can assume device behavior.

To derive S-parameters based on reciprocal DUT symmetry relationships, use the :DISK:SPARameter:DSReciprocal command.

To derive S-parameters based on differential DUT symmetry relationships, use the :DISK:SPARameter:DSDiff command.

  • More information on DUT symmetries from a user-interface perspective.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISK:SPARameter:DSReciprocal

Command Syntax

:DISK:SPARameter:DSReciprocal {ON | OFF}

Query Syntax

:DISK:SPARameter:DSReciprocal?

Description

For symmetrical DUTs, allows S-parameter data to be mathematically derived from other S-parameters based on reciprocal DUT symmetry relationships. DUT symmetries give you the ability to fill in the entire 4 data fields for two-port device after measuring only two S-parameters. Or, the ability to fill in the entire 16 data fields for a four-port device after measuring only four S-parameters. Use this feature, for example, in situations when it is not possible to measure some S-parameters but you can assume device behavior.

To derive S-parameters based on input/output DUT symmetry relationships, use the :DISK:SPARameter:DSIoutput command.

To derive S-parameters based on differential DUT symmetry relationships, use the :DISK:SPARameter:DSDiff command.

  • More information on DUT symmetries from a user-interface perspective.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISK:SPARameter:DUT

Command Syntax

:DISK:SPARameter:DUT {DUT{1:16} | SPMemory{1:4}}

Query Syntax

:DISK:SPARameter:DUT?

Description

In TDR/TDT, Eye/Mask, and Oscilloscope modes, specifies the source for saving S-parameters. The source can be an S-parameter memory or S-parameters from a TDR DUT setup (TDR/TDT mode only). The S-parameters are saved to a Touchstone file. Up to four S-parameter memories are available. Up to 16 DUT setups can be created in TDR mode using the :TDR:DUT:ENABle command. Use the :DISK:SPARameter:SAVE command to save the file.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISK:SPARameter:EADifferenti

Command Syntax

:DISK:SPARameter:EADifferenti {ON | OFF}

Query Syntax

:DISK:SPARameter:EADifferenti?

Description

When exporting S-parameters to a Touchstone file, use this command to specify that differential S-parameters are exported. This results in a Touchstone 2.0 file. The ON argument selects differential export and the OFF argument turns off differential export.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:DISK:SPARameter:FNAMe

User File Locations

  • Location of files
  • Path substitution variables

Command Syntax

:DISK:SPARameter:FNAMe "filename"

Query Syntax

:DISK:SPARameter:FNAMe?

Description

In TDR/TDT, Eye/Mask, and Oscilloscope modes, specifies a filename (including path) for saving S-parameters. The default folder is %USER_DATA_DIR%\S-Parameter Data. Use the :DISK:SPARameter:SAVE command to actually save the file. If the file already exists, use the :DISK:SPARameter:FWBehavior command to specify if existing S-parameter data in the file is handled. Use the query to determine the default S-parameter filename which is suggested based on the number of DUT ports.

Export File Types
File Type | Description
.s1p | One-port single-ended device data (S11 or S22)
.s2p | Two-port single-ended device data (S11, S21, S22, S12)
.s4p | Four-port single-ended device data
.txt | Identical to the .s1p file type except for the .txt filename extension.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISK:SPARameter:FWBehavior

Command Syntax

:DISK:SPARameter:FWBehavior {REPLace | MODify}

Query Syntax

:DISK:SPARameter:FWBehavior?

Description

Selects the file-writing behavior when saving TDR mode's S-parameter data to an existing Touchstone file. Use the :DISK:SPARameter:SAVE command to save the file.

REPLace
Always overwrites all S-parameters in the file. S-parameters that you are currently saving will always overwrite any S-parameters already in the file. This selection can remove S-parameter data from a file. For example, if the file already contains S21 data and you are not currently saving S21 data, the S21 data in the file will be erased.
MODify
Protects any existing S-parameters in the file, unless new data is available to overwrite it. S-parameters that you are currently saving will always overwrite any S-parameters already in the file.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISK:SPARameter:LFName

User File Locations

  • Location of files
  • Path substitution variables

Command Syntax

:DISK:SPARameter:LFName "filename"

"filename" is a string. This command supports the DEFault common child command.

Query Syntax

:DISK:SPARameter:LFName?

Description

In TDR/TDT, Oscilloscope, or Eye/Mask modes, specifies the file (name, path, and extension) for recalling S-parameters into S-parameter memory. The default source folder is %USER_DATA_DIR%\S-Parameter Data. Use the :DISK:SPARameter:RECall command to actually load the file into memory. Use the query to determine the default S-parameter filename which is suggested based on the number of DUT ports.

Import File Types
File Type | Description
.ts2 | Touchstone 2 file. Single-ended and differential data
.s1p | Touchstone 1 file. One-port single-ended device data (S11 or S22)
.s2p | Touchstone 1 file. Two-port single-ended device data (S11, S21, S22, S12)
.s4p | Touchstone 1 file. Four-port single-ended device data
.s8p | Touchstone 1 file. Eight-port single-ended device data
.s12p | Touchstone 1 file. Twelve-port single-ended device data
.s16p | Touchstone 1 file. Sixteen-port single-ended device data
.txt | Identical to the .s1p file type except for the .txt filename extension.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:DISK:SPARameter:PSET

Command Syntax

:DISK:SPARameter:PSET  {<parameter>,<parameter>,<parameter>,… }

The <parameter> argument is an S-parameter identified using an underscore (_) character between the port numbers. For example, the S21 parameter would be sent as S2_1. Multiple S-parameters are sent as a comma-separated list.

Query Syntax

:DISK:SPARameter:PSET?

Query Response

{NONE | {<parameter>,<parameter>,<parameter>,…} }

Description

In TDR/TDT Mode, specifies a set of S-parameters to save to a Touchstone file when the :DISK:SPARamter:SAVE command is used. This is shown in the example in this topic. Any parameters sent using this command replaces any previously specified set of S-parameters; the new set does not append to the current set. A query returns the list of S-parameters. If a list has never been entered, the query returns NONE.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:DISK:SPARameter:DUT DUT1
:DISK:SPARameter:PSET S1_1, S2_1, S3_1, S4_1
:DISK:SPARameter:FNAMe "C:\Users\<user>\Documents\Keysight\FlexDCA\S-Parameter Data\SParameter_Test.s4p"
:DISK:SPARameter:SAVE


:DISK:SPARameter:RECall

Command Syntax

:DISK:SPARameter:RECall

Description

Loads an S-parameter file into the destination S-parameter memory. To select the destination S-parameter memory, use the :DISK:SPARameter:RECall:DESTination command. To specify the S-parameter file, use the :DISK:SPARameter:LFName command. All S-parameters contained in the file will be loaded into the S-parameter memory. The default folder for S-parameter files is %USER_DATA_DIR%\S-Parameter Data. S-parameter memory is available in TDR/TDT, Eye/Mask, and Oscilloscope modes. It is not available in Jitter mode.

To load into memory all currently available S-parameters from another S-parameter memory or from a DUT in TDT/TDT mode, use the :TDR:SPMemory:LOAD command.

Frequency Spacing

When importing S-parameters from a file, the frequency spacing in the file must be uniform or the file will not be loaded into memory.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Example Command Sequence

  //  Load S-parameters in Touchstone file into memory 1.
:DISK:SPARameter:LFName dut_response.s2p  //  Select S-parameter file.
:DISK:SPARameter:RECall:DESTination SPMemory1  //  Select memory 1.
:DISK:SPARameter:RECall  //  Load the file data into memory 1.

  //  Load DUT 2 S-parameters into memory 2.
:TDR:SPMemory2:SOURce DUT2  //  Select DUT2 for memory 2.
:TDR:SPMemory2:LOAD  //  Load the data into memory 2.

  //  View S11 from memory 1 on trace 3.
:TRACe3:DUT SPMemory1  //  Select memory 1 as source for trace 3.
:TRACe3:PARameter S1_1  //  Select S-parameter.
:TRACe3:OPERator MAGNitude
:TRACe3:CWINdow MAGNitude1  //  Select one of 4 Freq-Mag content windows.
:TRACe3:COLor TCOLor3
:TRACe3:DISPlay ON

  //  View S11 from memory 2 on trace 4.
:TRACe4:DUT SPMemory2  //  Select memory 2 as source for trace 4.
:TRACe4:PARameter S1_1  //  Select S-parameter.
:TRACe4:OPERator MAGNitude
:TRACe4:CWINdow MAGNitude1
:TRACe3:COLor TCOLor6
:TRACe4:DISPlay ON


:DISK:SPARameter:RECall:DESTination

Command Syntax

:DISK:SPARameter:RECall:DESTination {SPMemory1 | SPMemory2 | SPMemory3 | SPMemory4}

Query Syntax

:DISK:SPARameter:RECall:DESTination?

Description

Selects one of four S-parameter memories to load an S-parameter file. Use the :DISK:SPARameter:RECall command to actually load the data.

The query form of the command returns the currently selected memory location.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Example Command Sequence

:DISK:SPARameter:LFName dut_response.s2p  //  Select existing S-parameter file.
:DISK:SPARameter:RECall:DESTination SPMemory2  //  Select S-parameter memory 2.
:DISK:SPARameter:RECall  //  Load the file data into memory 2.


:DISK:SPARameter:SAVE

Command Syntax

:DISK:SPARameter:SAVE

Description

In TDR/TDT, Eye/Mask, and Oscilloscope modes, saves S-parameters to a Touchstone file. Use the :DISK:SPARameter:FNAMe command to specify the filename. Use the :DISK:SPARameter:DUT command to specify the DUT. Use the :DISK:SPARameter:PSET command to select the S-parameters to save.

Touchstone files can be imported into Keysight's Physical Layer Test Systems (PLTS) for further analysis. S-parameters cannot be imported back into TDR mode. However, S-parameters can be imported into the following FlexDCA Waveform Signal Processing operators:

  • Apply s2p (:SPRocess:CONVolve:FNAMe)
  • Apply s4p (:SPRocess:DCONvolve:FNAMe)
  • Remove s2p (:SPRocess:DEConvolve:FNAMe)
  • Remove s4p (:SPRocess:DDEConvolve:FNAMe)

These operators are used to transform measured waveforms to compensate for the effects of various test-setup devices.

Note

For DUTs with balanced ports, single-ended S-parameters can be saved, but common (SCCxx), differential (SDDxx), and mixed-stimulus (SDCxx, SCDxx) parameters cannot be saved to a file.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:DISK:SPARameter:DUT DUT1
:DISK:SPARameter:PSET S1_1, S1_3, S2_1, S2_3, S3_1, S3_3, S4_1, S4_3
:DISK:SPARameter:FWBehavior REPLace
:DISK:SPARameter:DSReciprocal ON
:DISK:SPARameter:DSIoutput ON
:DISK:SPARameter:FNAMe "C:\Users\<user>\Documents\Keysight\FlexDCA\S-Parameter Data\SParameter_Test.s4p"
:DISK:SPARameter:SAVE


:DISK:WAVeform:FFORmat

Command Syntax

:DISK:WAVeform:FFORmat {TEXT | INTernal}

Query Syntax

:DISK:WAVeform:FFORmat?

Description

Sets the format for saving waveform files with the :DISK:WAVeform:SAVE command.

INTernal
Internal-format waveform files (.wfmx) are XML files comprised of an ASCII header followed by the binary waveform data. The file includes vertical and horizontal scaling parameters of the waveform. Therefore, when you load the waveform into a waveform memory, you can still perform automatic measurements and use markers on that waveform. The internal format is binary, so you can not directly display the file contents in a word processing or spreadsheet program. However, you can convert an internal format file to a text file (.txt) for use in a spreadsheet or word processing program by loading the file into waveform memory (:WMEMory:LOAD) and then re-saving the waveform in TEXT format.
TEXT
Selects a text waveform file format. In this format, the data is listed as ASCII text rather than binary. The text file can be either Y-value format or XY-value format as selected by the :DISK:WAVeform:SAVE:FLAYout command.

Example Internal-Format File

<?xml version="1.0" encoding="utf-8"?>
<DcaFile>
  <Header>
    <FileType>WaveformInternal</FileType>
    <Revision>1</Revision>
    <Instrument>N1010A</Instrument>
    <SwVersion>A.01.60</SwVersion>
    <SerialNumber>sn XXXXXX</SerialNumber>
    <Date>09/07/2011 08:53:55</Date>
  </Header>
  <Points>2048</Points>
  <XOrg>0</XOrg>
  <XInc>9.765625E-14</XInc>
  <Resolution>1.52587890625E-05</Resolution>
  <Bandwidth>10000000000</Bandwidth>
  <YMax>0.6</YMax>
  <YMin>-0.6</YMin>
  <WaveformStatus>None</WaveformStatus>
  <Status />
  <XUnits>Second</XUnits>
  <YUnits>Volt</YUnits>
  <XDisplayRange>2E-10</XDisplayRange>
  <XDisplayStart>0</XDisplayStart>
  <YDisplayRange>1</YDisplayRange>
  <YDisplayStart>-0.5</YDisplayStart>
  <Data Lengths="2048, 1">X and Y binary data for 2048 data points</Data>
</DcaFile>

Example Command Sequence

:DISK:WAVeform:SAVE:SOURce CHAN1A    //  Define waveform to save
:DISK:WAVeform:FFORmat INTernal    //  Save as .wfmx
:DISK:WAVeform:FNAMe "D:\User Files\Waveforms\\mypattern_wfmx.wfmx"
:DISK:WAVeform:SAVE
*OPC?
…  //  Your code to synchronize execution timing.


:DISK:WAVeform:FNAMe

User File Locations

  • Location of files
  • Path substitution variables

Command Syntax

:DISK:WAVeform:FNAMe "filename"

This command supports the DEFault common child command.

Query Syntax

:DISK:WAVeform:FNAMe?

Description

Specifies the filename, path, and extension as the target for the :DISK:WAVeform:SAVE and :DISK:WAVeform:RECall commands. The files use a .wfmx file extension and by default are saved in the %USER_DATA_DIR%\Waveforms folder.

Example Command Sequence

:DISK:WAVeform:SAVE:SOURce CHAN1A    //  Define waveform to save
:DISK:WAVeform:FFORmat INTernal    //  Save as .wfmx
:DISK:WAVeform:FNAMe "D:\User Files\Waveforms\\mypattern_wfmx.wfmx"
:DISK:WAVeform:SAVE
*OPC?
…  //  Your code to synchronize execution timing.


:DISK:WAVeform:RECall

Command Syntax

:DISK:WAVeform:RECall

Description

Loads a waveform memory file into one of eight waveform memory locations. Use the :DISK:WAVeform:RECall:DESTination command to select the waveform memory. Use the :DISK:WAVeform:FNAMe command to specify the file to load.

Example Command Sequence

:DISK:WAVeform:FNAMe "DUT_3_waveform.wfmx"
:DISK:WAVeform:RECall:DESTination WMEMory2
:DISK:WAVeform:RECall


:DISK:WAVeform:RECall:DESTination

Command Syntax

:DISK:WAVeform:RECall:DESTination {WMEMory1 | WMEMory2 | WMEMory3 | WMEMory4 | WMEMory5 | WMEMory6 | WMEMory7 | WMEMory8}

Query Syntax

:DISK:WAVeform:RECall:DESTination?

Description

Selects one of eight waveform memory locations to load a waveform memory file. Use the :DISK:WAVeform:RECall command to actually load the file into the indicated memory. You can load all three waveform formats into memory: internal, Y-value, and XY-value formatted files.

Example Command Sequence

:DISK:WAVeform:FNAMe "DUT_3_waveform.wfmx"
:DISK:WAVeform:RECall:DESTination WMEMory2
:DISK:WAVeform:RECall


:DISK:WAVeform:SAVE

Command Syntax

:DISK:WAVeform:SAVE

Description

Example Script

Click here to learn about a Python script that saves a pattern waveform to a file.

In Oscilloscope Mode, saves a single-valued waveform to a file. Use the :DISK:WAVeform:FNAMe command to specify the filename. Specify the source waveform using the :DISK:WAVeform:SAVE:SOURce command. Waveforms can be saved in one of three formats shown in the following table using the indicated commands. Load this waveform file into FlexDCA's waveform memory using the :DISK:WAVeform:RECall command.

Waveform File Formats
Format | Command
Internal format (*.wfmx) | :DISK:WAVeform:FFORmat
Y-value format (*.txt) | :DISK:WAVeform:FFORmat :DISK:WAVeform:SAVE:FLAYout
XY-value format (*.txt) | :DISK:WAVeform:FFORmat :DISK:WAVeform:SAVE:FLAYout

Example Command Sequence

:DISK:WAVeform:SAVE:SOURce CHAN1A    //  Define waveform to save
:DISK:WAVeform:FFORmat INTernal    //  Save as .wfmx
:DISK:WAVeform:FNAMe "D:\User Files\Waveforms\mypattern_wfmx.wfmx"
:DISK:WAVeform:SAVE
*OPC?
…  //  Your code to synchronize execution timing.
:DISK:WAVeform:FFORmat TEXT    //  Save as .csv
:DISK:WAVeform:FNAMe "D:\User Files\Waveforms\mypattern_csv.csv"
:DISK:WAVeform:SAVE
*OPC?
…  //  Your code to synchronize execution timing.


:DISK:WAVeform:SAVE:FLAYout

Command Syntax

:DISK:WAVeform:SAVE:FLAYout {YVALues | XYValues}

Query Syntax

:DISK:WAVeform:SAVE:FLAYout?

Description

Sets the format for saving text formatted waveform files with the :DISK:WAVeform:SAVE command. In addition to selecting Y-value or XY-value formatting using this command, you must select text formatting versus binary using the :DISK:WAVeform:FFORmat command.

YVALues
Y-value waveform files are ASCII files (.txt) comprised of a header followed by amplitude values for each data point, as shown in the following example file. The ASCII amplitude values are in volts or Watts and are separated by a carriage return and line feed. This format is convenient for transferring data to other software applications, as you can import this file into many spreadsheet or word processing programs. Y-value format is designed for waveforms in which the data points are separated by equal time increments. Do not use Y-value format if any the following conditions are true (use the XY-value format instead): the waveform is a pattern waveform, a precision timebase is used, or the waveform is the output of the versus operator in a waveform signal processing function.
XYValues
XY-value waveform files are ASCII files (.txt) comprised of a header followed by voltage and time values for each data point, as shown in the following example file. The ASCII amplitude values are in volts or Watts while the X-axis values are in time. Each value is separated by a carriage return and line feed. Like the Y-value format, this format can be imported into many spreadsheet or word processing programs. XY-value format is designed for waveforms that have been sampled using unequal time separations between adjacent data points. Unequal time separations occur when any of the following conditions are true: the waveform is a pattern waveform, a precision timebase is used, or the waveform is the output of the versus operator in a waveform signal processing function.

Example Y-Value Format File

File Format, WaveformYValues
Format Version, 1
Instrument, N1010A
SwVersion, A.01.60
SerialNumber, sn XXXXXX
Date, 09/07/2011 08:58:06

Points, 2048
XOrg, 0
XInc, 9.765625E-14
X Units, Second
Y Units, Volt
Data,
0.137924194335938
0.131973266601563
0.108322143554688
.
.
.

Example XY-Value Format File

File Format, WaveformXYValues
Format Version, 1
Instrument, N1010A
SwVersion, A.01.60
SerialNumber, sn XXXXXX
Date, 09/07/2011 08:58:30

Points, 2048
X Units, Second
Y Units, Volt
Data,
0, 0.137924194335938
9.765625E-14, 0.131973266601563
1.953125E-13, 0.108322143554688
2.9296875E-13, 0.143295288085938
3.90625E-13, 0.14312744140625
4.8828125E-13, 0.14013671875
1.9970703125E-10, 0.140792846679688
.
.
.


:DISK:WAVeform:SAVE:SOURce

Command Syntax

:DISK:WAVeform:SAVE:SOURce {CHANnel{N} | DIFF{1:4} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:DISK:WAVeform:SAVE:SOURce?

Description

Selects the source waveform for saving to a waveform file. Use :DISK:WAVeform:SAVE to actually save the file.


:DISK:BFILe

Deprecated command

Deprecated command. For FlexDCA revision A.05.30 and above, use the :DISK:FILE:READ command instead.

Command Syntax

:DISK:BFILe "filename",  <binary_data>

Query Syntax

:DISK:BFILe? "filename"

Description

Sends or returns the requested binary file in the definite-length block response data format, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of following digits (decimal integer) that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 3000 bytes of data, the syntax would be: #43000<3000 bytes of data>. The leftmost character "4" represents the number of digits in the number of bytes, and "3000" represents the number of bytes to be transmitted. Byte order can affect the ability of your programs to correctly interpret block data. The byte order, or endianness, of returned block data is LSB (Least Significant Byte) first and is identical for both Waveform and Measure subsystem data.

To return a text file, use the :DISK:TFILe command.


:DISK:DWIZard:TOHMs:SDATa

:DISK:DWIZard:TOHMs{1:4}:SDATa

Deprecated command

Deprecated command. For FlexDCA revision A.05.40 and above, use the :DISK:DWIZard:T:OHMS:SDATa command instead.

Command Syntax

:DISK:DWIZard:TOHMs{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add a data file for each displayed T-parameter waveform in any Time-Ohms waveform content windows. These are ASCII XY-value waveform files and one file is saved for each displayed waveform (for example, T11 Ohms.txt). A screen capture of the Time-Ohms waveform content window is also saved (Time-Ohms N Window Screen Capture.png). TDR mode (:SYSTem:MODE) must be selected.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:TOHMs:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:TPERcent:SDATa

:DISK:DWIZard:TPERcent{1:4}:SDATa

Deprecated command

Deprecated command. For FlexDCA revision A.05.40 and above, use the :DISK:DWIZard:T:PERCent:SDATa command instead.

Command Syntax

:DISK:DWIZard:TPERcent{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add a data file for each displayed T-parameter waveform in any Time-% waveform content windows. These are ASCII XY-value waveform files and one file is saved for each displayed waveform (for example, T21 Percent.txt). A screen capture of the Time-% waveform content window is also saved (Time-% N Window Screen Capture.png). TDR mode (:SYSTem:MODE) must be selected.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:TPERcent:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:DWIZard:TVOLts:SDATa

:DISK:DWIZard:TVOLts{1:4}:SDATa

Deprecated command

Deprecated command. For FlexDCA revision A.05.40 and above, use the :DISK:DWIZard:T:VOLTs:SDATa command instead.

Command Syntax

:DISK:DWIZard:TVOLts{1:4}:SDATa {ON | OFF}

Description

When a Documentation Wizard zip file is saved (:DWIZard:SAVE), use this command to add a data file for each displayed T-parameter waveform in any Time-Volts waveform content windows. These are ASCII XY-value waveform files and one file is saved for each displayed waveform (for example, T11 Volts.txt). A screen capture of the Time-Volts waveform content window is also saved (Time-Volts N Window Screen Capture.png). TDR mode (:SYSTem:MODE) must be selected.

Argument | Action
ON | Includes files in Documentation Wizard zip file
OFF | Excludes files in Documentation Wizard zip file

Query Syntax

:DISK:DWIZard:TVOLts:SDATa?

Query Response

{1 | 0}

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISK:SIMage:GONLy

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above, use the :DISK:SIMage:WINDow command instead.

Command Syntax

:DISK:SIMage:GONLy {ON | OFF | 1 | 0}

Query Syntax

:DISK:SIMage:GONLy?

Query Response

{1 | 0}

Description

Selects to save only the waveform and graticule in screen captures by the :DISK:SIMage:SAVE command. The menu bar, toolbars, tables, and status bar are not included in the image file. In Jitter Mode, the waveform and graticule are saved as if the Graph panel was closed; jitter result graphs are not included. Any dialog boxes open and positioned over the viewing area are not saved in the file. When printing a hard copy of the waveform, combined this command with the :DISK:SIMage:INVert command (graticule only) to save ink or toner.


:DISK:TFILe

Deprecated command

Deprecated command. For FlexDCA revision A.05.30 and above, use the :DISK:FILE:ASCii:READ command instead.

Query Syntax

:DISK:TFILe? "filename"

Description

Returns the requested text file. The file must be smaller than 256,000 characters. If the file does not contain text, the return string will be terminated at the first zero (0) values byte in the file. To return a binary file, use the :DISK:BFILe command.


Introduction to :DISPlay Subsystem

The Display subsystem controls the various display settings.

  • Programming Home

General Commands

  • ANIMation
  • CGSPectrum
  • CONNect
  • CONNect:AUTo
  • CTHeme
  • GPERformance?
  • GSSPectrum
  • HMToolbar
  • MANimation
  • MARKer:DELTas
  • MDISplay:DOCK
  • MULTitouch:STATe
  • PINTensity
  • SKEYboard
  • SPALette
  • SPALette:MODE
  • SPPanel
  • SWINdows:INVert:STATe
  • TMASk
  • TOVerlap
  • UISCaling

Waveform Content Windows and Secondary Window Commands

  • WINDow:ECLegend
  • WINDow:FDLegend
  • WINDow:T:OHMS:DMODe
  • WINDow:T:OHMS:LEGend:EXPand
  • WINDow:T:OHMS:ZSIGnal
  • WINDow:GDELay:DMODe
  • WINDow:GDELay:LEGend:EXPand
  • WINDow:GDELay:ZSIGnal
  • WINDow:MAGNitude:DMODe
  • WINDow:MAGNitude:LEGend:EXPand
  • WINDow:MAGNitude:ZSIGnal
  • WINDow:T:PERCent:DMODe
  • WINDow:T:PERCent:LEGend:EXPand
  • WINDow:T:PERCent:ZSIGnal
  • WINDow:PHASe:DMODe
  • WINDow:PHASe:LEGend:EXPand
  • WINDow:PHASe:ZSIGnal
  • WINDow:TDLegend
  • WINDow:TIME:DMODe
  • WINDow:TIME:LEGend:ECEXpand
  • WINDow:TIME:LEGend:EXPand
  • WINDow:TIME:ZSIGnal
  • WINDow:T:VOLTs:DMODe
  • WINDow:T:VOLTs:LEGend:EXPand
  • WINDow:T:VOLTs:ZSIGnal
  • LOCation:LSECondary:AWINdow
  • LOCation:PRIMary:AWINdow
  • LOCation:RSECondary:AWINdow

Measurement Pane Commands

  • TSMode
  • WINDow:AMPLitude:RVMode
  • WINDow:JITTer:RVMode
  • WINDow:RESults:RVMode

Graticule Control Commands

  • GRATicule:CURSor
  • GRATicule:GRID:INTensity
  • GRATicule:GRID:STATe
  • GRATicule:HDIVisions?
  • GRATicule:VDIVisions?

Jitter Mode Commands

  • AMPLitude:LEVel
  • JITTer:BATHtub:YSCale
  • JITTer:CCEdge
  • JITTer:DDJVsbit:NBITs
  • JITTer:DDJVsbit:STARt
  • JITTer:GRAPh:TYPE
  • JITTer:HISTogram:YSCale
  • JITTer:LAYout

JSA Analysis Commands

  • :JSANalysis:SGRaph

Vertical Scale Knob Mapping Commands

  • VKSignal

Dialog Box Commands

  • DIALog:BTRansparent
  • DIALog:OPACity
  • DIALog:SIZe

Persistence Commands

  • ETUNing
  • ETUNing:COUNt
  • PERSistence
  • PERSistence:TIMe

Histogram Results Commands

  • THIStogram

Deprecated Commands

  • SPALette:COMPact (deprecated, use SPALette:MODE)
  • JITTer:GRAPh? (deprecated, use JITTer:GRAPh:TYPE?)

Removed Commands

  • TBControls (removed A.03.00)
  • GRATicule:MCONtrols (removed A.03.00)


:DISPlay:AMPLitude:LEVel

Command Syntax

:DISPlay:AMPLitude:LEVel  {ONE | ZERO | BOTH}

Query Syntax

:DISPlay:AMPLitude:LEVel?

Description

For the Jitter/Noise Mode graphs Composite Histogram, Aliased Noise Spectrum, and BER Amplitude Bathtub, selects the type of signal levels to include (and thereby exclude) from the amplitude measurement algorithm: ONE, ZERO, or BOTH Levels. These are the levels from which data is acquired for calculating amplitude results. However, because the Aliased Noise Spectrum graph can only be set to use one or zero levels, if BOTH is selected, this graph defaults to using zero levels while all other graphs use both levels. The default setting is BOTH.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.


:DISPlay:ANIMation

Command Syntax

:DISPlay:ANIMation {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:ANIMation?

Query Response

{1 | 0}

Description

Turns on and off graphics animation which is visible whenever you switch FlexDCA's operating modes. A high level of graphics capability must be present. The 86100D always has high graphics capability. When FlexDCA is running on a PC, use the :DISPlay:GPERformance command to test for the level of graphics capability.

While mode switching animation affects the transition of user interface elements, it does not affect measurement capability or features. Use the MANimation command to select from among the following animations:

  • Rotate Toolbar
  • Fade Toolbar
  • Slide Toolbar
  • Rotate UI
  • Fade UI
  • Slide UI Down
  • Slide UI Right
  • Scale UI
  • Scale and Rotate UI

Note

You can also check the PC's graphics performance level (must be HIGH) as shown in the About N1010A dialog box.

Example Command Sequence

:DISPlay:GPERformance?
…
…
:DISPlay:ANIMation?
:DISPlay:MANimation RTOolbar


:DISPlay:CGSPectrum

Command Syntax

:DISPlay:CGSPectrum {STANdard | LCCLassic | HCCLassic | THERmal}

Query Syntax

:DISPlay:CGSPectrum?

Query Response

{STAN | LCCL | HCCL | THER}

Description

Selects the colors used to present Color Grade persistence waveforms. To select the color-grade persistence mode, use the :DISPlay:PERSistence command. The following pictures show the available color schemes that you can select. The default color scheme is Classic High Colors (HCCLassic).

Classic High Colors (HCCLassic)

Classic Low Colors (LCCLassic)

Standard Colors (STANdard)

Thermal Colors (THERmal)

To change the colors for gray scale persistence, use the :DISPlay:GSSPectrum command.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Example Command Sequence

:DISPlay:CGSPectrum STANdard


:DISPlay:CONNect

Command Syntax

:DISPlay:CONNect  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:CONNect?

Query Response

{1 | 0}

Description

Turns on or off the display of lines connecting consecutive data points on the display. This allows you to view what the waveform actually looks like. This command is available in Oscilloscope mode with persistence (:DISPlay:PERSistence) set to minimum, infinite, or variable. It is not available in Eye/Mask mode. By default, the decision to connect the data points is automaticall made (DISPlay:CONNect:AUTo) based on the type of displayed waveform. You can always clear this setting to manually turn this feature on or off.


:DISPlay:CONNect:AUTo

Command Syntax

:DISPlay:CONNect:AUTo {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:CONNect:AUTo?

Query Response

{1 | 0}

Description

Turns on or off the automatic connection of data points based on the type of displayed waveform. When automatic connection is turned off, use the DISPlay:CONNect to manually connect the data points.


:DISPlay:CTHeme

Command Syntax

:DISPlay:CTHeme {"Midnight" | "Mocha" | "Pitch Black" | "Midnight Blue" | "Classic Silver" | "Red Velvet"}

This command supports the DEFault common child command.

Query Syntax

:DISPlay:CTHeme?

Description

Selects a user-interface theme that affects the look of FlexDCA's window and dialog boxes. The placing of double or single quotes around the string argument is required. Midnight is the default theme.

Midnight Theme

Classic Silver Theme


:DISPlay:DIALog:BTRansparent

Command Syntax

:DISPlay:BTRansparent  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:BTRansparent?

Query Response

{1 | 0}

Description

Turns the ability to display dialog boxes with transparent backgrounds on and off. The default setting is OFF. Use the :DISPlay:DIALog:OPACity command to adjust the level of opacity.

Note

Dialog box transparency requires Windows Vista or Windows 7.


:DISPlay:DIALog:OPACity

Command Syntax

:DISPlay:OPACity  <percent>

<percent> is an int.

Query Syntax

:DISPlay:OPACity?

Description

Sets the level of a dialog box's background opacity when dialog box transparency is turned on. The opacity can be any value between 0% (clear background) and 100% (solid background). The default setting is 100%. Use the :DISPlay:DIALog:BTRansparent command to turn dialog box transparency on.

Note

The ability to set the opacity of a dialog box requires Windows Vista or Windows 7.


:DISPlay:DIALog:SIZe

Command Syntax

:DISPlay:SIZe  {SMALl | NORMal | LARGe}

Query Syntax

:DISPlay:SIZe?

Description

Sets the size of dialog boxes which also alters the font size of text used in the dialog boxes. NORMal is the default selection.


:DISPlay:ETUNing

Command Syntax

:DISPlay:ETUNing  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:ETUNing?

Query Response

{1 | 0}

Description

Turns on an off eye tuning, which provides a variable persistence display in Eye/Mask mode. Eye tuning is especially valuable when you are tuning a device while simultaneously watching changes to the eye diagram and eye diagram measurements. For example, you can tune a laser's bias point while monitoring an Extinction Ratio measurement. It is important to note that eye tuning may decrease the accuracy of the measurement results. When your adjustments are completed, clear the eye tuning selection to ensure the measurement results return to their highest accuracy. Eye tuning is not selectable until Color Grade or Gray Scale persistence is selected in this dialog box. Use the :DISPlay:ETUNing:COUNt command to specify the decay of the persistence.


:DISPlay:ETUNing:COUNt

Command Syntax

:DISPlay:ETUNing:COUNt <maximum_samples>

<maximum_samples> is an int.

Query Syntax

:DISPlay:ETUNing:COUNt?

Description

Sets the decay of the persistence shown with eye tuning. Eye tuning works by weighting recent waveforms more heavily than older waveforms in the eye diagram database. The integer argument specifies exactly how many samples you want to keep in the eye diagram. For example, if you specify 50,000 samples and once there are 50,000 samples in the eye, then one sample will drop out of the eye for every new sample placed in the eye. Use the :DISPlay:ETUNing command to turn eye tuning on or off.


:DISPlay:GPERformance?

Query Syntax

:DISPlay:GPERformance?

Description

Queries the level of graphics support in your PC: LOW, MED, or HIGH. The 86100D's level is always HIGH. The performance level must be HIGH for FlexDCA to use mode switching animation. Turn on and off mode mode switching animation use the ANIMation command. Animation is visible whenever you switch FlexDCA's operating modes. For example, when you switch from Eye/Mask mode to Jitter/Noise mode. Mode switching animation affects the transition of user interface elements, but does not affect measurement capability or features. Select from among the following animations using the MANimation command:

  • Rotate Toolbar
  • Fade Toolbar
  • Slide Toolbar
  • Rotate UI
  • Fade UI
  • Slide UI Down
  • Slide UI Right
  • Scale UI
  • Scale and Rotate UI

Example Command Sequence

:DISPlay:GPERformance?
…
…
:DISPlay:ANIMation?
:DISPlay:MANimation RTOolbar


:DISPlay:GRATicule:CURSor

Command Syntax

:DISPlay:GRATicule:CURSor {PHAVert | PHORz | ZBOX}

Query Syntax

:DISPlay:GRATicule:CURSor?

Description

Selects the behaviour of the waveform pan and zoom mode, also known as mouse control mode buttons. Waveform pan and zoom is accomplished by dragging the waveform using the mouse touch gestures.

If FlexDCA is installed on a PC or 86100D display which has a capacitive touch display, you can select for these features to respond to touch gestures instead of a mouse. Use the :DISPlay:MULTitouch:STATe command.

Command Argument | Description | Equivalent GUI Button
ZBOX | Drag over a waveform to zoom in on a selected area. |
— | Reverses a previous waveform zoom. Multiple clicks undos a series of previous zoom actions. There is no command available for this function. |
PHAVert | Drag to move the waveform in both the vertical and horizontal directions. |
PHORz | Drag to move the waveform in the horizontal direction. Vertical movement is locked. |

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:DISPlay:GRATicule:GRID:INTensity

Command Syntax

:DISPlay:GRATicule:GRID:INTensity  <intensity>

<intensity> is an int.

Query Syntax

:DISPlay:GRATicule:GRID:INTensity?

Description

Sets the brightness of the display graticule. You can adjust the intensity between the values of 0 (no brightness) to 100 (full brightness). The default value is 100. Use the :DISPlay:GRATicule:GRID:STATe command to turn the display of the graticule on and off.


:DISPlay:GRATicule:GRID:STATe

Command Syntax

:DISPlay:GRATicule:GRID:STATe {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:GRATicule:GRID:STATe?

Query Response

{1 | 0}

Description

Turns on and off the display graticule. Use the :DISPlay:GRATicule:GRID:INTensity command to change the brightness of the graticule.


:DISPlay:GRATicule:HDIVisions?

Query Syntax

:DISPlay:GRATicule:HDIVisions?

Description

Queries the number of major horizontal divisions across the display graticule's X axis. Use the :DISPlay:GRATicule:VDIVisions command to query the number of major vertical divisions.


:DISPlay:GRATicule:VDIVisions?

Query Syntax

:DISPlay:GRATicule:VDIVisions?

Description

Queries the number of major vertical divisions across the display graticule's Y axis. Use the :DISPlay:GRATicule:HDIVisions command to query the number of major horizontal divisions.


:DISPlay:GSSPectrum

Command Syntax

:DISPlay:GSSPectrum {STANdard | MONochrome}

Query Syntax

:DISPlay:GSSPectrum?

Query Response

{STANdard | MONochrome}

Description

Selects the colors used to present Gray Scale persistence waveforms. To select the gray-scale persistence mode, use the :DISPlay:PERSistence command. The following pictures show the available color schemes that you can select. The STANDard selection shows the waveform in the color selected using the :CHANnel:COLor command, the :DIFF:COLor command, or the :FUNCtion:COLor command.

Standard

Monochrome

To change the colors for color grade persistence, use the :DISPlay:CGSPectrum command.

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Example Command Sequence

:DISPlay:GSSPectrum STANdard


:DISPlay:HMToolbar

Command Syntax

:DISPlay:HMToolbar  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:HMToolbar?

Query Response

{1 | 0}

Description

Hides (ON) or reveals (OFF) the measurement toolbar that is shown along the display's left side. The default setting is OFF.


:DISPlay:JITTer:BATHtub:YSCale

Command Syntax

:DISPlay:JITTer:BATHtub:YSCale  {BER | Q}

Query Syntax

:DISPlay:JITTer:BATHtub:YSCale?

Description

Changes the scale of the Jitter BER bathtub and Interference BER bathtub graphs to be based on BER or Q factor.

Requires Jitter Mode license.


:DISPlay:JITTer:CCEdge

Command Syntax

:DISPlay:JITTer:CCEDge

Query Syntax

There is no query form of this command.

Description

Toggles the set of edges shown on Jitter Mode's edge model graph (titled Edge Curve Model. Normally, there is only one set of edges displayed on the graph and this command has no effect. However, if the pattern length is even, the Cycle Edges button is shown on the graph which allows you to toggle the view to another set of edges. This command is equivalent to clicking the Cycle Edges button.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:DISPlay:JITTer:DDJVsbit:NBITs

Command Syntax

:DISPlay:JITTer:DDJVsbit:NBITs <number_of_bits>

<number_of_bits> is an int.

Query Syntax

:DISPlay:JITTer:DDJVsbit:NBITs?

Description

Sets the number of bits displayed in the DDJ versus Bits graph. Use the :MEASure:JITTer:DDJvsbit command to return the data.

Requires Jitter Mode license.


:DISPlay:JITTer:DDJVsbit:STARt

Command Syntax

:DISPlay:JITTer:DDJVsbit:STARt  <start_bit>

<start_bit> is an int.

Query Syntax

:DISPlay:JITTer:DDJVsbit:STARt?

Description

Sets the starting bit displayed in the DDJ versus Bits graph. Use the :MEASure:JITTer:DDJvsbit command to return the data.

Requires Jitter Mode license.


:DISPlay:JITTer:GRAPh:TYPE

Command Syntax

:DISPlay:JITTer:GRAPh{1:4}:TYPE {RJPJhist | DDJHist | TJHist | DDJVsbit | CTJHist | CDDJhist | JBAThtub | JSPectrum | RNPIhist | ISIHist | TIHist | ISIVsbit | CTIHist | NSPectrum | ABAThtub }

Query Syntax

:DISPlay:JITTer:GRAPh{1:4}:TYPE?

Description

Assigns a specific Jitter or Amplitude Mode graph to one of four displayed graph positions. Up to four graphs can be displayed at a time as specified with the :DISPlay:JITTer:LAYout command.

Requires Jitter Mode license for jitter graphs. Requires additional Advanced Amplitude Analysis/RIN/Q-Factor license for amplitude graphs.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Command Arguments
Graph | Argument
Jitter Graphs
RJ/PJ Histogram | RJPJhist
DDJ Histogram | DDJHist
TJ Histogram | TJHist
DDJ Vs Bit | DDJVsbit
Composite TJ Histogram | CTJHist
Composite DDJ Histogram | CDDJhist
BER BAthtub | JBAThtub
Aliased Spectrum | JSPectrum
Amplitude Graphs
RN/PI Histogram | RNPIhist
ISI Histogram | ISIHist
TI Histogram | TIHist
ISI vs Bit | ISIVsbit
Composite TI Histogram | CTIHist
Noise Spectrum | NSPectrum
BER Bathtub | ABAThtub


:DISPlay:JITTer:HISTogram:YSCale

Command Syntax

:DISPlay:JITTer:HISTogram:YSCale {LINear | LOGarithmic}

Query Syntax

:DISPlay:JITTer:HISTogram:YSCale?

Description

Selects the vertical scale of the TJ, RJ/PJ, TI, and RN/PI histogram graphs to be linear or logarithmic. The default setting is LINear.

Requires Jitter Mode license.


:DISPlay:JITTer:LAYout

Command Syntax

:DISPlay:JITTer:LAYout  {SINGle | SPLit | QUAD}

Query Syntax

:DISPlay:JITTer:LAYout?

Description

Selects the maximum number of Jitter/Noise Mode graphs displayed at one time. The arguments have the following definitions:

SINGle
One graph is displayed.
SPLit
Two graphs are displayed.
QUAD
Four graphs are displayed. This is the default setting.

Requires Jitter Mode license.


:DISPlay:JSANalysis:SGRaph

Command Syntax

:DISPlay:JSANalysis:SGRaph  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:JSANalysis:SGRaph?

Query Response

{1 | 0}

Description

Displays (ON) or hides (OFF) the JSA Spectrum graph. The default setting is OFF.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:DISPlay:LOCation:LSECondary:AWINdow

Command Syntax

:DISPlay:LOCation:LSECondary:AWINdow {NONE | TIME1 | MAGNitude{1:4} | PHASe{1:4} | GDELay{1:4} | RESults | JITTer | AMPLitude | DOUTput | MTESt | JGRaphs | MARKers | HISTograms | JSAResults | JSASpectrum | TVOLts{1:4} | TPERcent{1:4} | TOHMs{1:4} }

Query Syntax

:DISPlay:LOCation:LSECondary:AWINdow?

Query Response

{NONE | TIME1 | MAGN{1:4} | PHAS{1:4} | GDEL{1:4} | RES | JITT | AMPL | DOUT | MTES | JGR | MARK | HIST | JSAR | JSAS | TVOL{1:4} | TPER{1:4} | TOHM{1:4} }

Description

Selects a content window tab, results tab, or other type of tab that resides in the left secondary window. This command has no effect if the tab is not displayed. For example, consider if Waveform and Phase tabs are displayed in the window but the Markers tab is not. If you send this command with the MARKers argument, no action is taken and the message "Primary Active Window entry was not a valid selection" is displayed. The query form of this command returns the currently displayed tab.

The command arguments are described in the following table.

Command Argument Versus Selected Tab
Argument | Selected Tab
TIME1 | Selects the Waveform tab.
RESults | Selects the Results tab for measurement results in Oscilloscope and Eye modes.
JITTer | Selects the Jitter tab of measurement results in Jitter mode.
AMPLitude | Selects the Amplitude tab of interference measurements in Jitter mode.
MTESt | Selects the Mask Test tab of eye mask results in Eye/Mask mode.
JGRaphs | Selects the Graphs tab of Jitter graphs in Jitter mode.
MARKers | Selects the Markers tab.
HISTograms | Selects the Histograms tab in Eye Mode.
JSAResults | Selects the JSA Results tab of Jitter Spectrum Analysis measurements.
JSASpectrum | Selects the JSA Spectrum tab which displays the Jitter Spectrum Analysis graph.
TVOLts{1:4} | Selects the Time-Volts tab 1 through 4. Time-Volts tabs show TDR Mode time-domain parameters.
TPERcent{1:4} | Selects the Time-% tab 1 through 4. Time-% tabs show TDR Mode time-domain parameters.
TOHMs{1:4} | Selects the Time-Ohms tab 1 through 4. Time-Ohms tabs show TDR Mode time-domain parameters.
MAGNitude{1:4} | Selects the Freq-Mag tab 1 through 4. Freq-Mag tabs show TDR Mode S-parameters and the output of an FFT function with a display set to dBV or dBm.
PHASe{1:4} | Selects the Phase tab 1 through 4. Phase tabs show TDR Mode S-parameters and the output of an FFT function with a display set to phase.
GDELay{1:4} | Selects the GrpDelay tab 1 through 4. Delay tabs show TDR Mode S-parameters and the output of an FFT function with a display set to group delay.

As shown in the following pictures, selecting a tab brings that tab forward so that it is displayed.

TIME1 Argument Views Waveform Tab

MAGNitude1 Argument Views Magnitude Tab

PHASe1 Argument Views Phase Tab

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:LOCation:PRIMary:AWINdow

Command Syntax

:DISPlay:LOCation:PRIMary:AWINdow {NONE | TIME1 | MAGNitude{1:4} | PHASe{1:4} | GDELay{1:4} | RESults | JITTer | AMPLitude | DOUTput | MTESt | JGRaphs | MARKers | HISTograms | JSAResults | JSASpectrum | TVOLts{1:4} | TPERcent{1:4} | TOHMs{1:4} }

Query Syntax

:DISPlay:LOCation:PRIMary:AWINdow?

Query Response

{NONE | TIME1 | MAGN{1:4} | PHAS{1:4} | GDEL{1:4} | RES | JITT | AMPL | DOUT | MTES | JGR | MARK | HIST | JSAR | JSAS | TVOL{1:4} | TPER{1:4} | TOHM{1:4} }

Description

Selects a content window tab, results tab, or other type of tab that resides in the primary window. This command has no effect if the tab is not displayed. For example, consider if Waveform and Phase tabs are displayed in the window but the Markers tab is not. If you send this command with the MARKers argument, no action is taken and the message "Primary Active Window entry was not a valid selection" is displayed. The query form of this command returns the currently displayed tab.

The command arguments are described in the following table.

Command Argument Versus Selected Tab
Argument | Selected Tab
TIME1 | Selects the Waveform tab.
RESults | Selects the Results tab for measurement results in Oscilloscope and Eye modes.
JITTer | Selects the Jitter tab of measurement results in Jitter mode.
AMPLitude | Selects the Amplitude tab of interference measurements in Jitter mode.
MTESt | Selects the Mask Test tab of eye mask results in Eye/Mask mode.
JGRaphs | Selects the Graphs tab of Jitter graphs in Jitter mode.
MARKers | Selects the Markers tab.
HISTograms | Selects the Histograms tab in Eye Mode.
JSAResults | Selects the JSA Results tab of Jitter Spectrum Analysis measurements.
JSASpectrum | Selects the JSA Spectrum tab which displays the Jitter Spectrum Analysis graph.
TVOLts{1:4} | Selects the Time-Volts tab 1 through 4. Time-Volts tabs show TDR Mode time-domain parameters.
TPERcent{1:4} | Selects the Time-% tab 1 through 4. Time-% tabs show TDR Mode time-domain parameters.
TOHMs{1:4} | Selects the Time-Ohms tab 1 through 4. Time-Ohms tabs show TDR Mode time-domain parameters.
MAGNitude{1:4} | Selects the Freq-Mag tab 1 through 4. Freq-Mag tabs show TDR Mode S-parameters and the output of an FFT function with a display set to dBV or dBm.
PHASe{1:4} | Selects the Phase tab 1 through 4. Phase tabs show TDR Mode S-parameters and the output of an FFT function with a display set to phase.
GDELay{1:4} | Selects the GrpDelay tab 1 through 4. Delay tabs show TDR Mode S-parameters and the output of an FFT function with a display set to group delay.

As shown in the following pictures, selecting a tab brings that tab forward so that it is displayed.

TIME1 Argument Views Waveform Tab

MAGNitude1 Argument Views Magnitude Tab

PHASe1 Argument Views Phase Tab

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:LOCation:RSECondary:AWINdow

Command Syntax

:DISPlay:LOCation:RSECondary:AWINdow {NONE | TIME1 | MAGNitude{1:4} | PHASe{1:4} | GDELay{1:4} | RESults | JITTer | AMPLitude | DOUTput | MTESt | JGRaphs | MARKers | HISTograms | JSAResults | JSASpectrum | TVOLts{1:4} | TPERcent{1:4} | TOHMs{1:4} }

Query Syntax

:DISPlay:LOCation:RSECondary:AWINdow?

Query Response

{NONE | TIME1 | MAGN{1:4} | PHAS{1:4} | GDEL{1:4} | RES | JITT | AMPL | DOUT | MTES | JGR | MARK | HIST | JSAR | JSAS | TVOL{1:4} | TPER{1:4} | TOHM{1:4} }

Description

Selects a content window tab, results tab, or other type of tab that resides in the right secondary window. This command has no effect if the tab is not displayed. For example, consider if Waveform and Phase tabs are displayed in the window but the Markers tab is not. If you send this command with the MARKers argument, no action is taken and the message "Primary Active Window entry was not a valid selection" is displayed. The query form of this command returns the currently displayed tab.

The command arguments are described in the following table.

Command Argument Versus Selected Tab
Argument | Selected Tab
TIME1 | Selects the Waveform tab.
RESults | Selects the Results tab for measurement results in Oscilloscope and Eye modes.
JITTer | Selects the Jitter tab of measurement results in Jitter mode.
AMPLitude | Selects the Amplitude tab of interference measurements in Jitter mode.
MTESt | Selects the Mask Test tab of eye mask results in Eye/Mask mode.
JGRaphs | Selects the Graphs tab of Jitter graphs in Jitter mode.
MARKers | Selects the Markers tab.
HISTograms | Selects the Histograms tab in Eye Mode.
JSAResults | Selects the JSA Results tab of Jitter Spectrum Analysis measurements.
JSASpectrum | Selects the JSA Spectrum tab which displays the Jitter Spectrum Analysis graph.
TVOLts{1:4} | Selects the Time-Volts tab 1 through 4. Time-Volts tabs show TDR Mode time-domain parameters.
TPERcent{1:4} | Selects the Time-% tab 1 through 4. Time-% tabs show TDR Mode time-domain parameters.
TOHMs{1:4} | Selects the Time-Ohms tab 1 through 4. Time-Ohms tabs show TDR Mode time-domain parameters.
MAGNitude{1:4} | Selects the Freq-Mag tab 1 through 4. Freq-Mag tabs show TDR Mode S-parameters and the output of an FFT function with a display set to dBV or dBm.
PHASe{1:4} | Selects the Phase tab 1 through 4. Phase tabs show TDR Mode S-parameters and the output of an FFT function with a display set to phase.
GDELay{1:4} | Selects the GrpDelay tab 1 through 4. Delay tabs show TDR Mode S-parameters and the output of an FFT function with a display set to group delay.

As shown in the following pictures, selecting a tab brings that tab forward so that it is displayed.

TIME1 Argument Views Waveform Tab

MAGNitude1 Argument Views Magnitude Tab

PHASe1 Argument Views Phase Tab

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:MANimation

Command Syntax

:DISPlay:MANimation {RTOolbar | FTOolbar | STOolbar | RUI | FUI | SUDown | SURight | SUI | SARui | NANimation}

Query Syntax

:DISPlay:MANimation?

Description

Select the type of mode switching animation that is visible whenever FlexDCA is switched between Oscilloscope, Eye/Mask, or Jitter/Noise modes. Animation must be turned on with the ANIMation command before the selected type of animation will be applied. Select from the following animations:

Available Animations
Animation | Command Argument
Rotate Toolbar | RTOolbar
Fade Toolbar | FTOolbar
Slide Toolbar | STOolbar
Rotate UI | RUI
Fade UI | FUI
Slide UI Down | SUDown
Slide UI Right | SURight
Scale UI | SUI
Scale and Rotate UI | SARui
No Animation UI | NANimation

Example Command Sequence

:DISPlay:GPERformance?
…
…
:DISPlay:ANIMation?
:DISPlay:MANimation RTOolbar


:DISPlay:MARKer:DELTas

Command Syntax

:DISPlay:MARKer:DELTas {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:MARKer:DELTas?

Query Response

{1 | 0}

Description

Shows or hides the Δ Pos (delta position) and Δ Mag (delta magnitude) listings in the displayed Markers table. This is equivalent to clicking Show Δ Values in the table. To return the Δ Pos measurement, use the :MEASure:MARKer:DX? query. To return the Δ Mag measurement, use the :MEASure:MARKer:DY? query.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:MDISplay:DOCK

Command Syntax

:MDISplay:DOCK {ON | OFF | 1 | 0}

Query Syntax

:MDISplay:DOCK?

Query Response

{1 | 0}

Description

Turns on or off the docking of the message area to the bottom of the display. Turning docking on prevents messages from hiding any portion of the graticule. When docking is turned off, the graticule's height is increased by a small amount.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:DISPlay:MULTitouch:STATe

Command Syntax

:DISPlay:MULTitouch:STATe {ON | OFF}

Query Syntax

:DISPlay:MULTitouch:STATe?

Description

Turns on or off the multi-touch capabillity when FlexDCA is installed on a PC or 86100D that has a capacitive touch-screen display. To define the behaviour of waveform pan and zoom gestures (as explained in Enable Multi-Touch) use the :DISPlay:GRATicule:CURSor command.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:DISPlay:PERSistence

Command Syntax

:DISPlay:PERSistence {MINimum | INFinite | CGRade | GSCale | VARiable}

Query Syntax

:DISPlay:PERSistence?

Description

Sets the type of waveform persistence (sample accumulation). Persistence determines how long a data point is kept on the display before being erased from the display graticule. Persistence is a display memory function, therefore acquired waveforms are written only to display memory. Acquisition memory is where the current waveform data is stored. Therefore, only the last acquired waveform is held in acquisition memory. Display memory is what is seen on the display graticule. The persistence control allows you to view the extremes of a waveform's variation, such as the occurrence of jitter. Setting the persistence to the minimum amount of time allows for easiest viewing of variations in the acquired waveforms. Setting the persistence to the maximum amount of time (infinite) allows for a complete view of everything measured in the waveform. Depending on instrument mode, you can select the type of persistence.

To change the colors used to show color grade persistence, use the :DISPlay:CGSPectrum command. To change the colors used to show color grade persistence, use the :DISPlay:GSSPectrum command.

Available Persistence versus Instrument Mode
Persistence | Oscilloscope | Eye/Mask | Jitter
INFinite | ♦ |  |
CGRade Color Grade (Infinite) | ♦ | ♦ | ♦
GSCale Gray Scale (Infinite) | ♦ | ♦ | ♦
MINimum | ♦ |  | ♦
VARiable | ♦ |  |

  • Display Setup dialog box


:DISPlay:PERSistence:TIMe

Command Syntax

:DISPlay:PERSistence:TIMe  <time>

<time> is an double.

Query Syntax

:DISPlay:PERSistence:TIMe?

Description

Sets the persistence time when variable persistence is selected with the :DISPlay:PERSistence command. Newly acquired sample points are displayed at full intensity (brightest) while the intensity of previously acquired sample points fade to black during the defined persistence time. You can use this mode to view infrequent events and rapidly changing waveforms. You can set the time a waveform sample point is displayed from 100 ms to 40s, with one digit resolution. The default setting is 300 ms. If one of the following is changed, the displayed waveform is redrawn and any accumulated waveforms are cleared: the vertical or horizontal scaling, the vertical or horizontal position, the offset, the trigger source or level, a clear display is executed, or an Auto Scale is executed.

  • Display Setup dialog box


:DISPlay:PINTensity

Command Syntax

:DISPlay:PINTensity {NONE | LOW | MEDium | HIGH}

Query Syntax

:DISPlay:PINTensity?

Description

Selects waveform pixel intensity. Sometimes, waveforms may be difficult to see in screen captures or when the display is viewed at a distance, such as during a presentation. This can be the result of FlexDCA's high screen resolution or the fact that some waveforms have a relatively small number of measurement points. With waveform pixel intensity, the number of display pixels used to represent a data point or line is expaned for easier viewing. Although thin traces and clusters of data points appear thicker and brighter on the display, the acquired data is not changed and all measurements, markers, histograms, saved waveforms, and other items are not affected.

The following table shows examples for the four available pixel-intensity selections. By default, pixel intensity is not applied (NONe argument). Depending on the type of waveform displayed, one of these selections may make the waveform easier to see.

Examples of Pixel Intensity
Argument | Displayed Waveform | Closeup of Waveform | Closeup of Three Data Points
NONe |  |  |
LOW |  |  |
MEDium |  |  |
HIGH |  |  |

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISPlay:SKEYboard

Command Syntax

:DISPlay:SKEYboard {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:SKEYboard?

Query Response

{1 | 0}

Description

Turns on and off the display of the pop-up keyboard whenever data entry is required in a dialog box field. Use this feature when using FlexDCA that is running on the 86100D without a keyboard connected.


:DISPlay:SPALette

Command Syntax

:DISPlay:SPALette  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:SPALette?

Query Response

{1 | 0}

Description

Hides (OFF) or displays (ON) the waveform Signals palette. This is identical to clicking the Signals button that is located in the display's bottom-right corner. The default setting is OFF. To view the palette in compact mode, use the DISPlay:SPALette:MODE child command. To hide or show the Math palette, use the DISPlay:SSPanel command.


:DISPlay:SPALette:MODE

Command Syntax

:DISPlay:SPALette:MODE  {FULL | COMPact | MINI}

Query Syntax

:DISPlay:SPALette:MODE?

Description

Sets the display size of the Signals pallete. To hide or show the Signals palette, use the DISPlay:SPALette command.

FULL
Displays the signal pallet in its normal default mode. This selection provides the greatest amount of information for each signal, but covers more display area that the other two selections.
COMPact
To conserve space, displays the signal pallet without showing a representation of the waveforms. The vertical scale-per-division and offset setting are displayed.
MINI
Maximizes graticule space by reducing the signal pallet to its minimal size. Displays on the signal pallet only the buttons to turn the waveform on and off.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:DISPlay:SPPanel

Command Syntax

:DISPlay:SPPanel  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:SPPanel?

Query Response

{1 | 0}

Description

Hides (OFF) or displays (ON) the signal-processing Math palette. This is identical to clicking the Math button that is located in the applications bottom-right corner. The default setting is OFF. To hide or show the Signals palette, use the DISPlay:SPALette command.


:DISPlay:SWINdows:INVert:STATe

Command Syntax

:DISPlay:SWINdows:INVert:STATe {ON | OFF}

Query Syntax

:DISPlay:SWINdows:INVert:STATe?

Description

Turns on and off the inversion of the background color on all windows that display signals. When the setting is OFF, the background color is black. When the setting is ON, the background color is white. When ON, the background on saved screen images (:DISK:SIMage:SAVE) is also inverted. The command affects the following items:

  • Waveform graticules
  • Charts
  • JSA plots
  • Jitter graphs
  • Screen captures

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:DISPlay:THIStogram

Command Syntax

:DISPlay:THIStogram  {HISTogram1 | HISTogram2 | HISTogram3 | HISTogram4}

Query Syntax

:DISPlay:THIStogram?

Description

When more than one histogram is displayed, selects the histogram which will have its results displayed in the Histograms measurement results table. In the following figure, histogram 2 has been selected.


:DISPlay:TMASk

Command Syntax

:DISPlay:TMASk MASK{1:16}

Query Syntax

:DISPlay:TMASk?

Description

Up to 16 eye mask tests can be running at the same time. Use this command to select which eye mask test results are display in the Mask Test results table. Masks are numbered in the order that they are created. To run an eye mask test, use the :MTESt{1:16}LOAD command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:TOVerlap

Command Syntax

:DISPlay:TOVerlap  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:TOVerlap?

Query Response

{1 | 0}

Description

Turns on and off the ability of results panels to overlap the display of the waveforms. This is identical to clicking the panel overlap pin [image] that is displayed between the graticule and results panels.


:DISPlay:TSMode

Command Syntax

:DISPlay:TSMode {MINimized | HSIZe | FSIZe}

Query Syntax

:DISPlay:TSMode?

Description

Sets the height of all displayed secondary panels that are shown below the waveform gratical. Examples of secondary panels include the measurement Results, Marker, and Histogram panels. These panels can be hidden (MINimized), full vertical height (FSIZe, or half vertical height (HSIZe). The query form of the command returns the current panel state.

Minimizing the height is the same as clicking the expander arrow that is above the panels.

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:DISPlay:UISCaling

Command Syntax

:DISPlay:UISCaling  {UNSCaled | MAXimized | ZMAXimized}

Query Syntax

:DISPlay:UISCaling?

Description

Sets the physical size that the application requires on the display. Choices are the default unscaled (UNSCaled ), full screen (MAXimized), full-screen zoomed (ZMAXimized). FlexDCA's default setup does not change the scaling set by this command.


:DISPlay:VKSignal

Command Syntax

:DISPlay:VKSignal {CHANnel{N} | DIFF{1:4} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:DISPlay:VKSignal?

Description

When running FlexDCA embedded on an 86100D, selects a displayed channel, differential signal, function, or waveform memory as the focus of the front-panel vertical scale knob.


:DISPlay:WINDow:AMPLitude:RVMode

Command Syntax

:DISPlay:WINDow:AMPLitude:RVMode {GRID | TILE}

Query Syntax

:DISPlay:WINDow:AMPLitude:RVMode?

Description

Displays the data in Jitter mode's Amplitude measurements results pane in either tiled or grid view.

Argument | Description
GRID | Formats Amplitude data in a grid. This is the default view.
TILE | Formats Amplitude data in tiles.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISPlay:WINDow:ECLegend

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:DISPlay:WINDow:ECLegend {OFF | ON}

Query Syntax

:DISPlay:WINDow:ECLegend?

Description

Shows or hides the Eye Contours identification legend on the Waveform window. If multiple channels waveforms are shown with legends all of the displayed legends are controlled by this setting. The legend identifies the individual eye contour lines on a waveform. To expand or contract all displayed eye contour legends, use the :DISPlay:WINDow:TIME:LEGend:ECEXpand command. Use the commands in the :ECONtour subsystem to create and display contour lines.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:DISPlay:WINDow:FDLegend

Command Syntax

:DISPlay:WINDow:FDLegend {OFF | ON}

Query Syntax

:DISPlay:WINDow:FDLegend?

Description

Shows or hides the Signals identification legend on all frequency-domain windows. This label is displayed in the content window's upper-right corner. The legend identifies TDR Mode S-parameters and the output of the FFT function in GrpDelay, Freq-Mag, and Phase content windows.

For the legend on the time-domain waveforms, Time-Volts, Time-%, and Time-Ohms, use the :DISPlay:WINDow:TDLegend command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:GDELay{1:4}:DMODe

Command Syntax

:DISPlay:WINDow:GDELay{1:4}:DMODe {OVERlapped | TILed | ZTILe}

Query Syntax

:DISPlay:WINDow:GDELay{1:4}:DMODe?

Description

Configures the layout of a GrpDelay (Group Delay) waveform content window.

OERlapped (Overlapped Window)
All waveforms that are assigned to the window are displayed on top of each other.
TILed (Tiled Window)
Each waveform in the window is displayed in its own graticule. This selection is available whenever more that one waveform is assigned to a content window.
ZTILe (Zoom Tiled Window)
One waveform is displayed in the graticule and any remaining waveforms are shown in small windows along the bottom of the graticule. Use the :WINDow:GDELay{1:4}:ZSIGnal command to select the waveform to place in the graticule.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:GDELay:LEGend:EXPand

Command Syntax

:DISPlay:WINDow:GDELay:LEGend:EXPand {ON | OFF}

Query Syntax

:DISPlay:WINDow:GDELay:LEGend:EXPand?

Description

Expands or contracts the Signals legend that is shown in the GrpDelay (Group Delay) waveform content window. The legend shows TDR Mode S-parameters. The legend also shows any output waveforms of the FFT function (FFT command) (when defined as group delay). To completely remove the signal legend from all frequency-domain windows, use the :WINdow:FDLegend command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:GDELay{1:4}:ZSIGnal

Command Syntax

:DISPlay:WINDow:GDELay{1:4}:ZSIGnal {FUNCtion{1:16} | TRACe{1:128} }

Query Syntax

:DISPlay:WINDow:GDELay{1:4}:ZSIGnal?

Description

When a GrpDelay (Group Delay) waveform content window is displayed in zoom tiled mode and there are multiple displayed waveforms, selects a waveform to display in the graticule area. The output of the FFT function (FFT command) can be defined as group delay as well as TDR Mode's S-parameters.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:JITTer:RVMode

Command Syntax

:DISPlay:WINDow:JITTer:RVMode {GRID | TILE}

Query Syntax

:DISPlay:WINDow:JITTer:RVMode?

Description

Displays the data in Jitter mode's Jitter measurements results pane in either tiled or grid view.

Argument | Description
GRID | Formats Jitter data in a grid. This is the default view.
TILE | Formats Jitter data in tiles.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISPlay:WINDow:MAGNitude{1:4}:DMODe

Command Syntax

:DISPlay:WINDow:MAGNitude{1:4}:DMODe  {OVERlapped | TILed | ZTILe}

Query Syntax

:DISPlay:WINDow:MAGNitude{1:4}:DMODe?

Description

Configures the layout of a Freq-Mag waveform content window.

OERlapped (Overlapped Window)
All waveforms that are assigned to the window are displayed on top of each other.
TILed (Tiled Window)
Each waveform in the window is displayed in its own graticule. This selection is available whenever more that one waveform is assigned to a content window.
ZTILe (Zoom Tiled Window)
One waveform is displayed in the graticule and any remaining waveforms are shown in small windows along the bottom of the graticule. Use the :WINDow:GDELay{1:4}:ZSIGnal command to select the waveform to place in the graticule.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:MAGNitude:LEGend:EXPand

Command Syntax

:DISPlay:WINDow:MAGNitude:LEGend:EXPand {ON | OFF}

Query Syntax

:DISPlay:WINDow:MAGNitude:LEGend:EXPand?

Description

Expands or contracts the Signals legend that is shown in the Freq-Mag waveform content window. The legend shows TDR Mode S-parameters. The legend also shows any output waveforms of the FFT function (FFT command) (when defined as magnitude). To completely remove the signal legend from all frequency-domain windows, use the :WINdow:FDLegend command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:MAGNitude:ZSIGnal

:DISPlay:WINDow:MAGNitude{1:4}:ZSIGnal

Command Syntax

:DISPlay:WINDow:MAGNitude{1:4}:ZSIGnal  {FUNCtion{1:16} | TRACe{1:128} }

Query Syntax

:DISPlay:WINDow:MAGNitude{1:4}:ZSIGnal?

Description

When a Freq-Mag waveform content window is displayed in zoom tiled mode and there are multiple displayed waveforms, selects a waveform to display in the graticule area. The output of the FFT function (FFT command) can be defined as magnitude as well as TDR Mode's S-parameters.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:PHASe{1:4}:DMODe

Command Syntax

:DISPlay:WINDow:PHASe{1:4}:DMODe {OVERlapped | TILed | ZTILe}

Query Syntax

:DISPlay:WINDow:PHASe{1:4}:DMODe?

Description

Configures the layout of a Phase waveform content window.

OERlapped (Overlapped Window)
All waveforms that are assigned to the window are displayed on top of each other.
TILed (Tiled Window)
Each waveform in the window is displayed in its own graticule. This selection is available whenever more that one waveform is assigned to a content window.
ZTILe (Zoom Tiled Window)
One waveform is displayed in the graticule and any remaining waveforms are shown in small windows along the bottom of the graticule. Use the :WINDow:GDELay{1:4}:ZSIGnal command to select the waveform to place in the graticule.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:PHASe:LEGend:EXPand

Command Syntax

:DISPlay:WINDow:PHASe:LEGend:EXPand {ON | OFF}

Query Syntax

:DISPlay:WINDow:PHASe:LEGend:EXPand?

Description

Expands or contracts the Signals legend that is shown in the Phase waveform content window. The legend identifies TDR Mode S-parameters. The legend also identifies any output waveforms of the FFT function (FFT command) (when defined as phase). To completely remove the signal legend from all frequency-domain windows, use the :WINdow:FDLegend command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:PHASe{1:4}:ZSIGnal

Command Syntax

:DISPlay:WINDow:PHASe{1:4}:ZSIGnal  {FUNCtion{1:16} | TRACe{1:128} }

Query Syntax

:DISPlay:WINDow:PHASe{1:4}:ZSIGnal?

Description

When a Phase waveform content window is displayed in zoom tiled mode and there are multiple displayed waveforms, selects a waveform to display in the graticule area. The output of the FFT function (FFT command) can be defined as phase as well as TDR Mode's S-parameters.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:RESults:RVMode

Command Syntax

:DISPlay:WINDow:RESults:RVMode {GRID | TILE}

Query Syntax

:DISPlay:WINDow:RESults:RVMode?

Description

Displays the data in Oscilloscope and Eye/Mask mode's Results measurements pane in either tiled or grid view.

Argument | Description
GRID | Formats Results data in a grid. This is the default view.
TILE | Formats Results data in tiles.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:DISPlay:WINDow:T:OHMS{1:4}:DMODe

Command Syntax

:DISPlay:WINDow:T:OHMS{1:4}:DMODe {OVERlapped | TILed | ZTILe}

Query Syntax

:DISPlay:WINDow:T:OHMS{1:4}:DMODe?

Description

Configures the layout of an Time-Ohms waveform content window.

OERlapped (Overlapped Window)
All waveforms that are assigned to the window are displayed on top of each other.
TILed (Tiled Window)
Each waveform in the window is displayed in its own graticule. This selection is available whenever more that one waveform is assigned to a content window.
ZTILe (Zoom Tiled Window)
One waveform is displayed in the graticule and any remaining waveforms are shown in small windows along the bottom of the graticule. Use the :T:OHMS{1:4}:ZSIGnal command to select the waveform to place in the graticule.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:T:OHMS{1:4}:LEGend:EXPand

:DISPlay:WINDow:T:OHMS{1:4}:LEGend:EXPand {ON | OFF}

Command Syntax

:DISPlay:WINDow:T:OHMS:LEGend:EXPand {ON | OFF}

Query Syntax

:DISPlay:WINDow:T:OHMS:LEGend:EXPand?

Description

Expands or contracts the Signals legend that is shown in the Time-Ohms waveform content window. To completely remove the signal legend from all time-domain windows, use the :WINdow:TDLegend command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:T:OHMS{1:4}:ZSIGnal

Command Syntax

:DISPlay:WINDow:T:OHMS{1:4}:ZSIGnal  TRACe{1:128}

Query Syntax

:DISPlay:WINDow:T:OHMS{1:4}:ZSIGnal?

Description

When a Time-Ohms waveform content window is displayed in zoom tiled mode and there are multiple displayed waveforms, selects a waveform to display in the graticule area. TDR Mode's time-domain parameters can be viewed in a Time-Ohms window.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:T:PERCent{1:4}:DMODe

Command Syntax

:DISPlay:WINDow:T:PERCent{1:4}:DMODe {OVERlapped | TILed | ZTILe}

Query Syntax

:DISPlay:WINDow:T:PERCent{1:4}:DMODe?

Description

Configures the layout of a Time-% waveform content window.

OERlapped (Overlapped Window)
All waveforms that are assigned to the window are displayed on top of each other.
TILed (Tiled Window)
Each waveform in the window is displayed in its own graticule. This selection is available whenever more that one waveform is assigned to a content window.
ZTILe (Zoom Tiled Window)
One waveform is displayed in the graticule and any remaining waveforms are shown in small windows along the bottom of the graticule. Use the :WINDow:T:PERCent{1:4}:ZSIGnal command to select the waveform to place in the graticule.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:T:PERCent{1:4}:LEGend:EXPand

:DISPlay:WINDow:T:PERCent{1:4}:LEGend:EXPand {ON | OFF}

Command Syntax

:DISPlay:WINDow:T:PERCent:LEGend:EXPand {ON | OFF}

Query Syntax

:DISPlay:WINDow:T:PERCent:LEGend:EXPand?

Description

Expands or contracts the Signals legend that is shown in the Time-% waveform content window. To completely remove the signal legend from all time-domain windows, use the :WINdow:TDLegend command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:T:PERCent{1:4}:ZSIGnal

Command Syntax

:DISPlay:WINDow:T:PERCent{1:4}:ZSIGnal  TRACe{1:128}

Query Syntax

:DISPlay:WINDow:T:PERCent{1:4}:ZSIGnal?

Description

When a Time-% waveform content window is displayed in zoom tiled mode and there are multiple displayed waveforms, selects a waveform to display in the graticule area. TDR Mode's time-domain parameters can be viewed in a Time-% window.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:T:VOLTs{1:4}:DMODe

Command Syntax

:DISPlay:WINDow:T:VOLTs{1:4}:DMODe {OVERlapped | TILed | ZTILe}

Query Syntax

:DISPlay:WINDow:T:VOLTs{1:4}:DMODe?

Description

Configures the layout of a Time-Volts waveform content window.

OERlapped (Overlapped Window)
All waveforms that are assigned to the window are displayed on top of each other.
TILed (Tiled Window)
Each waveform in the window is displayed in its own graticule. This selection is available whenever more that one waveform is assigned to a content window.
ZTILe (Zoom Tiled Window)
One waveform is displayed in the graticule and any remaining waveforms are shown in small windows along the bottom of the graticule. Use the :WINDow:T:VOLTs{1:4}:ZSIGnal command to select the waveform to place in the graticule.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:T:VOLTs{1:4}:LEGend:EXPand

Command Syntax

:DISPlay:WINDow:T:VOLTs:LEGend:EXPand {ON | OFF}

Query Syntax

:DISPlay:WINDow:T:VOLTs:LEGend:EXPand?

Description

Expands or contracts the Signals legend that is shown in the Time-Volts waveform content window. To completely remove the signal legend from all time-domain windows, use the :WINdow:TDLegend command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:T:VOLTs{1:4}:ZSIGnal

Command Syntax

:DISPlay:WINDow:T:VOLTs{1:4}:ZSIGnal TRACe{1:128}

Query Syntax

:DISPlay:WINDow:T:VOLTs{1:4}:ZSIGnal?

Description

When a Time-Volts waveform content window is displayed in zoom tiled mode and there are multiple displayed waveforms, selects a waveform to display in the graticule area. TDR Mode's time-domain parameters can be viewed in a Time-Volts window.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:DISPlay:WINDow:TDLegend

Command Syntax

:DISPlay:WINDow:TDLegend {OFF | ON}

Query Syntax

:DISPlay:WINDow:TDLegend?

Description

Shows or hides the Signals identification legend on all time-domain windows. This label is displayed in the content window's upper-right corner. The legend identifies:

  • Channel waveforms in the Waveform content window.
  • TDR Mode time-domain parameters in Time-Volts, Time-%, and Time-Ohms content windows.

For the legend on the frequency-domain waveforms, GrpDelay, Freq-Mag, and Phase, use the :DISPlay:WINDow:FDLegend command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:TIME{1}:DMODe

Command Syntax

:DISPlay:WINDow:TIME{1}:DMODe {OVERlapped | TILed | STILed | ZTILe}

Query Syntax

:DISPlay:WINDow:TIME{1}:DMODe?

Description

Configures the layout of a Time waveform content window.

OERlapped (Overlapped Window)
All waveforms that are assigned to the window are displayed on top of each other.
TILed (Tiled Window)
Each waveform in the window is displayed in its own graticule. This selection is available whenever more that one waveform is assigned to a content window.
STILed (Stacked Tiled Window)
One waveform is displayed in the graticule and any remaining waveforms are shown in small windows along the bottom of the graticule.
ZTILe (Zoom Tiled Window)
One waveform is displayed in the graticule and any remaining waveforms are shown in small windows along the bottom of the graticule. Use the :WINDow:GDELay{1:4}:ZSIGnal command to select the waveform to place in the graticule.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:TIME:LEGend:ECEXpand

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:DISPlay:WINDow:TIME:LEGend:ECEXpand {ON | OFF}

Query Syntax

:DISPlay:WINDow:TIME:LEGend:ECEXpand?

Description

Expands or contracts all displayed Eye Contours legends that are shown in the Waveform content window. To display or hide the Eye Contours legend, use the :DISPlay:WINDow:ECLegend command. Use the commands in the :ECONtour subsystem to create and display contour lines.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:DISPlay:WINDow:TIME:LEGend:EXPand

Command Syntax

:DISPlay:WINDow:TIME:LEGend:EXPand {ON | OFF}

Query Syntax

:DISPlay:WINDow:TIME:LEGend:EXPand?

Description

Expands or contracts the Signals legend that is shown in the Waveform content window legend. Use the :WINdow:TDLegend command to show or hide the legend on all time-domain windows.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:WINDow:TIME{1}:ZSIGnal

Command Syntax

:DISPlay:WINDow:TIME{1}:ZSIGnal

Query Syntax

:DISPlay:WINDow:TIME{1}:ZSIGnal?

Description

When a Waveform content window is displayed in zoom tiled mode and there are multiple displayed waveforms, selects a waveform to display in the graticule area. Channel and differential channel waveforms can be viewed in a Waveform content window.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:DISPlay:JITTer:GRAPh?

Deprecated command

Deprecated command. For FlexDCA revision A.02.00 and above, use the :DISPlay:JITTer:GRAPh:TYPE command.

Query Syntax

:DISPlay:JITTer:GRAPh?

Description

Queries a list of all of the Jitter and Amplitude Mode graphs that are displayed.

Requires Jitter Mode license.

Returned Graph Identification Strings
Returned String | Displayed Graph
Jitter Graphs
RJPJhist | RJ/PJ Histogram
DDJHist | DDJ Histogram
TJHist | TJ Histogram
DDJVsbit | DDJ Vs Bit
CTJHist | Composite TJ Histogram
DDJVsbit | Composite DDJ Histogram
JBAThtub | BER BAthtub
JSPectrum | Aliased Spectrum
Amplitude Graphs
RNPIhist | RN/PI Histogram
ISIHist | ISI Histogram
TIHist | TI Histogram
ISIVsbit | ISI vs Bit
CTIHist | Composite TI Histogram
NSPectrum | Noise Spectrum
ABAThtub | BER Bathtub


:DISPlay:SPALette:COMPact

Deprecated command

Deprecated command. For FlexDCA revision A.01.70 and above, use the :DISPlay:SPALette:MODE command.

Command Syntax

:DISPlay:SPALette:COMPact  {ON | OFF | 1 | 0}

This command supports the DEFault, TOGGle, and VSET? common child commands.

Query Syntax

:DISPlay:SPALette:COMPact?

Query Response

{1 | 0}

Description

Displays the Signals pallete in normal size (OFF) or in compact size (ON). The default setting is OFF. To hide or show the Signals palette, use the DISPlay:SPALette command.


:DISPlay:GRATicule:MCONtrols

Removed command

Removed command for revision A.03.00 and above. This feature and command is no longer available.

Command Syntax

:DISPlay:MCONtrols  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:MCONtrols?

Query Response

{1 | 0}

Description

Hides or shows the marker tool flyout on the display.


:DISPlay:TBControls

Removed command

Removed command for revision A.03.00 and above. This feature and command is no longer available.

Command Syntax

:DISPlay:TBControls  {ON | OFF | 1 | 0}

Query Syntax

:DISPlay:TBControls?

Query Response

{1 | 0}

Description

Turns on and off the display of the acquisition buttons on FlexDCA's menu bar.


Introduction to :ECONtour Subsystem

Requires Option 401, Advanced Eye measurement tools Option 401. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Use the Eye Contour subsystem commands to place a group of eye-contour lines on NRZ and PAM-4 eye diagrams. As shown in the following picture, an Eye Contours legend is displayed that identifies the different eye-contour lines. You can display or hide all eye-contour legends using the :DISPlay:WINDow:ECLegend command. To expand or contract all displayed eye contour legends, use the :DISPlay:WINDow:TIME:LEGend:ECEXpand command.

FlexDCA Revision

This subsystem Requires FlexDCA revision A.05.30 and above.

Example

This Python script (with PyVISA) displays a group of eye-contour lines on the Channel 2A waveform. The waveform must be displayed. The script opens a session with N1010A FlexDCA (localhost) that is running on the same PC as the script. Click here to learn about controlling FlexDCA using Python.

# -*- coding: utf-8 -*-

import visa

rm = visa.ResourceManager()
FlexDCA = rm.open_resource("TCPIP0::localhost::hislip0::INSTR")

#Set Timeout - 10 seconds
FlexDCA.timeout =  5000
FlexDCA.read_termination = '\n'

FlexDCA.write(":ECONtour2:SOURce CHANnel2A")
FlexDCA.write(":ECONtour2:PSPec BER")
FlexDCA.write(":ECONtour2:BERates 1.0E-9,2.5E-15")
FlexDCA.write(":ECONtour2:DISPlay ON")

FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()

Commands

  • BERates
  • DISPlay
  • PSPec
  • RJSTabilize
  • RJSValue:EYE
  • RNSTabilize
  • RNSValue:LEVel
  • SOURce


:ECONtour{1:16}:BERates

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:BERates <list of BER rates>

<list of BER rates> is a comma-separated list of rates as described below.

Query Syntax

:ECONtour{1:16}:BERates?

Description

Creates a group of contour lines in the selected group. Up to eight contour lines can be created in one of 16 groups. The command argument is a comma-separated list of BER rates with each rate defining a contour line. When this command is sent, any current contour lines for the specified contour-line group are replaced with the BER rates listed in the argument. For example, the following command argument would result in the two standard and two custom contour lines selections shown in the Eye Contour Group Setup dialog box:

:ECONtour{1:16}:BERates 1E-6,1E-12,2.4E-4,1.5E-15

The query form of the command returns the contour lines defined for the specified contour-line group.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:ECONtour{1:16}:DISPlay

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:DISPlay {ON | OFF}

Query Syntax

:ECONtour{1:16}:DISPlay?

Description

Displays (ON) or hides (OFF) the selected group of eye contour lines. Hiding an eye contour group does not delete the group. You can redisplay the group and even move it to another waveform. To move the group of eye contour lines, use the :ECONtour:SOURce command. To define the group's lines, use the :ECONtour:BERates command.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:ECONtour{1:16}:LEVel:RNSValue

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:LEVel:RNSValue

Query Syntax

:ECONtour{1:16}:LEVel:RNSValue?

Description

Sets the

The query form of the command returns

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:ECONtour{1:16}:PSPec

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:PSPec {BER | PROBability}

Query Syntax

:ECONtour{1:16}:PSPec?

Description

Selects eye contour lines based on BER or probablility. To enter the values for each line, use the :ECONtour:BERates command. Selecting BER indicates Bit Error Rate for NRZ signals and Symbol Error Rate (SER) for PAM-4 signals.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:ECONtour{1:16}:RJSTabilize

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:RJSTabilize {ON | OFF}

Query Syntax

:ECONtour{1:16}:RJSTabilize?

Description

Turns on or off Random Jitter (RJ) stabilization for a group of eye-contour lines. When RJ stabilization is on, use the :ECONtour:RJSValue:EYE command to enter a separate value of RJ for each eye. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument. Each eye-contour line group has its own RJ stabilization values.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:ECONtour{1:16}:RJSValue:EYE{0|1|2}

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:RJSValue:EYE{0|1|2} <random_jitter>

<random_jitter> is a double.

Query Syntax

:ECONtour{1:16}:RJSValue:EYE{0|1|2}?

Description

For Random Jitter (RJ) stabilization, sets the value of RJ for the selected eye of an eye-contour group. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :ECONtour:RJSTabilize command to turn on or off the use of RJ stabilization.

Command | Description
:EYEl2 | Applies to eye 2/3.
:EYE1 (or :EYE) | Applies to eye 1/2.
:EYE0 | Applies to eye 0/1.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:ECONtour{1:16}:RNSTabilize

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:RNSTabilize {ON | OFF}

Query Syntax

:ECONtour{1:16}:RNSTabilize?

Description

Turns on or off Random Noise (RN) stabilization for a group of eye-contour lines. When RN stabilization is on, use the :ECONtour:RNSValue:LEVel command to enter a separate value of RN for each eye level. To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. Each eye-contour line group has its own RN stabilization values.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:ECONtour{1:16}:RNSValue:LEVel{0|1|2|3}

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:RNSValue:LEVel{0|1|2|3} <random_noise>

<random_noise> is a double.

Query Syntax

:ECONtour{1:16}:RNSValue:LEVel?

Description

For Random Noise (RN) stabilization, sets the value of RN for the selected eye level of an eye-contour group. PAM-4 signals have four possible levels: 0, 1, 2, and 3. NRZ signals has two possible levels: 0 and 1. There are actually four commands, one for each eye level on the signal.

  • :ECONtour{1:16}:RNSValue:LEVel3 (for PAM-4 only)
  • :ECONtour{1:16}:RNSValue:LEVel2 (for PAM-4 only)
  • :ECONtour{1:16}:RNSValue:LEVel1 (for NRZ and PAM-4)
  • :ECONtour{1:16}:RNSValue:LEVel0 (for NRZ and PAM-4)

To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. Use the :ECONtour:RNSTabilize command to turn on or off the use of RN stabilization.

Command | Description
:LEVel3 | Applies to level 3.
:LEVel2 | Applies to level 2.
:LEVel1 (or :LEVel) | Applies to level 1.
:LEVel0 | Applies to level 0.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:ECONtour{1:16}:SOURce

Requires Option 401, Advanced Eye measurement tools. If Option 200, Enhanced Jitter Analysis, is also installed, the application leverages the DCA-X's ability to measure ultra-low levels of Random Jitter (RJ). This can be used to obtain fixed RJ values.

Command Syntax

:ECONtour{1:16}:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:ECONtour{1:16}:SOURce?

Description

Selects the source waveform for the selected group of Eye Contour lines. If the source is not a valid waveform type (not an eye diagram) or the waveform is not displayed, the currently defined source for the eye-contour group will not be changed. To define the group's lines, use the :ECONtour:BERates command. To display the group's lines, use the :ECONtour:DISPlay command.

The query form of the command returns

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


Introduction to :EMEMory Subsystem

The Eye Memory subsystem commands allow you to load and display gray-scale and color-grade database waveforms into one of eight eye memories.

  • Learn More
  • Programming Home

General Commands

  • CLEar
  • COLor
  • CWINdow
  • DISPlay
  • LOAD
  • LOAD:SOURce
  • SIGNal:TYPE
  • STATus?
  • UNAMe

Waveform Definition Commands

  • UDEFined:BASe
  • UDEFined:DISTal
  • UDEFined:MESial
  • UDEFined:PROXimal
  • UDEFined:Top

Scaling and Units Queries

  • XLEFt?
  • XPOSition?
  • XREFerence?
  • XRIGht?
  • XSCale?
  • XUNits?
  • YBOTtom?
  • YOFFset?
  • YSCale?
  • YTOP?
  • YUNits?


Introduction to :EMEMory Subsystem (continued)

Eye memory waveforms can be saved, recalled, displayed, and measured in Eye/Mask Mode. The individual memories are identified by an integer (1 to 8) in the :EMEMory{1:8} command. For example, the following command sets the color of the displayed waveform for eye memory number 3 ( highlighted in red).

:EMEMory3:COLor TCOLor8

Channels (CHAN{1:8}), functions (FUNCtion{1:8}), and other eye memories (CGMemory{1:8}) can all be loaded into eye memories using the :EMEMory:LOAD:SOURce command. To load previously saved eye-memory files into an eye memory, use the :DISK subsytem commands :DISK:EYE:FNAMe and :DISK:EYE:RECall.

Note

Horizontal scale and delay information are not saved in color grade-gray scale memory files. If you plan on loading one of these files back into the FlexDCA, be sure to also save the instrument setup. You will need to load (restore) the instrument settings when you load the memory file.

Example Command Sequence

This example loads the channel 1A waveform into eye memory 2, assigns the waveform's color to dark blue, and displays the eye-memory waveform.

:EMEMory2:LOAD:SOURce CHAN1A
:EMEMory2:LOAD
:EMEMory2:COLor TCOLor9
:EMEMory2:DISPlay ON


:EMEMory{1:8}:CLEar

Command Syntax

:EMEMory{1:8}:CLEar

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Description

Erases the contents of the indicated eye memory. There is no query form of this command.


:EMEMory{1:8}:COLor

Command Syntax

:EMEMory{1:8}:COLor  {TCOLor1 | TCOLor2 | … | TCOLor12}

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:COLor?

Description

Selects the color used to identify a channel on the screen. Waveform color assignments are saved as part of an instrument Setup file (:DISK:SETup:SAVe). Waveform colors are reset to their default values by a default setup (:SYSTem:DEFault) or factory preset (:SYSTem:FACTory).

Channel Colors Versus Command Arguments
Color | Argument | Color | Argument | Color | Argument | Color | Argument
 | TCOLor1 |  | TCOLor2 |  | TCOLor3 |  | TCOLor4
 | TCOLor5 |  | TCOLor6 |  | TCOLor7 |  | TCOLor8
 | TCOLor9 |  | TCOLor10 |  | TCOLor11 |  | TCOLor12
 | TCOLor13 |  | TCOLor14 |  | TCOLor15 |  | TCOLor16

To change the color of waveforms other than channels, use the following additional :COLor commands that are located in other subsystems:

Additional :COLor Commands
Command | Description
:CHANnel:COLor | Sets color of channel waveforms.
:CMODe:COLor | Sets color of common-mode waveforms.
:DIFF:COLor | Sets color of differential waveforms.
:FUNCtion:COLor | Sets color of math function output waveforms.
:TRACe:COLor | Sets color of T-domain parameter or S-parameter waveforms in TDR/TDT mode.
:WMEMory:COLor | Sets color of waveform memories.

FlexDCA Revision

Requires FlexDCA revision A.04.50 for colors 13 through 16.


:EMEMory:CWINdow

Command Syntax

:EMEMory{1:8}:CWINdow TIMe{1}

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:CWINdow?

Description

The :EMEMory{1:8}:CWINdow command allows you to assign an eye memory waveform to a Waveform content window.

Note

As of this release, there is only one Waveform content window, so you will not need to use this command.

In future revisions, the :EMEMory{1:8}:CWINdow command will select a content window in which to display a channel waveform. In FlexDCA, four different types of content windows exist: Waveform (TIMe1), Group Delay (GDELay), Magnitude (MAGNitude), and Phase (PHASe). Each type varies by its type of X- and Y-axis units. Any given waveform is only compatible with one of these four content window types. Therefore, FlexDCA automatically assigns waveforms to the proper type of content window, such as Waveform or Phase. Waveforms can not be assigned to a different type of content window. For example, a Waveform waveform can not be moved to or shown in a Magnitude content window.

Command Arguments and Content Windows
Argument | Displayed Waveform Content Window | Number of Available Windows |  | Scale Units
 |  | Programmatically | Via Front Panel
TIMe1 | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:EMEMory{1:8}:DISPlay

Command Syntax

:EMEMory{1:8}:DISPlay  {ON | OFF | 1 | 0}

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:DISPlay?

Query Response

{1 | 0}

Description

Displays or hides the indicated eye-memory waveform.


:EMEMory{1:8}:LOAD

Command Syntax

:EMEMory{1:8}:LOAD

{1:8} identifies one of eight eye memories.

Description

Loads the selected waveform source into the indicated eye-memory location. Use the :EMEMory:LOAD:SOURce command to select the source. Use the :EMEMory:DISPLay command to display the eye-memory waveform. To load a color grade-gray scale file into eye memory, use the :DISK:EYE:FNAMe and :DISK:EYE:RECall commands.

Example Command Sequence

:EMEMory2:LOAD:SOURce CHAN1A
:EMEMory2:LOAD
:EMEMory2:DISPLay ON


:EMEMory{1:8}:LOAD:SOURce

Command Syntax

:EMEMory{1:8}:LOAD:SOURce {CHAN<N> | DIFF{1:4} | CGMemory{1:8} | FUNCtion{1:16}}

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:LOAD:SOURce?

Description

Selects the source waveform to load into eye memory. Use the :EMEMory{1:8}LOAD command to actually load the selected source.

Example Command Sequence

:EMEMory2:LOAD:SOURce CHAN1A
:EMEMory2:LOAD


:EMEMory:SIGNal:TYPE

:EMEMory{1:8}:SIGNal:TYPE

Command Syntax

:EMEMory{1:8}:SIGNal:TYPE {UNSPecified | NRZ | PAM4}

Query Syntax

:EMEMory{1:8}:SIGNal:TYPE?

Description

Specifiies the signal type that is stored in color-grade gray-scale memory. The default value is unspecified (UNSPecified).

PAM-N License

The PAM4 argument is only available if options 9FP or 9TP PAM-N Analysis software license is installed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:EMEMory{1:8}:STATus?

Query Syntax

:EMEMory{1:8}:STATus?

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Description

This query returns AVA (available) if the indicated eye-memory has a source waveform loaded and ready for display or measurements. Or, the query returns UNAV (unavailable) if the eye memory is empty.


:EMEMory{1:8}:UDEFined:BASe

Command Syntax

:EMEMory{1:8}:UDEFined:BASe <amplitude>

<amplitude> is an double.

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:UDEFined:BASe?

Description

For the indicated eye memory, sets or queries the custom base-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :EMEMory{1:8}:UDEFined:TOP to set or query a custom top level.

Before this custom base level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:EMEMory1:UDEFined:BASe -125E-3
:EMEMory1:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:EMEMory{1:8}:UDEFined:DISTal

Command Syntax

:EMEMory{1:8}:UDEFined:DISTal <amplitude>

<amplitude> is an double.

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:UDEFined:DISTal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the upper threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:DISTal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :EMEMory{1:8}:UDEFined:MESial command to enter a middle threshold level. Use the :EMEMory{1:8}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:EMEMory2:UDEFined:DISTal 125E-3
:EMEMory2:UDEFined:MESial 0E0
:EMEMory2:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:EMEMory{1:8}:UDEFined:MESial

Command Syntax

:EMEMory{1:8}:UDEFined:MESial <amplitude>

<amplitude> is an double.

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:UDEFined:MESial?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the middle threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :EMEMory{1:8}:UDEFined:DISTal command to enter a upper threshold level. Use the :EMEMory{1:8}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:EMEMory6:UDEFined:DISTal 125E-3
:EMEMory6:UDEFined:MESial 0E0
:EMEMory6:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:EMEMory{1:8}:UDEFined:PROXimal

Command Syntax

:EMEMory{1:8}:UDEFined:PROXimal <amplitude>

<amplitude> is an double.

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:UDEFined:PROXimal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the lower threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:PROXimal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :EMEMory{1:8}:UDEFined:DISTal command to enter a upper threshold level. Use the :EMEMory{1:8}:UDEFined:MESial command to enter a middle threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:EMEMory3:UDEFined:DISTal 125E-3
:EMEMory3:UDEFined:MESial 0E0
:EMEMory3:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:EMEMory{1:8}:UDEFined:TOP

Command Syntax

:EMEMory{1:8}:UDEFined:TOP <amplitude>

<amplitude> is an double.

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Query Syntax

:EMEMory{1:8}:UDEFined:TOP?

Description

For the indicated eye memory, sets or queries the custom top-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :EMEMory{1:8}:UDEFined:BASe to set or query a custom base level.

Before this custom top level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:EMEMory2:UDEFined:BASe -125E-3
:EMEMory2:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:EMEMory{1:8}:UNAMe

Command Syntax

:EMEMory{1:8}:UNAMe <string>

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Query Syntax

:EMEMory{1:8}:UNAMe?

Description

Assigns a custom user name to an eye-memory waveform. User names are helpful because they identify what a waveform represents rather than the oscilloscope's input channel. For example, you could assign user name "DUT Output" to the memory 2 waveform. User names can be 25 characters or less and are displayed on the screen and on screen captures. To remove a custom user name, re-create it using an empty string.

Example Command Sequence

:EMEMory2:UNAMe "DUT Output"


:EMEMory{1:8}:XLEFt?

Query Syntax

:EMEMory{1:8}:XLEFt?

{1:8} identifies one of eight eye memories.

Description

Queries the time value stored in eye-memory for the waveform's left edge. This is the value that existed when the source waveform was saved into eye memory or, if the data was loaded into eye memory from a color-grade gray-scale file (:CGRade:SAVE), it is the value that existed when the file was created. It may or may not be the same as FlexDCA's current setting.


:EMEMory{1:8}:XPOSition?

Query Syntax

:EMEMory{1:8}:XPOSition?

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Description

Queries the horizontal time position which is stored for the waveform in eye-memory. It may or may not be the same as FlexDCA's current setting. The horizontal position is the time delay relative to the trigger event, which is referenced to the display's left edge or center (:EMEMory:XREFerence?). The horizontal reference and position of the original waveform was set with the :TIMebase:REFerence and :TIMebase:POSition commands.


:EMEMory{1:8}:XREFerence?

Query Syntax

:EMEMory{1:8}:XREFerence?

{1:8} identifies one of eight eye memories.

Description

Queries the horizontal reference (LEFT or CENTer of the display) which is stored for the waveform in eye memory. The horizontal reference marks the trigger event and may or may not be the same as FlexDCA's current setting. The horizontal position is the time delay relative to the trigger event (:EMEMory:XPOSition?) relative to the trigger event. The horizontal reference and position of the original waveform was set with the :TIMebase:REFerence and :TIMebase:POSition commands.


:EMEMory{1:8}:XRIGht?

Query Syntax

:EMEMory{1:8}:XRIGht?

{1:8} identifies one of eight eye memories.

Description

Queries the time value stored in eye-memory for the waveform's right edge. This is the value that existed when the source waveform was saved into eye memory or, if the data was loaded into eye memory from a color-grade gray-scale file (:DISK:EYE:SAVe), it is the value that existed when the file was created. It may or may not be the same as FlexDCA's current setting.


:EMEMory{1:8}:XSCale?

Query Syntax

:EMEMory{1:8}:XSCale?

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Description

Queries the horizontal timebase scale (seconds-per-division or bits displayed) that is stored in eye-memory. It may or may not be the same as FlexDCA's current setting. Query the units (seconds or bits) with :EMEMory:XUNits?.


:EMEMory{1:8}:XUNits?

Query Syntax

:EMEMory{1:8}:XUNits?

{1:8} identifies one of eight eye memories.

Description

Queries the horizontal units (SEConds or BIT) stored for the waveform in eye-memory. It may or may not be the same as FlexDCA's current setting.


:EMEMory{1:8}:YBOTtom?

Query Syntax

:EMEMory{1:8}:YBOTtom?

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Description

Queries the amplitude value stored in eye-memory that corresponds to the graticule's bottom edge. This is the value that existed when the source waveform was saved into eye memory or, if the data was loaded into eye memory from a color-grade gray-scale file (:DISK:EYE:SAVe), it is the value that existed when the file was created. It may or may not be the same as FlexDCA's current setting.


:EMEMory{1:8}:YOFFset?

Query Syntax

:EMEMory{1:8}:YOFFset?

{1:8} identifies one of eight eye memories.

Description

Queries the voltage (or Watts) value representing the vertical offset that is stored for the waveform in eye-memory. The offset is located at the center of the display for electrical channels and the second graticule division from the bottom of the display screen for optical channels. It may or may not be the same as FlexDCA's current setting. The vertical scale for the waveform can be queried with :EMEMory:YSCale command.


:EMEMory{1:8}:YSCale?

Query Syntax

:EMEMory{1:8}:YSCale?

{1:8} identifies one of eight eye memories.

Description

Queries the vertical scale (sensitivity) stored for the waveform in eye-memory. This is volts-per-division for electrical waveforms and watts-per-division for optical waveforms. It may or may not be the same as FlexDCA's current setting. The vertical expansion and contraction is about the center offset value (:EMEMory:YOFFset) stored in eye memory and not at the ground reference. For optical channels, vertical expansion and contraction is about the second graticule division from the bottom of the display screen and also not at the ground reference.


:EMEMory{1:8}:YTOP?

Query Syntax

:EMEMory{1:8}:YTOP?

{1:8} identifies one of eight eye memories.

Description

Queries the amplitude value stored in eye-memory that corresponds to the graticule's top edge. This is the value that existed when the source waveform was saved into eye memory or, if the data was loaded into eye memory from a color-grade gray-scale file (:DISK:EYE:SAVe), it is the value that existed when the file was created. It may or may not be the same as FlexDCA's current setting.


:EMEMory{1:8}:YUNits?

Query Syntax

:EMEMory{1:8}:YUNits?

{1:8} identifies one of eight eye memories. For example, the eye memory 2 would be identified as :EMEMory2.

Description

Queries the amplitde units stored for the waveform in eye-memory.

Returned Values
Unit | Returned Value
V | VOLT
V2 | VOLT2
W | WATT
W2 | WATT2
unknown | UNKN


Introduction to :EMODules Subsystem

The Extended Modules subsystem assigns extended modules to internal DCA slots and simulated slots. Eight slots are available with the first four slots being occupied by the DCA, if present. Slots can be occupied by any of the following extended modules:

  • The 86100D DCA is always assigned to slots 1 through 4, if connected. In Compatibility configuration, the 86100D DCA can be removed and the slots reassigned to extended or simulated modules.
  • Simulated modules
  • N1092A/B/D DCA-M multiple-channel optical sampling oscilloscope
  • N1090A DCA-M is a single optical channel sampling oscilloscope
  • N4788A clock data recovery and demultiplexer external instrument

Slots 1 through 8 (5 through 8 when FlexDCA is connected to an 86100D) can be assigned to simulated modules or supported external instruments. Use the :SLOT:SELection command to make assignments of an extended module to a slot. Once an extended module is assigned to a channel, except for the DCA, use the other commands in this subsystem to establish a communication connection between FlexDCA and the extended module. For the DCA extended module, use the commands in the :RDCA subsystem to establish the connection.

The extended module configuration settings are always saved with an instrument state file (:DISK:SETup:SAVe command). When opening an instrument state file with the :SETup:RECall command, use the :SETup:RECall:HCONfig command to select whether to import the extended module configuration settings.

Note

This subsystem requires FlexDCA revision A.02.00 and above.

Commands for Extended Modules

  • :EMODules:DCAM:DEVice? (Returns device identification string)
  • :EMODules: SLOT:CMEThod? (Confirms connection with DCA-M)
  • :EMODules: SLOT:CONNect (Establishes the communication connection with an extended module)
  • :EMODules: SLOT:DISConnect (Unassigns an extended module, simulated module, or mainframe from the indicated slot)
  • :EMODules: SLOT:SELection (Assigns an extended module, simulated module, or mainframe to a slot)
  • :EMODules: SLOT:STATe? (Returns state of extended module connection)

Commands for N4877A Module

  • :EMODules: CRECovery:SADDress (Enters SICL address)
  • :EMODules: CRECovery:VADDress (Enters VISA address)
  • :EMODules: SLOT:ADDRess (Selects SICL or VISA LAN address)

Example Script

Click here to learn about a Python script that uses a simulated module.

Commands for Simulated Modules

  • :EMODules: SIMulator:SRATe (Selects CPU usage devoted to data simulation)


:EMODules:CRECovery{1:8}:SADDress

Command Syntax

:EMODules:CRECovery{1:8}:SADDress  <SICL address>

<SICL address> is a string.

Query Syntax

:EMODules:CRECovery:SADDress?

Description

Specifies the SICL address of an extended module, such as an N4877A clock data recovery and demultiplexer. To specify a VISA address, use the :CRECovery:VADDress command. Use the :SLOT:ADDRess command to select the type of address. Use the :SLOT:CONNect command to actually establish the LAN connection.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:EMODules:CRECovery{1:8}:VADDress

:EMODules:CRECovery:VADDress

Command Syntax

:EMODules:CRECovery{1:8}:VADDress  <VISA address>

<VISA address> is a string.

Query Syntax

:EMODules:CRECovery{1:8}:VADDress?

Description

Specifies the VISA address of an extended module, such as an N4877A clock data recovery and demultiplexer. To specify a SICL address, use the :CRECovery:SADDress command. Use the :SLOT:ADDRess command to select the type of address. Use the :SLOT:CONNect command to actually establish the LAN connection.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:EMODules:DCAM{1:8}:DEVice?

Query Syntax

:EMODules:DCAM{1:8}:DEVice?

Query Response

<ID_string>

Description

Queries the identificaiton string of a DCA-M product. The string is in the form of <N1090A>-<serial_number>. For example, the string returned for an N1090A could be N1090A-US12345678.

Compatible DCA-M Products

  • N1090A DCA-M single optical channel sampling oscilloscope
  • N1092A/B/D DCA-M single optical channel sampling oscilloscope

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:EMODules:SIMulator:SRATe

Command Syntax

:EMODules:SIMulator:SRATe {LOW | STANdard | HIGH}

Query Syntax

:EMODules:SIMulator:SRATe?

Description

Selects the waveform simulation rate which affects the amount of CPU usage devoted to data simulation: LOW, STANdard, or HIGH. The default setting is STANdard. Adjusting this setting can affect the performance of FlexDCA and any concurrently running applications.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:EMODules:SLOT{1:8}:ADDRess

Command Syntax

:EMODules:SLOT{1:8}:ADDRess {SICL | VISA}

Query Syntax

:EMODules:SLOT{1:8}:ADDRess?

Description

Specifies the type of LAN connection to a supported external module. Use the commands listed in the following table to actually enter the address of the extended module. Do not use this command for simulated or the DCA extended module. For the DCA, use the commands in the :RDCA subsystem.

Commands for Entering LAN Addresses
Extended Module | SICL Address | VISA Address
N4877A Clock Data Recovery | :EMODules:CRECovery:SADDress | :EMODules:CRECovery:VADDress
N1090A DCA | None (uses USB)
DCA | Use the :RDCA subsystem commands
Simulated | None

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:EMODules:SLOT{1:8}:CMEThod?

Query Syntax

:EMODules:SLOT{1:8}:CMEThod?

Query Response

{USB | NONE}

Description

Use this query to determine if a DCA-M product is connected to FlexDCA. As the only connection method for a DCA-M is via USB, the value returned can be USB or NONE.

Compatible DCA-M Products

  • N1090A DCA-M single optical channel sampling oscilloscope
  • N1092A/B/D DCA-M single optical channel sampling oscilloscope

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:EMODules:SLOT{1:8}:CONNect

Command Syntax

:EMODules:SLOT{1:8}:CONNect

Description

For the indicated slot, establishes the communication connection with an extended hardware module. This command does not apply to simulated extended modules. For all other extended modules, such as a DCA and N4877A, you must first define the communication method.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:EMODules:SLOT{1:8}:DISConnect

Command Syntax

:EMODules:SLOT{1:8}:DISConnect

Description

For the indicated slot, removes a simulated module or disconnects the communication with an extended hardware module. When FlexDCA is running on a PC, this command can be used to remove a connection to an 86100D from slots 1 to 4. Disconnecting a simulated module also unassigns the module from the slot. Disconnecting an extended hardware module, such as a N1090A, breaks the communication connection but does not unassign the module from the slot. Executing this command on an empty (unassigned) slot results in a settings conflict error.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:EMODules:SLOT{1:8}:SELection

Command Syntax

:EMODules:SLOT{1:8}:SELection {EMPTy | DCA | DCAM | N4877A | DEMini | DOMini | OEMini | QEMini}

Query Syntax

:EMODules:SLOT{1:8}:SELection?

Description

Example Script

Click here to learn about a Python script that uses a simulated module.

Assigns an extended module to an internal slot or simulated slot. The DCA argument assigns the DCA extended module (86100D) to slot 1 and it occupies slots 1 through 4. In Standard configuration, the DCA is automatically assigned and cannot be unassigned. In Compatibility configuration, the DCA can be unassigned (using the EMPTy argument), so that slot 1 through 4 become available for other extended modules. Extended modules can be simulated modules or an extended hardware module such as the N1090A DCA-M is a single optical channel sampling oscilloscope. Simulated slots 5 through 8 can only be assigned to simulated modules or supported external instruments.

Use the command query to determine what, if any, simulated or extended module is assigned to each slot.

Argument Availability
Argument and Query Response | Assigns | Configuration
 |  | Standard |  | Compatibility
 |  | Slots 1-4 | Slots 5-8 | Slots 1-4 | Slots 5-8
EMPTy | Clears (removes) an assigned module |  | ♦ | ♦ | ♦
DCA | Assigns the DCA to slots 1 through 4 | ♦ |  | ♦ |
DCAM | Assigns an N1090A |  | ♦ | ♦ | ♦
N4877A | Assigns an N4877A clock data recovery instrument |  | ♦ | ♦ | ♦
DEMini | Assigns simulated dual-electrical module |  | ♦ | ♦ | ♦
DOMini | Assigns simulated dual-optical module |  | ♦ | ♦ | ♦
OEMini | Assigns simulated electrical-optical module |  | ♦ | ♦ | ♦
QEMini | Assigns simulated quad-electrical module |  | ♦ | ♦ | ♦

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:EMODules:SLOT1:SELection QEMini EMPTy /* Remove DCA internal slots from slots 1 through 4 */
:EMODules:SLOT2:SELection QEMini /* Assign simulated quad-electrical to slot 2 */


:EMODules:SLOT{1:8}:STATe?

Query Syntax

:EMODules:SLOT{1:8}:STATe?

Query Response

{CONN | NCON}

Description

Queries a slot to determine if a communication connection has been established with an extended module. Simulated slots are always automatically connected when assigned. On other extended modules, such as the DCA, you must establish a communication connection after they have been assigned. To assign an extended module to a slot (including the DCA), use the :EMODules:SLOT:SELection command. To establish a connection for the DCA, use the :RDCA:CONNect command. To establish a connection to any other extended module, use the :EMODules:SLOT:CONNect command.

CONN
A connection has been established to an extended module in the indicated slot. If a multi-slot module is installed, such as the DCA which occupies slots 1 through 4, all slots occupied by the module return the CONN response.
NCON
A connection has not been established to an extended module in the indicated slot. This may also indicated that no module has been assigned to the slot.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


Introduction to :FEYE Subsystem

Use the commands in this subsystem to configure FlexEye Parallel Eye Analysis. With these commands you can select the channels, assign the session identifier, and turn FlexEye on.

Note

This subsystem requires FlexDCA revision A.05.40 and above.

Commands

  • CHANnel:ENABled
  • CHANnel:SID
  • DIFF:ENABled
  • DIFF:SID
  • SAMPles
  • STATe


:FEYE:CHANnel:ENABled

Command Syntax

:FEYE:CHANnel{N}:ENABled {ON | OFF}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:FEYE:CHANnel{N}:ENABled?

Description

Selects a channel to be used for FlexEye. To assign the session number for the selected channel, use the :FEYE:CHANnel:SID command. To turn on FlexEye parallel analysis use the :FEYE:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:FEYE:CHANnel:SID

Command Syntax

:FEYE:CHANnel{N}:SID SESSion{1:15}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:FEYE:CHANnel{N}:SID?

Description

Assigns a FlexEye session identifier number to the specified channel. Session numbers can be any integer from 1 through 15. The session number represents one instance of an independent FlexDCA sampling oscilloscope. The session's VISA address is derived from the session number. The same session number can be assigned to multiple channels (single-ended or differential). Session number assignments can also be viewed in the FlexEye Acquisition dialog box. To turn on the FlexEye, use the :FEYE:STATe command. The query form of the command returns the session ID number.

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:FEYE:DIFF:ENABled

Command Syntax

:FEYE:DIFF{N}:ENABled

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, 3C.

Query Syntax

:FEYE:DIFF{N}:ENABled?

Description

Selects a differential channel to be used for FlexEye. To assign the session number for the selected differential channel, use the :FEYE:DIFF:SID command. To turn on FlexEye parallel analysis use the :FEYE:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:FEYE:DIFF:SID

Command Syntax

:FEYE:DIFF{N}:SID

{N} identifies a specific channel and must be selected from {1:8}{A|C}. For example, 3C.

Query Syntax

:FEYE:DIFF{N}:SID?

Description

Assigns a FlexEye session identifier number to the specified differential channel. Session numbers can be any integer from 1 through 15. The session number represents one instance of an independent FlexDCA sampling oscilloscope. The session's VISA address is derived from the session number.The same session number can be assigned to multiple channels (single-ended or differential). In the case of a differential signal (two electrical channels), both channels must be assigned the same session number. Session number assignments can also be viewed in the FlexEye Acquisition dialog box. To turn on the FlexEye, use the :FEYE:STATe command. The query form of the command returns the session ID number.

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:FEYE:SAMPles

Command Syntax

:FEYE:SAMPles <count>

<count> is an int.

Query Syntax

:FEYE:SAMPles?

Description

Sets the number of sample points-per-unit interval (UI). The time spacing between measurement points can affect interpolation between the points used to make measurements. Increasing the sample number increases the time required to capture a single sweep. The default value is 1024 points. This command is similar to the :ACQuire:RLENgth command which sets the number of sample points for normal acquisition without FlexEye running.

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


:FEYE:STATe

Command Syntax

:FEYE:STATe {PAUSe | RUN | STOP}

Query Syntax

:FEYE:STATe?

Description

Controls the state of Independent Eye Acquisition.

PAUSe
Halts FlexEye from streaming data. FlexEye is also set to PAUSe mode if you send a :SYSTem:GTLocal command to place FlexDCA in local mode. With FlexEye paused you can make changes to FlexEye session configuration or change FlexDCA settings. Always follow the :FEYE:STATe PAUSe command with a *OPC? query to pause program execution until the command completes.
RUN
Runs FlexEye with each Session running as an independant sampling oscilloscope. Always follow the :FEYE:STATe RUN command with a *OPC? query to pause program execution.
STOP
Exits FlexEye mode restoring FlexDCA to its standard GUI without FlexEye tabs. Always follow the :FEYE:STATe STOP command with a *OPC? query to pause program execution.

FlexDCA Revision

Requires FlexDCA revision A.05.40 and above.


Introduction to :FUNCtion Subsystem

Example Python Script

Click these links to an example script that creates two math functions.

  • Python 3.4 version
  • Python 2.7 version

Use the Function subsystem to create up to 16 math functions.

  • Learn More
  • Programming Home

Create Math Function Commands

  • FOPerator
  • FOPerator:STATus?
  • FOPerator:STATus:REASon?

General Commands

  • COLor
  • CONStant
  • CWINdow
  • DISPlay
  • HTRacking
  • OPERand
  • SIGNal:TYPE
  • SIGNal:TYPE:TRACking
  • STATus?
  • UNAMe

Waveform Definition Commands

  • UDEFined:BASe
  • UDEFined:DISTal
  • UDEFined:MESial
  • UDEFined:PROXimal
  • UDEFined:TOP

Scaling and Units Queries

  • VTRacking
  • XLEFt?
  • XPOSition
  • XREFerence?
  • XRIGht?
  • XSCale
  • XUNits?
  • YBOTtom?
  • YOFFset
  • YSCale
  • YTOP?
  • YUNits?


Introduction to :FUNCtion Subsystem (continued)

QUICK TIP!

Creating functions begins with the :FUNCtion:FOPerator command. Read the topic for this command to learn about the different available functions.

The commands in the :FUNCtion subsystem create and modify one of 16 individual functions, as identified by an index: :FUNCtion{1:16}. For example,

:FUNCtion3:OPERand1

indicates that the :OPERand command applies to function 3. To create a function, use the :FUNCtion:FOPerator command. Math functions are part of FlexDCA's waveform signal processing tools.

Note

Some functions require additional configuration, which is accomplished using :SPRocess subsystem commands as explained in the :FUNCtion:FOPerator topic.

SAVING YOUR FUNCTIONS

The currently displayed function is automatically saved as part of the FlexDCA's state. Even if you close the FlexDCA application, the next time you open waveform signal processing your function will be viewed. A Default Setup (:SYSTem:DEFaut) erases the current function definition. To save your function definition, click File > Instrument Setup.

Example Command Sequence

Example Script

Click here to learn about a Python script that uses a math function.

This example creates two functions as shown in the following figure. You can quickly create this code by turning on the SCPI Recorder and using FlexDCA's Waveform Signal Processing's window construction area to build the functions. When finished, click Save in the SCPI Recorder to save the commands to a text file.

In the following commands, the :FOPerator is used to define Function 1 as the Add operator and Function 2 as the Amplify operator. The :OPERand command is used to assign various operands to each function.

Example Program

An example program is provided that shows how to apply a S2P (convolve) operator which can be used to compensate for the loss of a channel element such as a cable or fixture. Example are provided for C#.NET, Labview, Matlab, and Python. Look in the 86100D (or PC) installation folder: \Keysight\FlexDCA\Demo\Example Programs

:FUNCtion1:FOPerator ADD
:FUNCtion1:OPERand1 CHAN1A
:FUNCtion1:OPERand2 CONStant1
:FUNCtion1:CONStant 2.0
:FUNCtion1:COLor TCOLor2
:FUNCtion1:DISPlay ON
:FUNCtion2:FOPerator AMPLify
:FUNCtion2:OPERand1 FUNCtion1
:FUNCtion2:COLor TCOLor3
:FUNCtion2:DISPlay ON
  • If a channel is not on but is used as an operand, then that channel will acquire waveform data.
  • If the source waveforms have different record lengths, the function is performed over the shorter record length. The nearest point is located in the longer waveform record that corresponds to the current point in the shorter record. It then performs math functions on those points and skips non-corresponding points in the longer record.
  • If the two sources have the same time base scale, the resulting function has the same time scale. If the sources cover two different time intervals, the function is performed on the portion of the sources that overlap. If the sources don't overlap, the function cannot be performed.
  • If the operands have different time scales, the resulting function has no valid time scale. This is because operations are performed based on the displayed waveform data position, and the time relationship of the data records cannot be considered. When the time scale is not valid, delta time pulse parameter measurements have no meaning, and the unknown result indicator is displayed on the screen.
  • Numeric constant sources have the same horizontal scale as the associated waveform source.
  • Return to main topic


:FUNCtion{1:16}:COLor

Command Syntax

:FUNCtion{1:16}:COLor  {TCOLor1 | TCOLor2 | … | TCOLor12}

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:COLor?

Description

Selects the color used to identify a channel on the screen. Waveform color assignments are saved as part of an instrument Setup file (:DISK:SETup:SAVe). Waveform colors are reset to their default values by a default setup (:SYSTem:DEFault) or factory preset (:SYSTem:FACTory).

Channel Colors Versus Command Arguments
Color | Argument | Color | Argument | Color | Argument | Color | Argument
 | TCOLor1 |  | TCOLor2 |  | TCOLor3 |  | TCOLor4
 | TCOLor5 |  | TCOLor6 |  | TCOLor7 |  | TCOLor8
 | TCOLor9 |  | TCOLor10 |  | TCOLor11 |  | TCOLor12
 | TCOLor13 |  | TCOLor14 |  | TCOLor15 |  | TCOLor16

To change the color of waveforms other than channels, use the following additional :COLor commands that are located in other subsystems:

Additional :COLor Commands
Command | Description
:CHANnel:COLor | Sets color of channel waveforms.
:CMODe:COLor | Sets color of common-mode waveforms.
:DIFF:COLor | Sets color of differential waveforms.
:EMEMory:COLor | Sets color of eye memory waveforms
:TRACe:COLor | Sets color of T-domain parameter or S-parameter waveforms in TDR/TDT mode.
:WMEMory:COLor | Sets color of waveform memories.

FlexDCA Revision

Requires FlexDCA revision A.04.50 for colors 13 through 16.


:FUNCtion{1:16}:CONStant

Command Syntax

:FUNCtion{1:16}:CONStant   <value>

<value> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:CONStant?

Description

Sets the value of a constant that can be used as an operand for the add, subtract, multiply, and versus math operators. The constant has the same vertical scale as the associated waveform source. The default constant value is 1.


:FUNCtion{1:16}:CWINdow

Command Syntax

:FUNCtion{1:16}:CWINdow {TIMe{1} | GDELay{1:4} | MAGNitude{1:4} | PHASe{1:4}}

Query Syntax

:FUNCtion:CWINdow?

Description

Waveform Content Windows

As of this release, there is only one Waveform content window, so you would never need to use the :FUNCtion:CWINdow TIMe argument.

The :CWINdow command allows you to assign a waveform to one of four possible content windows of the same type. For example, window Phase 1, Phase 2, Phase 3, or Phase 4. Multiple compatible waveforms can be assigned to the same content window. This is illustrated in the following example:

:FUNCtion1:CWINdow PHASe1
:FUNCtion2:CWINdow PHASe1
:FUNCtion3:CWINdow PHASe2

In other words, the CWINdow command selects a content window in which to display a function's output waveform. In FlexDCA, four different types of content windows exist: Waveform (TIMe1), Group Delay (GDELay), Magnitude (MAGNitude), and Phase (PHASe). Each type varies by its type of X- and Y-axis units. Any given waveform is only compatible with one of these four content window types. Therefore, FlexDCA automatically assigns waveforms to the proper type of content window, such as Group Delay. Waveforms can not be assigned to a different type of content window. For example, a Group Delay waveform can not be moved to or shown in a Magnitude content window.

The output waveform of most functions is a linear magnitude waveform which is displayed in a Waveform content window (TIMe). If a functions allows its output waveform type to be changed, this would be accomplished by the function's :DISPlay child command, which is located in the :SPRocess subsystem. For example, the FFT function's output waveform can be selected as group delay, magnitude, or phase using the :SPRocess:FFT:DISPlay command.

Command Arguments and Content Windows
Argument | Displayed Waveform Content Window | Number of Available Windows |  | Scale Units
 |  | Programmatically | Via Front Panel
TIMe{1} | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds
GDELay{1:4} | Delay | 4 | 1 | Y-Axis: seconds X-Axis: Hertz
MAGNitude{1:4} | Magnitude | 4 | 1 | Y-Axis: dB (logarithmic scale) X-Axis: Hertz
PHASe{1:4} | Phase | 4 | 1 | Y-Axis: phase (°) X-Axis: Hertz

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:FUNCtion{1:16}:DISPlay

Command Syntax

:FUNCtion{1:16}:DISPlay {ON | OFF | 1 | 0}

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:DISPlay?

Query Response

{1 | 0}

Description

Displays or hides the indicated function waveform.


:FUNCtion{1:16}:FOPerator

Command Syntax

:FUNCtion{1:16}:FOPerator  {NONE | ADD | ALIGn | AMPLify | AVALue | AVERage | BESSel | BUTTerworth |
 CONVolve | CTLE | DCONvolve | DDEConvolve | DDEMbed | DEConvolve | DELay | DEMBed | DFEQualizer |
  DIFFerence | FFEQualizer | FFT | GAUSsian | INTegrate | INTerpolate | INVert | MAX | MEDian |
  MIN | MULTiply | RANDom | SINC | SQUare | SROot | SUBTract | SUMMation | VERSus | BUSer | USER}

Note

As of Revision A.04.00, the INTegrate argument has been deprecated. Use the SUMMation argument instead.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:FOPerator?

Description

Example Script

Click here to learn about a Python script that uses a math function.

Creates a math function which is identified with number 1 through 16. Identification numbers are used to identify the function in subsequent commands. You do not need to assign consecutive numbers when creating a new function. For example, you can create function 5, function 8, and then function 2 as shown in the following lines:

:FUNCtion5:FOPerator ADD
:FUNCtion8:FOPerator INVert
:FUNCtion2:FOPerator AMPLify
Color Legend for Tables in This Topic
Color | Definition
 | Indicates a required command that is used to create a working function.
 | Indicates an optional command used to alter a function's operation

NONE Argument

The function is undefined.

ADD Argument

Specifies an addition operator that adds source 1 to source 2, point by point, and places the result in the selected function waveform. When vertical scaling is set to Auto, the instrument automatically sets vertical scale and offset to display the entire function on the display. Any changes to vertical scale or offset to the source waveform are tracked. In Manual mode, you set the function's vertical scale and offset; tracking is disabled.

ALIGn Argument

Specifies an align operator that lines up two single-valued waveforms or eye diagrams.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:ALIGn:TIMe |
:SPRocess{1:16}:ALIGn:TIMe:AUTo |
:SPRocess{1:16}:ALIGn:TIMe:RECalculate |
:SPRocess{1:16}:DELay:TIMe |

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Note

The ALIGn function is not compatible with Jitter mode.

AMPLify Argument

Creates an amplify operator that is a copy of the operand. The magnify function is a software magnify. No hardware settings are altered as a result of using this function. It is useful for scaling channels, another function, or memories. Use the :FUNCtion:CONSTant command to specify the amount of amplification applied with this function.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:AMPLify:GAIN |

AVALue Argument

Specifies a absolute value operator where, for each input value, the Absolute math operator obtains the absolute values, point by point, of the source and places the result in the function waveform.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

AVERage Argument

Specifies an average operator that computes the average value of each time bucket for the defined operand's waveform.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:AVERage:ECOunt |

Note

The AVERage function is not compatible with Jitter mode.

BESSel Argument

Specifies a fourth-order bessel operator that is a linear low-pass filter.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:BESSel:BANDwidth |

Note

The Bessel operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

BUTTerworth Argument

Specifies a butterworth operator that is a low-pass filter.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:BUTTerworth:BANDwidth |
:SPRocess{1:16}:BUTTerworth:ORDer |

Note

The Butterworth operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

CONVolve Argument

Specifies an Apply S2P operator that defines a basic one-block model for a two-port device. Use this operator when you want to compensate for the loss of a channel element such as a cable or fixture.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:CONVolve:FNAMe |
:SPRocess{1:16}:CONVolve:FMODel |
:SPRocess{1:16}:CONVolve:FRELoad |
:SPRocess{1:16}:CONVolve:PEXTract |
:SPRocess{1:16}:CONVolve:PREorder |

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Apply S2P operator's output waveform.

CTLE Argument

Specifies a continuous time linear equalizer (CTLE) operator that is a first-order transfer function defined by DC gain, zero frequency, and two poles. If you are modeling equalization to open a severely closed eye diagram, you may need to manually set pattern lock on the instrument.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:CTLequalizer:GAIN |
:SPRocess{1:16}:CTLequalizer:POLe{1:2} |
:SPRocess{1:16}:CTLequalizer:ZERo |

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Note

Because the CTLE uses single-valued waveforms, it requires pattern lock triggering in either Eye/Mask or Oscilloscope modes.

DCONvolve Argument

Specifies an Apply S4P operator to defines a basic one-block model for a four-port device. Use this operator when you want to compensate for the loss of a channel element such as a cable or fixture.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:DCONvolve:FNAMe |
:SPRocess{1:16}:DCONvolve:DRESult |
:SPRocess{1:16}:DCONvolve:FMODel |
:SPRocess{1:16}:DCONvolve:FRELoad |
:SPRocess{1:16}:DCONvolve:PREorder |

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Apply S4P operator's output waveform.

DDEConvolve Argument

Specifies a Remove S4P operator that removes the effects of a four-port element from your measurements. This operator is easier to set up than the DeEmbedding operator (DDEMbed), however the measurement accuracy is reduced. Before you can use this operator, you must create an S-parameter file of the device to be removed.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:DDEConvolve:FNAMe |
:SPRocess{1:16}:DDEConvolve:BANDwidth |
:SPRocess{1:16}:DDEConvolve:BLIMit |
:SPRocess{1:16}:DDEConvolve:DRESult |
:SPRocess{1:16}:DDEConvolve:FMODel |
:SPRocess{1:16}:DDEConvolve:PREorder |

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Remove S4P operator's output waveform.

DDEMbed Argument

Specifies a 4-port DeEmbedding operator that provides the most precision for removing or inserting test-setup elements. This operator creates a network that describes the full system of transmitter, receiver, and channel blocks. Using remote commands, you can open an existing network file that you have previously created and saved for your test setup and you can configure bandwidth settings. However, you cannot create and define networks using remote commands. Instead, create your network files using FlexDCA's menus.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:DDEMbed:FNAMe |
:SPRocess{1:16}:DDEMbed |
:SPRocess{1:16}:DDEMbed:BANDwidth |
:SPRocess{1:16}:DDEMbed:BLIMit |

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by DEMBed requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the DEMBed's output waveform.

DEConvolve Argument

Specifies a Remove S2P operator that removes the effects of a two-port element from your measurements. is operator is easier to set up than the DeEmbedding operator (DEMBed), however the measurement accuracy is reduced. Before you can use this operator, you must create an S-parameter file of the device to be removed.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:DEConvolve:FNAMe |
:SPRocess{1:16}:DEConvolve:BANDwidth |
:SPRocess{1:16}:DEConvolve:BLIMit |
:SPRocess{1:16}:DEConvolve:FMODel |
:SPRocess{1:16}:DEConvolve:FRELoad |
:SPRocess{1:16}:DEConvolve:PEXTract |
:SPRocess{1:16}:DEConvolve:PREorder |

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Remove S2P operator's output waveform.

DELay Argument

Specifies a delay operator that applies a time delay to single-valued waveforms and eye diagrams.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:DELay:TIMe |

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Note

The DELay function is not compatible with Jitter mode.

DEMBed Argument

Specifies a 2-port DeEmbedding operator that provides the most precision for removing or inserting test-setup elements. This operator creates a network that describes the full system of transmitter, receiver, and channel blocks. Using remote commands, you can open an existing network file that you have previously created and saved for your test setup and you can configure bandwidth settings. However, you cannot create and define networks using remote commands. Instead, create your network files using FlexDCA's menus.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:DEMBed:FNAMe |
:SPRocess{1:16}:DEMBed:BANDwidth |
:SPRocess{1:16}:DEMBed:BLIMit |

Note

DEMBed requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by DEMBed requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the DEMBed's output waveform.

DFEQualizer Argument

Specifies a Decision Feedback Equalizer (DFE) operator that is defined by waveform, taps, and target levels. If you are modeling equalization to open a severely closed eye diagram, you may need to manually set pattern lock on the instrument.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:DFEQualizer:BANDwidth |
:SPRocess{1:16}:DFEQualizer:BANDwidth:AUTO |
:SPRocess{1:16}:DFEQualizer:CLKDelay |
:SPRocess{1:16}:DFEQualizer:DTHReshold |
:SPRocess{1:16}:DFEQualizer:TAPS |
:SPRocess{1:16}:DFEQualizer:TAPS:AUTO |
:SPRocess{1:16}:DFEQualizer:TAPS:COUNt |
:SPRocess{1:16}:DFEQualizer:TAPS:LLIMit |
:SPRocess{1:16}:DFEQualizer:TAPS:RECalculate |
:SPRocess{1:16}:DFEQualizer:TAPS:ULIMit |

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Note

Because the DFE uses single-valued waveforms, it requires pattern lock triggering in either Eye/Mask or Oscilloscope modes.

DIFFerence Argument

Specifies a difference operator where the output is equal to x(n) − x(n−1). This function is designed for a single-valued waveform, as opposed to an eye diagram.

Note

The DIFFerence function is not compatible with Jitter mode.

FFEQualizer Argument

Specifies a Linear Feedforward Equalizer operator applies a finite digital impulse response (non-recursive) filter.

Note

The Linear Feedforward Equalizer operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:FFEQualizer:BANDwidth |
:SPRocess{1:16}:FFEQualizer:BANDwidth:AUTo |
:SPRocess{1:16}:FFEQualizer:DCGain |
:SPRocess{1:16}:FFEQualizer:NPRecursors |
:SPRocess{1:16}:FFEQualizer:TAPS |
:SPRocess{1:16}:FFEQualizer:TAPS:AUTo |
:SPRocess{1:16}:FFEQualizer:TAPS:COUNt |
:SPRocess{1:16}:FFEQualizer:TAPS:NORMalize |
:SPRocess{1:16}:FFEQualizer:TAPS:RECalculate |
:SPRocess{1:16}:FFEQualizer:TSPacing |
:SPRocess{1:16}:FFEQualizer:TSPacing:TIMe |
:SPRocess{1:16}:FFEQualizer:TSPacing:TPBit |

Note

Jitter measurements can be made on the Linear Feedforward Equalizer's output waveform.

FFT Argument

Specifies an Fast Fourier Transform (FFT) operator that takes the sample points of the waveform in the time domain and computes the frequency components.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:FFT:DISPlay |
:SPRocess{1:16}:FFT:WINDow |
:SPRocess{1:16}:FFT:TFACtor |

Note

The FFT function is not compatible with Jitter mode.

GAUSsian Argument

Specifies a Gaussian operator that is a bandpass filter.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:GAUSsian:BANDwidth |
:SPRocess{1:16}:GAUSsian:RISetime |

Note

The Gaussian operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

INTegrate Argument (Deprecated Argument)

Specifies an summation operator that cumulatively sums the current and ALL previous (in time) input values.

Note

Deprecated argument. The short form of the argument (INTE) incorrectly specifies an INTerpolate operator. Use the SUMMation argument instead in FlexDCA revisions A.04.00 and above.

Note

The Interpolation operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The INTegrate function is not compatible with Jitter mode.

INTerpolate Argument

Specifies an interpolation operator that adds new points between each of the input waveform's points and can be used to reconstruct a band-limited signal.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:INTerpolate:FACTor |
:SPRocess{1:16}:INTerpolate:METHod |

Note

The Interpolation operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The INTerpolate function is not compatible with Jitter mode.

INVert Argument

Specifies a invert operator that inverts the defined operand's waveform by multiplying by −1. Not available in Jitter mode.

MAX Argument

Specifies a maximum operator that computes the maximum value of the operand waveform in each time bucket.

Note

The MAX function is not compatible with Jitter mode.

MEDian Argument

Specifies a median operator that computes the median value of each time bucket for the defined operand's waveform.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:MEDian:ECOunt |

Note

The MEDian function is not compatible with Jitter mode.

MIN Argument

Specifies a minimum operator that computes the minimum value of each time bucket for the defined operand's waveform.

Note

The MIN function is not compatible with Jitter mode.

MULTiply Argument

Specifies a multiply operator that multiplies source 1 by source 2, point by point, and places the result in the selected function waveform. When vertical scaling is set to Auto, the instrument automatically sets vertical scale and offset to display the entire function on the display. Any changes to vertical scale or offset to the source waveform are tracked. In Manual mode, you set the function's vertical scale and offset; tracking is disabled.

RANDom Argument

Specifies a random operator that add random jitter or noise to the simulated waveform.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:RANDom:JITTer |
:SPRocess{1:16}:RANDom:NOISe |

Note

The RANDom function is not compatible with Jitter mode.

SINC Argument

Specifies an Sin(x)/x, sinc(x), operator can be used to filter an input waveform.

Function Configuration
:SPRocess Subsystem Command | Required for Setup
:SPRocess{1:16}:GAUSsian:BANDwidth |

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Note

The sinc(x) operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

Jitter measurements can be made on the Sin(x) / x operator's output waveform.

SQUare Argument

Specifies a square operator that takes the square of each value of each time bucket for the defined operand's waveform. Not available in Jitter mode.

SROot Argument

Specifies a square-root operator where for each input value, point by point, the square root of the source is determined and placed in the function waveform. For example, a 10 mV input voltage point results in a 100 mV½ output point. The output units are not V or W. Instead, they are V½ or W½, which are identified on screen as V½ or W½. The scale of the output waveform does not track the input waveform.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

SUBTract Argument

Specifies a subtract operator that algebraically subtracts the second operand from the first operand.

SUMMation Argument

Specifies a summation operator that cumulatively sums the current and ALL previous (in time) input values.

Note

The summation operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The SUMMation function is not compatible with Jitter mode.

VERSus Argument

Specifies a versus (X vs. Y) math operator that plots the source 1 amplitude on the vertical Y-axis and the source 2 amplitude on the horizontal X-axis.

Note

The VERSus function is not compatible with Jitter mode.

USER Argument

Specifies a one-input user operator that sends the input waveform to a Matlab or Python script and sends the output waveform from the script to the display. To load a configuration file into the operator, use the :SPRocess:USER:CFILe command.

Note

Requires FlexDCA revision A.05.00 and above.

BUSer Argument

Specifies a two-input user operator that sends the input waveforms to a Matlab or Python script and sends the output waveform from the script to the display. To load a configuration file into the operator, use the :SPRocess:BUSer:CFILe command.

Note

Requires FlexDCA revision A.05.00 and above.

Example Command Sequence

:FUNCtion2:FOPerator CONVolve
:SPRocess2:CONVolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:FUNCtion{1:16}:FOPerator:STATus?

Query Syntax

:FUNCtion{1:16}:FOPerator:STATus?

{1:16} identifies one of sixteen math functions that you can create.

Description

Queries the status of a function's definition. Some functions require configuration after being created using the :FUNCtion<N>:FOPerator parent command.

CORR
The function definition is correct and complete.
INV
The function needs configuration to be complets. Use the :REASon child command to return a string that indicates the missing information.


:FUNCtion{1:16}:FOPerator:STATus:REASon?

Query Syntax

:FUNCtion{1:16}:FOPerator:STATus:REASon?

{1:16} identifies one of sixteen math functions that you can create.

Description

Returns a string that indicates the information required to correctly configure a function. For example, the string "Please select a file" would be returned for an incomplete Apply s2p operator.


:FUNCtion{1:16}:HTRacking

Command Syntax

:FUNCtion{1:16}:HTRacking  {AUTO | MANual}

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:HTRacking?

Description

Select AUTO or MANual for horizontal offset and scaling. All math operators allow horizontal scaling.

AUTO
The appropriate scale and offset for the function is automatically based on the source waveform. Function scaling tracks any changes to the source scaling. Use automatic scaling mode first, then use manual scaling to make fine adjustments to the functions.
MANual
Turns off automatic tracking of source scaling. Use the :FUNCtion:XPOSition and :FUNCtion:XSCale commands to manually set the horizontal scale and offset. FlexDCA tries to display the correct units for your function.


:FUNCtion{1:16}:OPERand{1|2}

Command Syntax

:FUNCtion{1:16}:OPERand{1|2} {CHAN{N} | DIFF{1:4} | WMEMory{1:8} | CONStant{1:16}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:FUNCtion{1:16}:OPERand?

Description

Assigns a source as an operand to the indicated function. Operands can be channels, differential channels, waveform memories, and constants. Constants can be applied to only one input of the add, subtract, multiply, or versus functions. If a function only accepts one operand, identify the operand in the command string as shown in the following examples:

:FUNCtion1:OPERand
:FUNCtion1:OPERand1

If the function takes a second operand, identify the second operand as:

:FUNCtion1:OPERand2

Operand 1 is always the function's top-most operand in waveform signal processing diagrams.


:FUNCtion:SIGNal:TYPE

:FUNCtion{1:16}:SIGNal:TYPE

Command Syntax

:FUNCtion{1:16}:SIGNal:TYPE {UNSPecified | NRZ | PAM4}

Query Syntax

:FUNCtion{1:16}:SIGNal:TYPE?

Description

Manually sets a function's output signal type when automatic tracking is set to manual (:SIGNal:TYPE:TRACking). By default, automatic tracking is turned on. The query returns the function's current signal type, which can be Unspecified, NRZ formatted data, or PAM4 formatted data. Sending this command with automatic tracking turned on results in a settings conflict error.

Example Command Sequence

:FUNCtion3:FOPerator ADD  //  Create an ADD function
:FUNCtion3:OPERand1 CHANnel2A
:FUNCtion3:OPERand2 CHANnel2B
:FUNCtion3:DISPlay ON
:FUNCtion3:SIGNal:TYPE:TRACking MANual  //  Auto tracking turned off
:FUNCtion3:SIGNal:TYPE PAM4  //  Function's output signal type set to PAM4

PAM-N License

The PAM4 argument is only available if options 9FP or 9TP PAM-N Analysis software license is installed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:FUNCtion:SIGNal:TYPE:TRACking

:FUNCtion{1:16}:SIGNal:TYPE:TRACking

Command Syntax

:FUNCtion{1:16}:SIGNal:TYPE:TRACking {AUTO | MANual}

Query Syntax

:FUNCtion{1:16}:SIGNal:TYPE:TRACking?

Description

Turns on and off automatic tracking of the function's input signal types. Unlike channel, common mode, and differential signals, a function's output signal type is not detected but instead tracks the input signal types. Consider the examples of signal tracking in the following table. By default, automatic tracking (AUTO) is on.

Examples of Signal-Type Tracking
Example | Input Signal Types | Example Function | Output Signal Type
1 | Input 1: PAM4 Input 2: PAM4 |  | PAM4
2 | Input 1: PAM4 Input 2: NRZ |  | Unspecified
3 | Input 1: NRZ Input 2: constant |  | NRZ

When tracking is set to MANual, the function's output signal type no longer tracks the inputs. Instead, you specify the function's output signal type with the :SIGNal:TYPE parent command.

Example Command Sequence

:FUNCtion3:FOPerator ADD  //  Create an ADD function
:FUNCtion3:OPERand1 CHANnel2A
:FUNCtion3:OPERand2 CHANnel2B
:FUNCtion3:DISPlay ON
:FUNCtion3:SIGNal:TYPE:TRACking AUTO  //  Auto tracking turned on
:FUNCtion3:SIGNal:TYPE?  //  Query function's output signal type

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:FUNCtion{1:16}:STATus?

Query Syntax

:FUNCtion{1:16}:STATus?

{1:16} identifies one of sixteen math functions that you can create.

Query Response

{AVA | UNAV}

Description

Queries the availability of a math function for use. A math function becomes available (AVA) after the function is defined using the :FUNCtion:FOPerator command. The math function does not need to be displayed to be classed as available. Available math functions are shown in the Signals Palette. A math function is unavailable (UNAV) if a function has not been created.

Use the :FUNCtion:DISPlay command query to determine if a math function output waveform is displayed.


:FUNCtion{1:16}:UDEFined:BASe

Command Syntax

:FUNCtion{1:16}:UDEFined:BASe   <amplitude>

<amplitude> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:UDEFined:BASe?

Description

For the indicated function, sets or queries the custom base-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :FUNCtion{1:16}:UDEFined:TOP to set or query a custom top level.

Before this custom base level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:FUNCtion3:UDEFined:BASe -125E-3
:FUNCtion3:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:FUNCtion{1:16}:UDEFined:DISTal

Command Syntax

:FUNCtion{1:16}:UDEFined:DISTal   <amplitude>

<amplitude> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:UDEFined:DISTal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the upper threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:DISTal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :FUNCtion{1:16}:UDEFined:MESial command to enter a middle threshold level. Use the :FUNCtion{1:16}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:FUNCtion3:UDEFined:DISTal 125E-3
:FUNCtion3:UDEFined:MESial 0E0
:FUNCtion3:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:FUNCtion{1:16}:UDEFined:MESial

Command Syntax

:FUNCtion{1:16}:UDEFined:MESial   <amplitude>

<amplitude> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:UDEFined:MESial?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the middle threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :FUNCtion{1:16}:UDEFined:DISTal command to enter a upper threshold level. Use the :FUNCtion{1:16}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:FUNCtion5:UDEFined:DISTal 125E-3
:FUNCtion5:UDEFined:MESial 0E0
:FUNCtion5:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:FUNCtion{1:16}:UDEFined:PROXimal

Command Syntax

:FUNCtion1{1:16}:UDEFined:PROXimal   <amplitude>

<amplitude> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion1{1:16}:UDEFined:PROXimal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets or queries the lower threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:PROXimal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :FUNCtion{1:16}:UDEFined:DISTal command to enter a upper threshold level. Use the :WMEMory{1:8}:FUNCtion:MESial command to enter a middle threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:FUNCtion2:UDEFined:DISTal 125E-3
:FUNCtion2:UDEFined:MESial 0E0
:FUNCtion2:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:FUNCtion{1:16}:UDEFined:TOP

Command Syntax

:FUNCtion{1:16}:UDEFined:TOP   <amplitude>

<amplitude> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:UDEFined:TOP?

Description

For the indicated function, sets or queries the custom top-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :FUNCtion{1:16}:UDEFined:BASe to set or query a custom base level.

Before this custom top level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:FUNCtion3:UDEFined:BASe -125E-3
:FUNCtion3:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:FUNCtion{1:16}:UNAMe

Command Syntax

:FUNCtion{1:16}:UNAMe <string>

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:UNAMe?

Description

Assigns a custom user name to a function waveform. User names are helpful because they identify what a waveform represents rather than the function name. For example, you could assign user name "Transceiver Output" to the memory 2 waveform. User names can be 25 characters or less and are displayed on the screen and on screen captures. To remove a custom user name, re-create it using an empty string.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

:FUNCtion2:UNAMe "Transceiver Output"

  • Channel Inputs


:FUNCtion{1:16}:VTRacking

Command Syntax

:FUNCtion{1:16}:VTRacking  {AUTO | MANual}

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:VTRacking?

Description

Selects the vertical offset and scaling mode. All math operators allow vertical scaling.

AUTO
The appropriate scale and offset for the function is automatically based on the source waveform. Function scaling tracks any changes to the source scaling. Use automatic scaling mode first, then use manual scaling to make fine adjustments to the functions. The vertical scaling and offset for the Multiply and Square math operators always use manual scaling and can not be set to AUTO.
MANual
Turns off automatic tracking of source scaling. Use the YSCale and YOFFset commands to manually set the vertical scale and offset. FlexDCA tries to display the correct units for your function.


:FUNCtion{1:16}:XLEFt?

Query Syntax

:FUNCtion{1:16}:XLEFt?

{1:16} identifies one of sixteen math functions that you can create.

Description

For the indicated function, queries the time value for the waveform's left edge.


:FUNCtion{1:16}:XPOSition

Command Syntax

:FUNCtion{1:16}:XPOSition   <time>

<time> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:XPOSition?

Description

Sets the horizontal time position. The horizontal position is the time delay relative to the trigger event, which is referenced to the display's left edge or center (XREFerence?).


:FUNCtion{1:16}:XREFerence?

Query Syntax

:FUNCtion{1:16}:XREFerence?

{1:16} identifies one of sixteen math functions that you can create.

Description

Queries the horizontal reference which is LEFT or CENTer of the display. The horizontal reference is the reference for specifying a delay, horizontal position (XPOSition?), relative to the trigger event.


:FUNCtion{1:16}:XRIGht?

Query Syntax

:FUNCtion{1:16}:XRIGht?

{1:16} identifies one of sixteen math functions that you can create.

Description

For the indicated function, queries the time value for the waveform's right edge.


:FUNCtion{1:16}:XSCale

Command Syntax

:FUNCtion{1:16}:XSCale   <seconds>

<seconds> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:XSCale?

Description

Sets the horizontal time scale in seconds-per-division or bits, depending on the timebase units setting (:FUNCtion:XUNits). Use the :FUNCtion:XPOSition to set the horizontal position ( time delay relative to the trigger event). Use the :FUNCtion:XLEFt to query the time value at the graticule's left edge and :FUNCtion:XRIGht to squery the time value at the graticule's right edge.


:FUNCtion{1:16}:XUNits?

Query Syntax

:FUNCtion{1:16}:XUNits?

{1:16} identifies one of sixteen math functions that you can create.

Description

Queries the horizontal units (SEConds or BIT) for the indicated function's waveform.


:FUNCtion{1:16}:YBOTtom?

Query Syntax

:YBOTtom{1:16}:YBOTtom?

{1:16} identifies one of sixteen math functions that you can create.

Description

Queries the amplitude value that corresponds to the graticule's bottom edge.


:FUNCtion{1:16}:YOFFset

Command Syntax

:FUNCtion{1:16}:YOFFset   <amplitude>

<amplitude> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:YOFFset?

Description

Sets the voltage (or Watts) value representing the vertical offset for the indicated function's waveform. The offset is located at the center of the display for electrical waveforms and the second graticule division from the bottom of the display screen for optical waveforms. Vertical scaling (VTRacking) automatically changes the mode from auto to manual. The amount of offset is limited to being within the vertical range that can be represented by the function data. The vertical scale for the waveform can be queried with :FUNCtion:YSCale command.


:FUNCtion{1:16}:YSCale

Command Syntax

:FUNCtion{1:16}:YSCale   <amplitude>

<amplitude> is an double.

{1:16} identifies one of sixteen math functions that you can create.

Query Syntax

:FUNCtion{1:16}:YSCale?

Description

Sets the vertical scale (sensitivity). This is volts-per-division for electrical waveforms and watts-per-division for optical waveforms. Vertical scaling (VTRacking) automatically changes the mode from auto to manual. The vertical expansion and contraction is about the center offset value (YOFFset). For optical channels, vertical expansion and contraction is about the second graticule division from the bottom of the display screen and also not at the ground reference.


:FUNCtion{1:16}:YTOP?

Query Syntax

:FUNCtion{1:16}:YTOP?

{1:16} identifies one of sixteen math functions that you can create.

Description

Queries the amplitude value that corresponds to the graticule's top edge.


:FUNCtion{1:16}:YUNits?

Query Syntax

:FUNCtion{1:16}:YUNits?

{1:16} identifies one of sixteen math functions that you can create.

Description

Queries the amplitde units for a function's waveform.

Returned Values
Unit | Returned Value
V | VOLT
V2 | VOLT2
W | WATT
W2 | WATT2
unknown | UNKN


Introduction to :GRAPh Subsystem

Use the :GRAPh subsystem commands to control waveform scaling and position (with some exceptions) for the following frequency and time domain content windows. Click here to learn important information about content windows and window axis scaling.

  • Frequency-Domain Graphs
    • Freq-Mag
    • GrpDelay
    • Phase
  • Time-Domain Graphs
    • Time-Ohms
    • Time-%
    • Time-Volts
  • Programming Home

FlexDCA Revision

This subsystem requires FlexDCA revision A.03.00 and above for support of frequency-domain graphs and revision A.04.00 for support of time-domain graphs.

Frequency-Domain Graph Commands

  • GDELay:AUToscale
  • GDELay:X:AUToscale
  • GDELay:X:CENTer
  • GDELay:X:SPAN
  • GDELay:X:STARt
  • GDELay:X:STOP
  • GDELay:Y:AUToscale
  • GDELay:Y:OFFSet
  • GDELay:Y:SCALe
  • MAGNitude:AUToscale
  • MAGNitude:X:AUToscale
  • MAGNitude:X:CENTer
  • MAGNitude:X:SPAN
  • MAGNitude:X:STARt
  • MAGNitude:X:STOP
  • MAGNitude:Y:AUToscale
  • MAGNitude:Y:OFFSet
  • MAGNitude:Y:SCALe
  • PHASe:AUToscale
  • PHASe:X:AUToscale
  • PHASe:X:CENTer
  • PHASe:X:SPAN
  • PHASe:X:STARt
  • PHASe:X:STOP
  • PHASe:Y:AUToscale
  • PHASe:Y:OFFSet
  • PHASe:Y:SCALe

Time-Domain Graph Commands

  • T:OHMS:AUToscale
  • T:OHMS:X:DCONstant
  • T:OHMS:X:POSition
  • T:OHMS:X:SCALe
  • T:OHMS:X:UNITs
  • T:OHMS:X:VFACtor
  • T:OHMS:Y:AUToscale
  • T:OHMS:Y:OFFSet
  • T:OHMS:Y:SCALe
  • T:PERCent:AUToscale
  • T:PERCent:X:DCONstant
  • T:PERCent:X:POSition
  • T:PERCent:X:SCALe
  • T:PERCent:X:UNITs
  • T:PERCent:X:VFACtor
  • T:PERCent:Y:AUToscale
  • T:PERCent:Y:OFFSet
  • T:PERCent:Y:SCALe
  • T:VOLTs:AUToscale
  • T:VOLTs:X:DCONstant
  • T:VOLTs:X:POSition
  • T:VOLTs:X:SCALe
  • T:VOLTs:X:UNITs
  • T:VOLTs:X:VFACtor
  • T:VOLTs:Y:AUToscale
  • T:VOLTs:Y:OFFSet
  • T:VOLTs:Y:SCALe


:GRAPh:GDELay{1:4}:AUToscale

Command Syntax

:GRAPh:GDELay{1:4}:AUToscale

Description

Automatically scales both X and Y axis of the specified GrpDelay (group delay) waveform content window. Sources of GrpDelay waveforms include FFT math functions and TDR/TDT mode's S-parameter waveforms.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:GDELay{1:4}:X:AUToscale

Command Syntax

:GRAPh:GDELay{1:4}:X:AUToscale

Description

Automatically scales the X-axis of the specified GrpDelay (group delay) waveform content window. Use the :CENTer, :SPAN, :STARt, and :STOP sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:GDELay{1:4}:X:CENTer

Command Syntax

:GRAPh:GDELay{1:4}:X:CENTer <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:GDELay{1:4}:X:CENTer?

Description

For the specified GrpDelay (group delay) waveform content window, sets the graph's X-axis center frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:GDELay{1:4}:X:SPAN

Command Syntax

:GRAPh:GDELay{1:4}:X:SPAN <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:GDELay{1:4}:X:SPAN?

Description

For the specified GrpDelay (group delay) waveform content window, sets the graph's X- axis frequency span in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:GDELay{1:4}:X:STARt

Command Syntax

:GRAPh:GDELay{1:4}:X:STARt <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:GDELay{1:4}:X:STARt?

Description

For the specified GrpDelay (group delay) waveform content window, sets the graph's X- axis start frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:GDELay{1:4}:X:STOP

Command Syntax

:GRAPh:GDELay{1:4}:X:STOP <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:GDELay{1:4}:X:STOP?

Description

For the specified GrpDelay (group delay) waveform content window, sets the graph's X- axis stop frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:GDELay{1:4}:Y:AUToscale

Command Syntax

:GRAPh:GDELay{1:4}:Y:AUToscale

Description

Automatically offsets and scales the Y-axis (time) of the specified GrpDelay (group delay) waveform content window. Use the :OFFSet, and :SCALe sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:GDELay{1:4}:Y:OFFSet

Command Syntax

:GRAPh:GDELay{1:4}:Y:OFFSet <seconds>

<seconds> is a double.

Query Syntax

:GRAPh:GDELay{1:4}:Y:SCALe?

Description

Sets the vertical offset of the specified GrpDelay (group delay) content window in seconds at the Y-axis's center graticule. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:GDELay{1:4}:Y:SCALe

Command Syntax

:GRAPh:GDELay{1:4}:Y:SCALe <scale>

<scale> is a double.

Query Syntax

:GRAPh:GDELay{1:4}:Y:SCALe?

Description

Sets the vertical scale of the specified GrpDelay (group delay) content window in seconds-per-division. The vertical expansion and contraction is referenced to the center graticule (:YOFFset sibling command) of the display. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:AUToscale

Command Syntax

:GRAPh:MAGNitude{1:4}:AUToscale

Description

Automatically scales both X and Y axis of the specified Freq-Mag waveform content window. Sources of Freq-Mag waveforms include FFT math functions and TDR/TDT mode's S-parameter waveforms.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:X:AUToscale

Command Syntax

:GRAPh:MAGNitude{1:4}:X:AUToscale

Description

Automatically scales the X-axis of the specified Freq-Mag waveform content window. Use the :CENTer, :SPAN, :STARt, and :STOP sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:X:CENTer

Command Syntax

:GRAPh:MAGNitude{1:4}:X:CENTer <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:MAGNitude{1:4}:X:CENTer?

Description

For the specified Freq-Mag waveform content window, sets the graph's X- axis center frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:X:SPAN

Command Syntax

:GRAPh:MAGNitude{1:4}:X:SPAN <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:MAGNitude{1:4}:X:SPAN?

Description

For the specified Freq-Mag waveform content window, sets the graph's X- axis frequency span in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:X:STARt

Command Syntax

:GRAPh:MAGNitude{1:4}:X:STARt <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:MAGNitude{1:4}:X:STARt?

Description

For the specified Freq-Mag waveform content window, sets the graph's X- axis start frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:X:STOP

Command Syntax

:GRAPh:MAGNitude{1:4}:X:STOP <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:MAGNitude{1:4}:X:STOP?

Description

For the specified Freq-Mag waveform content window, sets the graph's X- axis stop frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:Y:AUToscale

Command Syntax

:GRAPh:MAGNitude{1:4}:AUToscale

Description

Automatically offsets and scales the Y-axis of the specified Freq-Mag waveform content window. Use the :OFFSet, and :SCALe sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:Y:OFFSet

Command Syntax

:GRAPh:MAGNitude{1:4}:Y:OFFSet <dB>

<dB> is a double.

Query Syntax

:GRAPh:MAGNitude{1:4}:Y:OFFSet?

Description

Sets the vertical offset of the specified Freq-Mag content window at the Y-axis's center graticule. In TDR/TDT mode, the offset value is in dBV (electrical) or dBm (optical). In TDR Mode, the offset value is in dB. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:MAGNitude{1:4}:Y:SCALe

Command Syntax

:GRAPh:MAGNitude{1:4}:Y:SCALe <scale>

<scale> is a double.

Query Syntax

:GRAPh:MAGNitude{1:4}:Y:SCALe?

Description

Sets the vertical scale of the specified Freq-Mag content window in dB-per-division. The vertical expansion and contraction is referenced to the center graticule (:YOFFset sibling command) of the display. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:AUToscale

Command Syntax

:GRAPh:PHASe{1:4}:AUToscale

Description

Automatically scales both X and Y axis of the specified Phase waveform content window. Sources of Phase waveforms include FFT math functions and TDR/TDT mode's S-parameter waveforms.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:X:AUToscale

Command Syntax

:GRAPh:PHASe{1:4}:X:AUToscale

Description

Automatically scales the X-axis of the specified Phase waveform content window. Use the :CENTer, :SPAN, :STARt, and :STOP sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:X:CENTer

Command Syntax

:GRAPh:PHASe{1:4}:X:CENTer <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:PHASe{1:4}:X:CENTer?

Description

For the specified Phase waveform content window, sets the graph's X- axis center frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:X:SPAN

Command Syntax

:GRAPh:PHASe{1:4}:X:SPAN <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:PHASe{1:4}:X:SPAN?

Description

For the specified Phase waveform content window, sets the graph's X- axis frequency span in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:X:STARt

Command Syntax

:GRAPh:PHASe{1:4}:X:STARt <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:PHASe{1:4}:X:STARt?

Description

For the specified Phase waveform content window, sets the graph's X- axis start frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:X:STOP

Command Syntax

:GRAPh:PHASe{1:4}:X:STOP <frequency>

<frequency> is a double.

Query Syntax

:GRAPh:PHASe{1:4}:X:STOP?

Description

For the specified Phase waveform content window, sets the graph's X- axis stop frequency in Hertz. Use the :AUToscale sibling command to automatically set the center, span, start, and stop settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:Y:AUToscale

Command Syntax

:GRAPh:MAGNitude{1:4}:AUToscale

Description

Automatically offsets and scales the Y-axis of the specified Phase waveform content window. Use the :OFFSet, and :SCALe sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:Y:OFFSet

Command Syntax

:GRAPh:PHASe{1:4}:Y:OFFSet <degrees>

<degrees> is a double.

Query Syntax

:GRAPh:PHASe{1:4}:Y:OFFSet?

Description

Sets the vertical offset of the specified Phase content window in degrees (°) at the Y-axis's center graticule. Use the :Y:AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:PHASe{1:4}:Y:SCALe

Command Syntax

:GRAPh:PHASe{1:4}:Y:SCALe <scale>

<scale> is a double.

Query Syntax

:GRAPh:PHASe{1:4}:Y:SCALe?

Description

Sets the vertical scale of the specified Phase content window in degrees-per-division. The vertical expansion and contraction is referenced to the center graticule (:YOFFset sibling command) of the display. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:GRAPh:T:OHMS{1:4}:AUToscale

Command Syntax

:GRAPh:T:OHMS{1:4}:AUToscale

Description

Automatically scales both X and Y axis of the specified Time-Ohms waveform content window. TDR/TDT time-domain responses are the source of Time-Ohms waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:OHMS{1:4}:X:DCONstant

Command Syntax

:GRAPh:T:OHMS{1:4}:X:DCONstant <dielectric constant>

<dielectric constant> is a double ranging from 1.0 to 100.

Query Syntax

:GRAPh:T:OHMS{1:4}:X:DCONstant?

Description

For the waveforms in the selected Time-Ohms waveform content window, specifies the Dielectric Constant (εr), also known as Relative Permittivity, of the DUT path. This discribes the velocity of propagation through the DUT path which enables accurate scaling of the graph's X-axis when distance (meters) is selected using the :UNITs sibling command. The default setting for the X-axis is time (seconds). If you know the Velocity Factor for the DUT path, you can accomplish the same task using the :VFACtor command.

TDR/TDT mode's T-parameter responses are the source of Time-Ohms waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:OHMS{1:4}:X:POSition

Command Syntax

:GRAPh:T:OHMS{1:4}:X:POSition <reference position>

<reference position> is a double.

Query Syntax

:GRAPh:T:OHMS{1:4}:X:POSition?

Description

Sets or queries the time or distance of the specified Time-Ohms waveform content window at the display's reference position. The reference position is marked with the [image] symbol at the top of the graticule. The horizontal scale can be in seconds-per-division or meters-per-division, depending on the setting of the :UNITs sibling command. Use the :SCAle sibling command to set horizontal seconds-per-division (or meters-per-division). Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

TDR/TDT mode's T-parameter responses are the source of Time-Ohms waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:OHMS{1:4}:X:SCALe

Command Syntax

:GRAPh:T:OHMS{1:4}:X:SCALe <scale>

<scale> is a double.

Query Syntax

:GRAPh:T:OHMS{1:4}:X:SCALe?

Description

Sets the horizontal scale of the specified Time-Ohms waveform content window in seconds-per-division or meters-per-division, depending on the setting of the :UNITs sibling command. Use the :POSition sibling command to set or query the time or distance at the display's reference position. The reference position is marked with the [image] symbol at the top of the graticule. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

TDR/TDT mode's T-parameter responses are the source of Time-Ohms waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:OHMS{1:4}:X:UNITs

Command Syntax

:GRAPh:T:OHMS{1:4}:X:UNITs {SECond | METer}

Query Syntax

:GRAPh:T:OHMS{1:4}:X:UNITs?

Description

For the specified Time-Ohms waveform content window, sets the X-axis units to be either time (seconds) or distance (meters). When meters are selected, you can accurately scale the X-axis distance for the velocity of propagation through the DUT path. This can be accomplished by entering either the DUT's Velocity Factor (:VFACtor sibling command) or Dielectric Constant (εr) (:DCONstant sibling command). Defining the X-axis in meters allows you to directly measure the cable and trace lengths or correlate the impedance of discontinuities with physical structures such as connectors and vias.

If you save a Time-Ohms waveform to a file, the file's X-axis units will be the same as the displayed graph. When the file is recalled into a waveform memory, it can only be displayed in a Time-Ohms graph that has the same X-axis units as defined in the file. The default setting is time (seconds).

TDR/TDT mode's T-parameter responses are the source of Time-Ohms waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:OHMS{1:4}:X:VFACtor

Command Syntax

:GRAPh:T:OHMS{1:4}:X:VFACtor <velocity factor>

<velocity factor> is a double ranging from 0.1 to 1.0.

Query Syntax

:GRAPh:T:OHMS{1:4}:X:VFACtor?

Description

For the waveforms in the selected Time-Ohms waveform content window, specifies the Velocity Factor of the DUT path. As shown in the following equation, Velocity Factor (VF) is a ratio of the propagation velocity through a DUT (VP) to the speed of an RF signal in a vacuum. This enables accurate scaling of the graph's X-axis when distance (meters) is selected using the :UNITs sibling command. The default setting for the X-axis is time (seconds). If you know the Dielectric Constant (εr) for the DUT path, you can accomplish the same task using the :DCONstant command.

TDR/TDT mode's T-parameter responses are the source of Time-Ohms waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:OHMS{1:4}:Y:AUToscale

Command Syntax

:GRAPh:T:OHMS{1:4}:Y:AUToscale

Description

Automatically offsets and scales the Y-axis of the specified Time-Ohms waveform content window. Use the :OFFSet, and :SCALe sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:OHMS{1:4}:Y:OFFSet

Command Syntax

:GRAPh:T:OHMS{1:4}:Y:OFFSet <Ohms>

<Ohms> is a double.

Query Syntax

:GRAPh:T:OHMS{1:4}:Y:OFFSet?

Description

Sets the vertical offset of the specified Time-Ohms content window in Ohms at the Y-axis's center graticule. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:OHMS{1:4}:Y:SCALe

Command Syntax

:GRAPh:IMPedance{1:4}:Y:SCALe <Ohms>

<Ohms> is a double.

Query Syntax

:GRAPh:IMPedance{1:4}:Y:SCALe?

Description

Sets the vertical scale of the specified Time-Ohms content window in Ohms-per-division. The vertical expansion and contraction is referenced to the center graticule (:YOFFset sibling command) of the display. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:PERCent{1:4}:AUToscale

Command Syntax

:GRAPh:T:PERCent{1:4}:AUToscale

Description

Automatically scales both X and Y axis of the specified Time-% waveform content window. TDR/TDT time-domain responses are the source of Time-% waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:PERcent{1:4}:X:DCONstant

Command Syntax

:GRAPh:T:PERcent{1:4}:X:DCONstant <dielectric constant>

<dielectric constant> is a double ranging from 1.0 to 100.

Query Syntax

:GRAPh:T:PERcent{1:4}:X:DCONstant?

Description

For the waveforms in the selected Time-% waveform content window, specifies the Dielectric Constant (εr), also known as Relative Permittivity, of the DUT path. This discribes the velocity of propagation through the DUT path which enables accurate scaling of the graph's X-axis when distance (meters) is selected using the :UNITs sibling command. The default setting for the X-axis is time (seconds). If you know the Velocity Factor for the DUT path, you can accomplish the same task using the :VFACtor command.

TDR/TDT mode's T-parameter responses are the source of Time-% waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:PERCent{1:4}:X:POSition

Command Syntax

:GRAPh:T:PERCent{1:4}:X:POSition <reference position>

<reference position> is a double.

Query Syntax

:GRAPh:T:PERCent{1:4}:X:POSition?

Description

Sets or queries the time or distance of the specified Time-% waveform content window at the display's reference position. The reference position is marked with the [image] symbol at the top of the graticule. The horizontal scale can be in seconds-per-division or meters-per-division, depending on the setting of the :UNITs sibling command. Use the :SCAle sibling command to set horizontal seconds-per-division (or meters-per-division). Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

TDR/TDT mode's T-parameter responses are the source of Time-% waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:PERCent{1:4}:X:SCALe

Command Syntax

:GRAPh:T:PERCent{1:4}:X:SCALe <scale>

<scale> is a double.

Query Syntax

:GRAPh:T:PERCent{1:4}:X:SCALe?

Description

Sets the horizontal scale of the specified Time-% waveform content window in seconds-per-division or meters-per-division, depending on the setting of the :UNITs sibling command. Use the :POSition sibling command to set or query the time or distance at the display's reference position. The reference position is marked with the [image] symbol at the top of the graticule. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

TDR/TDT mode's T-parameter responses are the source of Time-% waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:PERCent{1:4}:X:UNITs

Command Syntax

:GRAPh:T:PERCent{1:4}:X:UNITs {SECond | METer}

Query Syntax

:GRAPh:T:PERCent{1:4}:X:UNITs?

Description

For the specified Time-% waveform content window, sets the X-axis units to be either time (seconds) or distance (meters). When meters are selected, you can accurately scale the X-axis distance for the velocity of propagation through the DUT path. This can be accomplished by entering either the DUT's Velocity Factor (:VFACtor sibling command) or Dielectric Constant (εr) (:DCONstant sibling command). Defining the X-axis in meters allows you to directly measure the cable and trace lengths or correlate the impedance of discontinuities with physical structures such as connectors and vias.

If you save a Time-% waveform to a file, the file's X-axis units will be the same as the displayed graph. When the file is recalled into a waveform memory, it can only be displayed in a Time-% graph that has the same X-axis units as defined in the file. The default setting is time (seconds).

TDR/TDT mode's T-parameter responses are the source of Time-% waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:PERCent{1:4}:X:VFACtor

Command Syntax

:GRAPh:T:PERCent{1:4}:X:VFACtor <velocity factor>

<velocity factor> is a double ranging from 0.1 to 1.0.

Query Syntax

:GRAPh:T:PERCent{1:4}:X:VFACtor?

Description

For the waveforms in the selected Time-% waveform content window, specifies the Velocity Factor of the DUT path. As shown in the following equation, Velocity Factor (VF) is a ratio of the propagation velocity through a DUT (VP) to the speed of an RF signal in a vacuum. This enables accurate scaling of the graph's X-axis when distance (meters) is selected using the :UNITs sibling command. The default setting for the X-axis is time (seconds). If you know the Dielectric Constant (εr) for the DUT path, you can accomplish the same task using the :DCONstant command.

TDR/TDT mode's T-parameter responses are the source of Time-% waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:PERCent{1:4}:Y:AUToscale

Command Syntax

:GRAPh:T:PERCent{1:4}:Y:AUToscale

Description

Automatically offsets and scales the Y-axis of the specified Time-% waveform content window. Use the :OFFSet, and :SCALe sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:PERCent{1:4}:Y:OFFSet

Command Syntax

:GRAPh:T:PERCent{1:4}:Y:OFFSet <percent>

<percent> is a double.

Query Syntax

:GRAPh:T:PERCent{1:4}:Y:OFFSet?

Description

Sets the vertical offset of the specified Time-% content window in percent (%) at the Y-axis's center graticule. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:PERCent{1:4}:Y:SCALe

Command Syntax

:GRAPh:PERCent{1:4}:Y:SCALe <percent>

<percent> is a double.

Query Syntax

:GRAPh:PERCent{1:4}:Y:SCALe?

Description

Sets the vertical scale of the specified Time-% content window in percent-per-division. The vertical expansion and contraction is referenced to the center graticule (:YOFFset sibling command) of the display. Use the :Y:AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:VOLTs{1:4}:AUToscale

Command Syntax

:GRAPh:T:VOLTs{1:4}:AUToscale

Description

Automatically scales both X and Y axis of the specified Time-Volts waveform content window. TDR/TDT time-domain responses are the source of Time-Volts waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:VOLTs{1:4}:X:DCONstant

Command Syntax

:GRAPh:T:VOLTs{1:4}:X:DCONstant <dielectric constant>

<dielectric constant> is a double ranging from 1.0 to 100.

Query Syntax

:GRAPh:T:VOLTs{1:4}:X:DCONstant?

Description

For the waveforms in the selected Time-Volts waveform content window, specifies the Dielectric Constant (εr), also known as Relative Permittivity, of the DUT path. This discribes the velocity of propagation through the DUT path which enables accurate scaling of the graph's X-axis when distance (meters) is selected using the :UNITs sibling command. The default setting for the X-axis is time (seconds). If you know the Velocity Factor for the DUT path, you can accomplish the same task using the :VFACtor command.

TDR/TDT mode's T-parameter responses are the source of Time-Volts waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:VOLTs{1:4}:X:POSition

Command Syntax

:GRAPh:T:VOLTs{1:4}:X:POSition <reference position>

<reference position> is a double.

Query Syntax

:GRAPh:T:VOLTs{1:4}:X:POSition?

Description

Sets or queries the time or distance of the specified Time-Volts waveform content window at the display's reference position. The reference position is marked with the [image] symbol at the top of the graticule. The horizontal scale can be in seconds-per-division or meters-per-division, depending on the setting of the :UNITs sibling command. Use the :SCAle sibling command to set horizontal seconds-per-division (or meters-per-division). Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

TDR/TDT mode's T-parameter responses are the source of Time-Volts waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:VOLTs{1:4}:X:SCALe

Command Syntax

:GRAPh:T:VOLTs{1:4}:X:SCALe <meters-per-division>

<meters-per-division> is a double.

Query Syntax

:GRAPh:T:VOLTs{1:4}:X:SCALe?

Description

Sets the horizontal scale of the specified Time-Volts waveform content window in seconds-per-division or meters-per-division, depending on the setting of the :UNITs sibling command. Use the :POSition sibling command to set or query the time or distance at the display's reference position. The reference position is marked with the [image] symbol at the top of the graticule. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

TDR/TDT mode's T-parameter responses are the source of Time-Volts waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:VOLTs{1:4}:X:UNITs

Command Syntax

:GRAPh:T:VOLTs{1:4}:X:UNITs {SECond | METer}

Query Syntax

:GRAPh:T:VOLTs{1:4}:X:UNITs?

Description

For the specified Time-Volts waveform content window, sets the X-axis units to be either time (seconds) or distance (meters). When meters are selected, you can accurately scale the X-axis distance for the velocity of propagation through the DUT path. This can be accomplished by entering either the DUT's Velocity Factor (:VFACtor sibling command) or Dielectric Constant (εr) (:DCONstant sibling command). Defining the X-axis in meters allows you to directly measure the cable and trace lengths or correlate the impedance of discontinuities with physical structures such as connectors and vias.

If you save a Time-Volts waveform to a file, the file's X-axis units will be the same as the displayed graph. When the file is recalled into a waveform memory, it can only be displayed in a Time-Volts graph that has the same X-axis units as defined in the file. The default setting is time (seconds).

TDR/TDT mode's T-parameter responses are the source of Time-Volts waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:VOLTs{1:4}:X:VFACtor

Command Syntax

:GRAPh:T:VOLTs{1:4}:X:VFACtor <velocity factor>

<velocity factor> is a double ranging from 0.1 to 1.0.

Query Syntax

:GRAPh:T:VOLTs{1:4}:X:VFACtor?

Description

For the waveforms in the selected Time-Volts waveform content window, specifies the Velocity Factor of the DUT path. As shown in the following equation, Velocity Factor (VF) is a ratio of the propagation velocity through a DUT (VP) to the speed of an RF signal in a vacuum. This enables accurate scaling of the graph's X-axis when distance (meters) is selected using the :UNITs sibling command. The default setting for the X-axis is time (seconds). If you know the Dielectric Constant (εr) for the DUT path, you can accomplish the same task using the :DCONstant command.

TDR/TDT mode's T-parameter responses are the source of Time-Volts waveforms.

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.


:GRAPh:T:VOLTs{1:4}:Y:AUToscale

Command Syntax

:GRAPh:T:VOLTs{1:4}:Y:AUToscale

Description

Automatically offsets and scales the Y-axis of the specified Time-Volts waveform content window. Use the :OFFSet, and :SCALe sibling commands to individually set these values.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:VOLTs{1:4}:Y:OFFSet

Command Syntax

:GRAPh:T:VOLTs{1:4}:Y:OFFSet <volts>

<volts> is a double.

Query Syntax

:GRAPh:T:VOLTs{1:4}:Y:OFFSet?

Description

Sets the vertical offset of the specified Time-Volts content window in volts at the Y-axis's center graticule. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:GRAPh:T:VOLTs{1:4}:Y:SCALe

Command Syntax

:GRAPh:T:VOLTs{1:4}:Y:SCALe <volts>

<volts> is a double.

Query Syntax

:GRAPh:T:VOLTs{1:4}:Y:SCALe?

Description

Sets the vertical scale of the specified Time-Volts content window in volts-per-division. The vertical expansion and contraction is referenced to the center graticule (:YOFFset sibling command) of the display. Use the :AUToscale sibling command to automatically set the offset and scale settings. Use the :AUToscale parent command to automatically scale both the waveform in both X and Y axis.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


Introduction to :HISTogram Subsystem

Use the Histogram subsystem commands to configure up to four available histograms. The four histograms are identified by the {1:4} in the HISTogram{1:4} command. These command provide control for the equivalent features in the Histograms dialog box. To return measurements from the Histogram results table, use the :MEASure:HISTogram series of commands.

  • Learn more about the histogram commands
  • Programming Home

General Commands

  • AXIS
  • DISPlay
  • HSIZe
  • INCRement?
  • ORIGin?
  • POINts?
  • SCALe
  • SOURce
  • VSIZe

Histogram Data Queries

  • ASCii:DATA?
  • INTeger:DATA?

Histogram Database Window Commands

  • WINDow:BORDer
  • WINDow:DEFault
  • WINDow:{X|X1|X2}
  • WINDow:{Y|Y1|Y2}


Introduction to :HISTogram Subsystem (continued)

Histograms are a probability distribution of the acquired data within a user-definable histogram window. You can display the histogram either vertically, for voltage measurements, or horizontally, for timing measurements. The most common use for histograms is measuring and characterizing noise or jitter on displayed waveforms. Noise is measured by sizing the histogram window to a narrow portion of time and observing a vertical histogram that measures the noise on a waveform. Jitter is measured by sizing the histogram window to a narrow portion of voltage and observing a horizontal histogram that measures the jitter on an edge.

The :HISTogram:SOURce command selects the waveform on with to construct the histogram. Most of the other commands either define or display the histogram. For example, the :HISTogram:AXIS command sets the histogram's alignment: left, right, top, or bottom. To return the histogram database, use the :HISTogram:ASCii:DATA? query to return an ASCII list of comma separated values. Or, use the :HISTogram:INTeger:DATA? query to return a binary block of 32 bit inteters. The data values for both of these queries are the hit counts for each histogram bucket. To return the center of the first historam buket, use the :HISTogram:ORIGin? query. To return the width of each histogram bucket, use the :HISTogram:INCRement? query.

Left-Aligned Vertical Histogram

Bottom-Aligned Horizontal Histogram

When more than one histogram is displayed, use the :DISPlay:THIStogram command to select the histogram which will have its results displayed in the Histograms measurement results table. In the following figure, histogram 2 has been selected.


:HISTogram{1:4}:ASCii:DATA?

Query Syntax

:HISTogram{1:4}:ASCii:DATA?

{1:4} identifies one of four possible histograms that you can design.

Description

Returns the histogram database as ASCII data (comma-separated values). Each value provides the number of counts for each point in the histogram. To query the number of points (comma-separated values), use the :HISTogram:POINts? query. To return the data in binary, use the :HISTogram:INTeger:DATA? query.


:HISTogram{1:4}:AXIS

Command Syntax

:HISTogram{1:4}:AXIS  {LEFT | RIGHt | BOTTom | TOP}

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:AXIS?

Description

Selects the orientation of the histogram. Select LEFT or RIGHt for vertical histograms (voltage or power measurements). Select TOP or BOTTom for horizontal histograms (timing measurements). Histograms are displayed as a series of lines (vertical or horizontal). The length of each line represents the number of hits of data on that row (or column) of the display. In vertical histograms with LEFT placement, zero hits correspond to the left edge of the graticule. In horizontal histograms with BOTTom placement, zero hits correspond to the bottom edge of the graticule.

To set the X-axis size of vertical histograms, use the :HISTogram:VSIZe command. To set the Y-axis size of horizontal histograms, use the :HISTogram:HSIZe command.

Vertical Histogram (LEFT)

Horizontal Histogram (BOTTom)


:HISTogram{1:4}:DISPlay

Command Syntax

:HISTogram{1:4}:DISPlay  {ON | OFF | 1 | 0}

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:DISPlay?

Query Response

{1 | 0}

Description

Turns on or off the display of the selected histogram.


:HISTogram{1:4}:HSIZe

Command Syntax

:HISTogram{1:4}:HSIZe   <divisions>

<divisions> is an double.

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:HSIZe?

Description

Sets the Y-axis size of horizontal histograms (top and bottom positioned with :HISTogram:AXIS command). The size is specified in major graticule divisions. The histogram display size is scaled (normalized) each time that the histogram is displayed. The largest row is used to normalize the other rows. The row representing the maximum number of data hits acquired in the histogram is always the same length regardless of the maximum number of hits. The range of values for is 1 to 8 vertical divisions. The default value is 4 divisions, which places the maximum number of hits at the half graticule size. To set the X-axis size of vertical histograms, use the :HISTogram:VSIZe command.

Horizontal Scaling Set to 2 Graticule Divisions

Note

FlexDCA maintains separate size settings for the vertical and horizontal axes. Therefore, when you switch between a vertical and horizontal histograms, you must redefine the size setting.

Example Command Sequence

:HISTogram2:SOURce CHAN1A
:HISTogram2:AXIS BOTTom
:HISTogram2:SCALe LINear
:HISTogram2:WINDow:X1 60.0E-12
:HISTogram2:WINDow:X2 62.0E-12
:HISTogram2:WINDow:Y1 -300E-3
:HISTogram2:WINDow:Y2 300E-3
:HISTogram2:WINDow:BORDer ON
:HISTogram2:HSIZe 4
:HISTogram2:DISPlay ON


:HISTogram{1:4}:INCRement?

Query Syntax

:HISTogram{1:4}:INCRement?

{1:4} identifies one of four possible histograms that you can design.

Description

Queries the amplitude or time spacing between the points in the histogram. For vertical (left and right) histograms, this is the amplitude spacing between the points are along the vertical axis. For horizontal (top and bottom) histograms, this is the time spacing between the points along the horizontal axis. Use the :HISTogram:POINts? query to return the number of points in the histogram. To return the actual counts for each point, use the :HISTogram:ASCii:DATA? or :HISTogram:INTeger:DATA? queries.

Vertical Histogram (LEFT)

Horizontal Histogram (BOTTom)


:HISTogram{1:4}:INTeger:DATA?

Query Syntax

:HISTogram{1:4}:INTeger:DATA?

{1:4} identifies one of four possible histograms that you can design.

Description

Returns the histogram database as binary data. This is the number of counts for each point in the histogram. To query the number of points in the histogram, use the :HISTogram:POINts? query. The binary data is returned in definite-length block data format, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of following digits (decimal integer) that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 3000 bytes of data, the syntax would be: #43000<3000 bytes of data>. The leftmost �4� represents the number of digits in the number of bytes, and �3000� represents the number of bytes to be transmitted. Byte order can affect the ability of your programs to correctly interpret block data. The byte order, or endianness, of returned block data is LSB (Least Significant Byte) first. To return the data in ASCII, use the :HISTogram:ASCii:DATA? query.


:HISTogram{1:4}:ORIGin?

Query Syntax

:HISTogram{1:4}:ORIGin?

{1:4} identifies one of four possible histograms that you can design.

Description

Returns the origin of the histogram's border, which is the region of the database that is used to calculate the histogram results. For left or right histograms, the origin is equal to the border's bottom edge and is the same value as :HISTogram:WINDow:Y1 setting. For top and bottom histograms, the origin is equal to the border's left edge and is the same value as :HISTogram:WINDow:X1 setting. Use the :HISTogram:AXIS command to select a left, right, top, or bottom histogram placement.


:HISTogram{1:4}:POINts?

Query Syntax

:HISTogram{1:4}:POINts?

{1:4} identifies one of four possible histograms that you can design.

Description

Queries the number of points in the histogram. For vertical (left and right) histograms, this is the number of points along the vertical axis. For horizontal (top and bottom) histograms, this is the number of points along the horizontal axis. Use the :HISTogram:INCRement? query to return the amplitude or time spacing between the points. To return the actual counts for each point, use the :HISTogram:ASCii:DATA? or :HISTogram:INTeger:DATA? queries.

Vertical Histogram (LEFT)

Horizontal Histogram (BOTTom)


:HISTogram{1:4}:SCALe

Command Syntax

:HISTogram{1:4}:SCALe  {LINear | LOG}

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:SCALe?

Description

Sets the selected histogram's scale to linear or logarithmic. The default setting is LINear.


:HISTogram{1:4}:SOURce

Command Syntax

:HISTogram{1:4}:SOURce  {CHANnel{N} | FUNCtion{1:16} | WMEMory{1:4} | CGMemroy{1:4} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:SOURce?

Description

Selects the source waveform for the indicated histogram. The histogram window will track the source's vertical and horizontal scale.


:HISTogram{1:4}:VSIZe

Command Syntax

:HISTogram{1:4}:VSIZe   <divisions>

<divisions> is an double.

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:VSIZe?

Description

Sets the X-axis size of vertical histograms (left and right positioned with :HISTogram:AXIS command). The size is specified in major graticule divisions. The histogram display size is scaled (normalized) each time that the histogram is displayed. The largest row is used to normalize the other rows. The row representing the maximum number of data hits acquired in the histogram is always the same length regardless of the maximum number of hits. The range of values for is 1 to 10 horizontal divisions. The default value is 5 divisions, which places the maximum number of hits at the half graticule size. To set the Y-axis size of horizontal histograms, use the :HISTogram:HSIZe command.

Vertical Histogram Scaling Set to 4 Graticule Divisions

Note

FlexDCA maintains separate size settings for the vertical and horizontal axes. Therefore, when you switch between a vertical and horizontal histograms, you must redefine the size setting.

Example Command Sequence

:HISTogram3:SOURce CHAN1A
:HISTogram3:AXIS:LEFT
:HISTogram3:SCALe LINear
:HISTogram3:WINDow:X1 20.0E-12
:HISTogram3:WINDow:X2 180.0E-12
:HISTogram3:WINDow:Y1 50.0E-3
:HISTogram3:WINDow:Y2 -50.0E-3
:HISTogram3:WINDow:BORDer ON
:HISTogram3:VSIZe 2
:HISTogram3:DISPlay ON


:HISTogram{1:4}:WINDow:BORDer

Command Syntax

:HISTogram{1:4}:WINDow:BORDer {ON | OFF | 1 | 0}

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:WINDow:BORDer?

Query Response

{1 | 0}

Description

Displays (ON) or hides (OFF) the solid-line histogram window border. The border allows you to view which region of the measurement database is used to construct the histogram. The border does not have to be displayed to create a histogram. By default, the border is off. The histogram must be enabled prior to enabling the histogram window border.


:HISTogram{1:4}:WINDow:DEFault

Command Syntax

:HISTogram{1:4}:WINDow:DEFault

This command supports the DEFault common child command.

{1:4} identifies one of four possible histograms that you can design.

Description

Sets the X1, X2, Y1, and Y2 coordinates to time and amplitude values required to create a centered histogram window 8 major graticule divisions wide and 6 divisions high. The window is shown as a blue border line on the display. This default window is the same shape regardless of the type of histogram specified with the :HISTogram:AXIS command. The histogram window defines the region of the measurement database that is used to construct the histogram. Use the :HISTogram:X and :HISTogram:Y commands to create a custom window.

Default Histogram Window


:HISTogram{1:4}:WINDow:X{1:2}

Command Syntax

:HISTogram{1:4}:WINDow:X{1:2}  <seconds>

<seconds> is an double.

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:WINDow:X{1:2}?

Description

When creating a histogram's window, the X1 and X2 commands to define the position of the left and right histogram window border in seconds. This command, along with :HISTogram:WINDow:Y, define the region of the database that is used to construct the histogram. Only this region of the database will be used to calculate the histogram results.

Two common uses for histograms are measuring and characterizing noise or jitter on displayed waveforms. Noise is measured by sizing the histogram window to a narrow portion of time and observing a vertical histogram that measures the noise on a flat section of a waveform. Jitter is measured by sizing the histogram window to a narrow amplitude portion and observing a horizontal histogram that measures the jitter on an edge.

Example Command Sequence

:HISTogram2:SOURce CHAN1A
:HISTogram2:AXIS:LEFT
:HISTogram2:SCALe LINear
:HISTogram2:WINDow:X1 60.0E-12
:HISTogram2:WINDow:X2 62.0E-12
:HISTogram2:WINDow:Y1 -300E-3
:HISTogram2:WINDow:Y2 300E-3
:HISTogram2:WINDow:BORDer ON
:HISTogram2:HSIZe 2
:HISTogram2:DISPlay ON


:HISTogram{1:4}:WINDow:Y{1:2}

Command Syntax

:HISTogram{1:4}:WINDow:Y{1:2}  <amplitude>

<amplitude> is an double.

{1:4} identifies one of four possible histograms that you can design.

Query Syntax

:HISTogram{1:4}:WINDow:Y{1:2}?

Description

When creating a histogram's window, the Y1 and Y2 commands to define the position of the top and bottom histogram window border in volts. This command, along with :HISTogram:WINDow:X, define the region of the database that is used to construct the histogram. Only this region of the database will be used to calculate the histogram results.

Two common uses for histograms are measuring and characterizing noise or jitter on displayed waveforms. Noise is measured by sizing the histogram window to a narrow portion of time and observing a vertical histogram that measures the noise on a flat section of a waveform. Jitter is measured by sizing the histogram window to a narrow amplitude portion and observing a horizontal histogram that measures the jitter on an edge.

Example Command Sequence

:HISTogram2:SOURce CHAN1A
:HISTogram2:AXIS:LEFT
:HISTogram2:SCALe LINear
:HISTogram2:WINDow:X1 60.0E-12
:HISTogram2:WINDow:X2 62.0E-12
:HISTogram2:WINDow:Y1 -300E-3
:HISTogram2:WINDow:Y2 300E-3
:HISTogram2:WINDow:BORDer ON
:HISTogram2:HSIZe 2
:HISTogram2:DISPlay ON


Introduction to :JDMemory Subsystem

The Jitter data memory subsystem commands allow you to use jitter data offline. Jitter data memory can be saved, recalled, displayed, and measured. There is only one jitter data memory, and it is identified by the integer "1" in :JDMemory1. To save jitter data to a file, use the :DISK:JDATabase:SAVE command. To recall jitter data to jitter data memory, use the :DISK:JDATabase:RECall command.

To use Jitter Spectrum Analysis (JSA) memory, use the :JSAMemory subsystem.

  • Programming Home

Commands

  • CWINdow
  • DISPlay
  • STATus?


:JDMemory:CWINdow

Command Syntax

:JDMemory{1}:CWINdow TIMe{1}

Query Syntax

:JDMemory{1}:CWINdow?

Description

The :JDMemory{1}:CWINdow command allows you to assign a jitter data memory waveform to a Waveform content window.

Note

As of this release, there is only one Waveform content window, so you will not need to use this command.

In future revisions, the :JDMemory{1}:CWINdow command will select a content window in which to display a jitter data memory waveform. In FlexDCA, four different types of content windows exist: Waveform (TIMe1), Group Delay (GDELay), Magnitude (MAGNitude), and Phase (PHASe). Each type varies by its type of X- and Y-axis units. Any given waveform is only compatible with one of these four content window types. Therefore, FlexDCA automatically assigns waveforms to the proper type of content window, such as Waveform or Phase. Waveforms can not be assigned to a different type of content window. For example, a Waveform waveform can not be moved to or shown in a Magnitude content window.

Command Arguments and Content Windows
Argument | Displayed Waveform Content Window | Number of Available Windows |  | Scale Units
 |  | Programmatically | Via Front Panel
TIMe1 | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:JDMemory{1}:DISPlay

Command Syntax

:JDMemory{1}:DISPlay  {ON | OFF | 1 | 0}

Query Syntax

:JDMemory{1}:DISPlay?

Query Response

{1 | 0}

Description

Turns on or off the display of jitter-data memory. Jitter data must be loaded (recalled) from a file into jitter-data memory before it can be displayed. Use the STATus command to determine if data is currently loaded in jitter-data memory. Use the :DISK:JDATabase:RECall command to load jitter data into jitter data memory. Displaying jitter-data memory, forces FlexDCA into Jitter Mode, erases any current data, turns off all active channels, and stops data acquisition.


:JDMemory{1}:STATus?

Query Syntax

:JDMemory{1}:STATus?

Query Response

{AVA | UNAV}

Description

Queries the availability of a jitter-data memory for use. Jitter-data memory becomes available (AVA) after data has been loaded into memory using the :DISK:JDATabase:RECall command. Jitter-data memory does not need to be displayed to be classed as available. Jitter-data memory is unavailable (UNAV) if data has not been loaded into the memory.

Use the :JDMemory:DISPlay command query to determine if a jitter-data memory waveform is displayed.

Note

It is possible to save and then load an unfinished jitter measurement to Jitter Data Memory file (internal .jd format). If this file is loaded into Jitter Data Memory and displayed, it will appear as if the measurement was finished. If you zoom in on the DDJ vs Bit graph, you will see that some edges do not have values


Introduction to :JSAMemory Subsystem

Use the JSAMemory subsystem commands to view, use, or query the data within the JSA Memory database. These commands correspond to features that are shown on the JSA Memory dialog box. To import data into JSA memory from a file, use the :DISK:JSANalysis:RECall command. To save JSA data to a file, use the :DISK:JSANalysis:SAVE command. To view Jitter memory (versus JSA memory), use the :JDMemory subsystem.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

This subsystem requires FlexDCA revision A.02.50 and above.

  • Programming Home

General Commands

  • DISCard
  • DISPlay
  • STATus?
  • INTegrate:F

Spectrum Type Commands

  • SPECtrum
  • EMULated:SSTatus
  • INPut:SSTatus
  • MEASured:SSTatus

Spectrum Waveform Queries

  • JSANalysis:SPECtrum:ASCii:YDATa?
  • JSANalysis:SPECtrum:DOUBle:YDATa?
  • JSANalysis:SPECtrum:FLOat:YDATa?
  • JSANalysis:SPECtrum:PEAKs?
  • JSANalysis:SPECtrum:PEAKs:ALL?
  • JSANalysis:SPECtrum:POINts?
  • JSANalysis:SPECtrum:XINCrement?
  • JSANalysis:SPECtrum:XORigin?

Clock Recovery Hardware Configuration Queries

  • CRECovery:LBANdwidth?
  • CRECovery:LSELect?
  • CRECovery:RATe?

Software Clock Recovery Emulation (CRE) Configuration Queries

  • PLLoop:FGAIn?
  • PLLoop:FPOLe?
  • PLLoop:FZERo?
  • PLLoop:JTF:BWIDth?
  • PLLoop:JTF:PEAKing?
  • PLLoop:MODE?
  • PLLoop:OJTF:BWIDth?
  • PLLoop:OJTF:DFACtor?
  • PLLoop:ORDer?

RJ Optimization Command

  • RJCorrection


:JSAMemory:CRECovery:LBANdwidth?

Query Syntax

:JSAMemory:CRECovery:LBANdwidth?

Query Response

Returns <bandwidth> which is a double.

Description

From the JSA memory database, returns the clock recovery hardware's target loop bandwidth in Hertz.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:CRECovery:LSELect?

Query Syntax

:JSAMemory:CRECovery:LSELect?

Query Response

Returns a <string>.

Description

From the JSA memory database, returns a string that describes the clock recovery hardware's PPL loop settings. This string is displayed in the JSA Memory dialog box's Hardware Configuration area. For example, the following string could be returned:

"Loop 2: 320 kHz (Peaking = 1.4 dB)"

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:CRECovery:RATe?

Query Syntax

:JSAMemory:CRECovery:RATe?

Query Response

Returns <data_rate> which is a double.

Description

From the JSA memory database, returns the input signal's data rate.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:DISCard

Command Syntax

:JSAMemory:DISCard

Description

Clears and data stored in JSA memory.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:DISPlay

Command Syntax

:JSAMemory:DISPlay {ON | OFF}

Query Syntax

:JSAMemory:DISPlay?

Description

Turn on or off the display of the JSA memory data. To import data into JSA memory from a file, use the :DISK:JSANalysis:RECall command.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:EMULated:SSTatus

Command Syntax

:JSAMemory:EMULated:SSTatus {AVAilable | UNAVailable}

Query Syntax

:JSAMemory:EMULated:SSTatus?

Description

Enables or disables the selection of the Emulated reference clock signal for jitter spectrum analysis. Once enabled, use the :JSAMemory:SPECtrum command to select the Emulated spectrum type.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:INPut:SSTatus

Command Syntax

:JSAMemory:INPut:SSTatus {AVAilable | UNAVailable}

Query Syntax

:JSAMemory:INPut:SSTatus?

Description

Enables or disables the selection of the Input reference clock signal for jitter spectrum analysis. Once enabled, use the :JSAMemory:SPECtrum command to select the Input spectrum type.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:INTegrate:F

Command Syntax

:JSAMemory:INTegrate:F{1 | 2}

Returns <frequency> which is a double.

Query Syntax

:JSAMemory:INTegrate:F{1 | 2}?

Description

Sets the upper and lower frequency integration FFT limits for the jitter spectrum. Use F1 to set the lower frequency limit and F2 to set the upper frequency limit. On the displayed Jitter Spectrum graph, the [image] and [image] symbols show the location of the integration limits.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:JSANalysis:SPECtrum:ASCii:YDATa?

Query Syntax

:JSAMemory:JSANalysis:SPECtrum:ASCii:YDATa?

Query Response

The data is returned as comma-separated values.

Description

Returns the JSA spectrum's y-axis data as comma-delimited ASCII Y-formatted data. The returned amplitude values do not require scaling. The data is sent starting from the lowest and progressing to the highest frequency. The frequency at any data point can be calculated as:

Frequency = (data point)(frequency spacing) + forigin

where,

  • frequency spacing is the frequency difference between adjacent data points and is returned with the :JSAMemory:JSANalysis:SPECtrum:XINCrement? query.
  • data point is integer ranging from 0 to the number of waveform points minus one. Use the :JSAMemory:JSANalysis:SPECtrum:POINts? query to return the number of points in the waveform.
  • forigin is the frequency at the first data point and is returned using the :JSAMemory:JSANalysis:SPECtrum:XORigin? query.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:JSAMemory:JSANalysis:SPECtrum:DOUBle:YDATa?

Query Syntax

:JSAMemory:JSANalysis:SPECtrum:DOUBle:YDATa?

Query Response

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Note

Byte order can affect the ability of your programs to correctly interpret block data.

Description

Returns the JSA spectrum's amplitude (Y-axis) data points as 64-bit floating-point values. The returned amplitude values do not require scaling. The data returned from this query has high resolution but may require long tranfer times. If fast transfer time is more important than measurement resolution, use the :JSAMemory:JSANalysis:SPECtrum:ASCii:YDATa? query instead.

The data is sent starting from the lowest and progressing to the highest frequency. The frequency at any data point can be calculated as:

Frequency = (data point)(frequency spacing) + forigin

where,

  • frequency spacing is the frequency difference between adjacent data points and is returned with the :JSAMemory:JSANalysis:SPECtrum:XINCrement? query.
  • data point is integer ranging from 0 to the number of waveform points minus one. Use the :JSAMemory:JSANalysis:SPECtrum:POINts? query to return the number of points in the waveform.
  • forigin is the frequency at the first data point and is returned using the :JSAMemory:JSANalysis:SPECtrum:XORigin? query.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:JSAMemory:JSANalysis:SPECtrum:FLOat:YDATa?

Query Syntax

:JSAMemory:JSANalysis:SPECtrum:FLOat:YDATa?

Query Response

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Note

Byte order can affect the ability of your programs to correctly interpret block data.

Description

Returns the amplitude (Y-axis) data points as 32-bit floating-point values. The returned amplitude values are in volts or Watts and do not require scaling. The data returned from this query has high resolution but can require long tranfer times for long patterns. If fast transfer time is more important than measurement resolution, use the :JSAMemory:JSANalysis:SPECtrum:ASCii:YDATa? query instead. Use the :WAVeform:SOURce? query to select data from a channel, differential channel, waveform memory, or a function.

The data is sent starting from the lowest and progressing to the highest frequency. The frequency at any data point can be calculated as:

Frequency = (data point)(frequency spacing) + forigin

where,

  • frequency spacing is the frequency difference between adjacent data points and is returned with the :JSAMemory:JSANalysis:SPECtrum:XINCrement? query.
  • data point is integer ranging from 0 to the number of waveform points minus one. Use the :JSAMemory:JSANalysis:SPECtrum:POINts? query to return the number of points in the waveform.
  • forigin is the frequency at the first data point and is returned using the :JSAMemory:JSANalysis:SPECtrum:XORigin? query.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:JSAMemory:JSANalysis:SPECtrum:PEAKs?

Query Syntax

:JSAMemory:JSANalysis:SPECtrum:PEAKs?

Description

Returns an ASCII comma-delimited listing of the spectrum peaks (frequency and magnitude values) shown on the Spectrum Peaks table. This table is shown in the following picture. These peaks are also identified and shown on the Jitter Spectrum graph within the band limiting markers. The peak values are returned in order from the lowest to the highest frequency, regardless of their order shown in the Spectrum Peaks table. The returned value pairs are returned in the following order:

<frequency>,<magnitude>,<frequency>,<magnitude>,<frequency>,<magnitude>,…

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:JSAMemory:JSANalysis:SPECtrum:PEAKs:ALL?

Query Syntax

:JSAMemory:JSANalysis:SPECtrum:PEAKs:ALL?

Description

Returns an ASCII comma-delimited listing of all of the spectrum peaks (frequency and magnitude values) shown on the Jitter Spectrum graph, without regard to the band limiting markers. The peak values are returned in order from the lowest to the highest frequency in the following order:

<frequency>,<magnitude>,<frequency>,<magnitude>,<frequency>,<magnitude>,…

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:JSAMemory:JSANalysis:SPECtrum:POINts?

Query Syntax

:JSAMemory:JSANalysis:SPECtrum:POINts?

Description

Returns the number of points in the JSA spectrum data. Use this value along with the values returned by the :XINCrement and :XORigin sibling queries to determine the frequency of any point returned as :ASCii:YDAta, :DOUBle:YDATa, or FLOat:YDATa.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:JSAMemory:JSANalysis:SPECtrum:XINCrement?

Query Syntax

:JSAMemory:JSANalysis:SPECtrum:XINCrement?

Description

Returns the frequency spacing, in Hertz, between adjacent data points in the JSA spectrum data. Use this value along with the values returned by the :POINts and :XORigin sibling queries to determine the frequency of any point returned as :ASCii:YDAta, :DOUBle:YDATa, or FLOat:YDATa.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:JSAMemory:JSANalysis:SPECtrum:XORigin?

Query Syntax

:JSAMemory:JSANalysis:SPECtrum:XORigin?

Description

Returns the frequency origin of the JSA spectrum data. Use this value along with the values returned by the :XINCrement and :POINts sibling queries to determine the frequency of any point returned as :ASCii:YDAta, :DOUBle:YDATa, or FLOat:YDATa.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:JSAMemory:MEASured:SSTatus

Command Syntax

:JSAMemory:MEASured:SSTatus {AVAilable | UNAVailable}

Query Syntax

:JSAMemory:MEASured:SSTatus?

Description

Enables or disables the selection of the Measured reference clock signal for jitter spectrum analysis. Once enabled, use the :JSAMemory:SPECtrum command to select the Measured spectrum type.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:FGAIn?

Query Syntax

:JSAMemory:PLLoop:FGAIn?

Query Response

Returns <frequency> which is a double.

Description

From the JSA memory database, returns the clock recovery emulation's frequency of the approximate loop bandwidth of the PLL for a third-order PLL loop. To return the frequency at which the Jitter Transfer Function (JTF) starts to roll-off at 40 dB/decade, use the :JSAMemory:PLLoop:FPOLe? query. To return the frequency at which the Observed Jitter Transfer Function (OJTF) starts to roll-off at 40 dB/decade, use the :JSAMemory:PLLoop:FZERo? query. To determine which type of transfer function (JTF or OJTF) is defined in the JSA memory database, use the :JSAMemory:PLLoop:MODE? query.

JTF and OJFT for 3nd Order Type 2 PLLs

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:FPOLe?

Query Syntax

:JSAMemory:PLLoop:FPOLe?

Query Response

Returns <frequency> which is a double.

Description

From the JSA memory database, returns the clock recovery emulation's frequency at which the Jitter Transfer Function (JTF) starts to roll-off at 40 dB/decade for a third-order PLL loop. To return the frequency at which the Observed Jitter Transfer Function (OJTF) starts to roll-off at 40 dB/decade, use the :JSAMemory:PLLoop:FZERo? query. To determine which type of transfer function (JTF or OJTF) is defined in the JSA memory database, use the :JSAMemory:PLLoop:MODE? query.

JTF and OJFT for 3nd Order Type 2 PLLs

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:FZERo?

Query Syntax

:JSAMemory:PLLoop:FZERo?

Query Response

Returns <frequency> which is a double.

Description

From the JSA memory database, returns the clock recovery emulation's frequency at which the Observed Jitter Transfer Function (OJTF) starts to roll-off at 40 dB/decade for a third-order PLL loop. To return the frequency at which the Jitter Transfer Function (JTF) starts to roll-off at 40 dB/decade, use the :JSAMemory:PLLoop:FPOLe? query. To determine which type of transfer function (JTF or OJTF) is defined in the JSA memory database, use the :JSAMemory:PLLoop:MODE? query. To determine which type of transfer function (JTF or OJTF) is defined in the JSA memory database, use the :JSAMemory:PLLoop:MODE? query.

JTF and OJFT for 3nd Order Type 2 PLLs

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:JTF:BWIDth?

Query Syntax

:JSAMemory:PLLoop:JTF:BWIDth?

Query Response

Returns <bandwidth> which is a double.

Description

From the JSA memory database, returns the clock recovery emulation's bandwidth for the Jitter Transfer Function (JTF) for a first- or second-order PLL. The following table shows the bandwidth settings for some standards. The maximum bandwidth setting is 20 MHz. Use the :JSAMemory:PLLoop:OJTF:BWIDth query to return the bandwidth for an Observed Jitter Transfer Function (OJTF).

Standard JTF Bandwidth Settings
Standard | First-Order Loop Filter | Second-Order Loop Filter
SAS 1.5 Gb/s | 900.0 kHz | 900.0 kHz
SAS-SSC 1.5 Gb/s | — | 2.328 MHz
SATA 1.5 Gb/s | — | 4.097 MHz
SAS 3.0 Gb/s | 1.800 MHz | 1.800 MHz
SAS-SSC 3.0 Gb/s | — | 3.291 MHz
SATA 3.0 Gb/s | — | 1.791 MHz
SAS 6.0 Gb/s | 3.600 MHz | 3.600 MHz
SAS-SSC 6.0 Gb/s | — | 4.655 MHz
SATA 6.0 Gb/s | — | 8.194 MHz
QPI | — | 5.692 MHz
USB 3.0 | — | 10.03 MHz

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:JTF:PEAKing?

Query Syntax

:JSAMemory:PLLoop:JTF:PEAKing?

Query Response

Returns <peaking> which is a double.

Description

From the JSA memory database, returns the clock recovery emulation's peaking of a second-order PLL's Jitter Transfer Function (JTF). The following table shows the peaking settings for some standards.

JTF for 2nd Order PLLs

Standard JTF Peaking Settings
Standard | Peaking
SAS 1.5 Gb/s | 0 dB
SAS-SSC 1.5 Gb/s | 1.57 dB
SATA 1.5 Gb/s | 1.86 dB
SAS 3.0 Gb/s | 0 dB
SAS-SSC 3.0 Gb/s | 1.57 dB
SATA 3.0 Gb/s | 1.57 dB
SAS 6.0 Gb/s | 0 dB
SAS-SSC 6.0 Gb/s | 1.57 dB
SATA 6.0 Gb/s | 1.86 dB
QPI | 1.75 dB
USB 3.0 | 2.08 dB

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:MODE?

Query Syntax

:JSAMemory:PLLoop:MODE?

Query Response

{JTF | OJTF}

Description

From the JSA memory database, returns the clock recovery emulation's type of first- or second-order PLL transfer function. The setting can be a Jitter Transfer Function (JTF) or Observed Jitter Transfer Function (OJTF).

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:OJTF:BWIDth?

Query Syntax

:JSAMemory:PLLoop:OJTF:BWIDth?

Query Response

Returns <bandwidth> which is a double.

Description

From the JSA memory database, returns the clock recovery emulation's bandwidth of the Observed Jitter Transfer Function (OJTF) for a first- or second-order PLL. The following table shows the bandwidth settings for some standards. The maximum bandwidth setting is 20 MHz. Use the :JSAMemory:PLLoop:JTF:BWIDth query to return the bandwidth for an Jitter Transfer Function (JTF).

Standard JTF Bandwidth Settings
Standard | First-Order Loop Filter | Second-Order Loop Filter
SAS 1.5 Gb/s | 900.0 kHz | 900.0 kHz
SAS-SSC 1.5 Gb/s | — | 2.328 MHz
SATA 1.5 Gb/s | — | 4.097 MHz
SAS 3.0 Gb/s | 1.800 MHz | 1.800 MHz
SAS-SSC 3.0 Gb/s | — | 3.291 MHz
SATA 3.0 Gb/s | — | 1.791 MHz
SAS 6.0 Gb/s | 3.600 MHz | 3.600 MHz
SAS-SSC 6.0 Gb/s | — | 4.655 MHz
SATA 6.0 Gb/s | — | 8.194 MHz
QPI | — | 5.692 MHz
USB 3.0 | — | 10.03 MHz

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:OJTF:DFACtor?

Query Syntax

:JSAMemory:PLLoop:OJTF:DFACtor?

Query Response

Returns <damping_factor> which is a double.

Description

From the JSA memory database, returns the clock recovery emulation's damping factor of a second-order PLL's Observed Jitter Transfer Function (OJTF). The following table shows the damping factor settings for some standards.

OJTF for 2nd Order PLLs

Standard OJTF Damping Factors
Standard | Damping Factor
SAS 1.5 Gb/s | 50.0
SAS-SSC 1.5 Gb/s | 0.860
SATA 1.5 Gb/s | 0.767
SAS 3.0 Gb/s | 50.0
SAS-SSC 3.0 Gb/s | 0.860
SATA 3.0 Gb/s | 0.860
SAS 6.0 Gb/s | 50.0
SAS-SSC 6.0 Gb/s | 0.860
SATA 6.0 Gb/s | 0.767
QPI | 0.800
USB 3.0 | 0.707

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:PLLoop:ORDer?

Query Syntax

:JSAMemory:PLLoop:ORDer?

Query Response

{FIRSt | SECond | THIRd}

Description

From the JSA memory database, returns the clock recovery emulation's PLL order.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:RJCorrection

Command Syntax

:JSAMemory:RJCorrection {ON | OFF}

Query Syntax

:JSAMemory:RJCorrection?

Description

Turns Jitter mode's CRE Jitter Optimization on and off. Jitter optimization applies the contribution of JSA's emulated clock-recovery PLL to the standard Jitter-mode RJ measurement. In the Jitter results panel, an asterisk (*) shown next to the RJ (rms) results indicates that the optimization is being applied.

CRE Jitter Optimization is only available if, at the time when the corresponding jitter data file was saved, JSA was turned on in Jitter mode, the JSA Embedded spectrum was selected, and Jitter mode optimization was enabled by using one of the following three methods:

  • Sending the :CRECovery:JSANalysis:RJCorrection command.
  • Clicking the JSA toolbar's Jitter Optimization button.
  • Opening the Jitter Mode Measurement Setup dialob box's Advanced tab, and selecting Enable CRE Jitter Optimization.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:SPECtrum

Command Syntax

:JSAMemory:SPECtrum

Query Syntax

:JSAMemory:SPECtrum?

Description

Selects from available reference clock signals for jitter spectrum analysis: Input, Measured, or Emulated. These selections are described in JSA/CRE Concepts and are identified in red on the following picture of the 86108A/B clock-recovery PLL:

Input
In Oscilloscope or Eye/Mask mode, from the JSA memory data, select to view all of the low- frequency jitter. Uses a constant clock as the reference. This selection is not available in Jitter Mode.
Measured
From the JSA memory data, select to view the low-frequency jitter that is a sub-set of the jitter spectrum that is measured by Jitter Mode. This is the output of the PLL's phase detector is the recovered clock from the hardware clock-recovery circuit as the reference.
Emulated
From the JSA memory data, select to view low-frequency jitter response to the user-specified clock recovery (PLL) configurations that were uses at the time that the JSA data was saved to the JSA data file. You can query the software Clock Recovery Emulation (CRE) settings in the JSA memory database with the following queries:
  • PLLoop:FGAIn?
  • PLLoop:FPOLe?
  • PLLoop:FZERo?
  • PLLoop:JTF:BWIDth?
  • PLLoop:JTF:PEAKing?
  • PLLoop:MODE?
  • PLLoop:OJTF:BWIDth?
  • PLLoop:OJTF:DFACtor?
  • PLLoop:ORDer?

Before a reference clock signal can be selected, it must be made available for selection by using the :JSAMemory:INPut:SSTatus, :JSAMemory:MEASured:SSTatus, and :JSAMemory:EMULated:SSTatus commands.

Simplified Block Diagram of the 86108A/B Clock-Recovery PLL

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:JSAMemory:STATus?

Query Syntax

:JSAMemory:STATus?

Query Response

{AVA | UNAV}

Description

Queries the availability of a JSA memory for use. JSA memory becomes available (AVA) after data has been loaded into memory using the :DISK:JSANalysis:RECall command. The waveform memory does not need to be displayed to be classed as available. A JSA memory is unavailable (UNAV) if data has not been loaded into the memory.

Use the :JSAMemory:DISPlay command query to determine if a JSA memory waveform is displayed.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


Introduction to :LLINe Subsystem

Use the :LLINe subsystem commands to load, display, and horizontally position a Limit-Line Test file in oscilloscope or TDR modes. There are no commands for creating limit lines. Limit lines provide pass/fail testing on single-valued waveforms. A data point "passes" if it is inside the displayed limit lines and "fails" is it is beyond the limit lines. Once loaded, you can shift the limit line relative to the waveform along the time scale. Limit Lines Tests are created using an ASCII editor.

Use the :LTESt subsystem to stop limit testing on the first passed or failed data point and to report the results.

  • Programming Home

FlexDCA Revision

This subsystem requires FlexDCA revision A.04.50 and above.

Commands

  • :DISPlay
  • :HOFFset
  • :LOAD:FNAMe
  • :SFILe
  • :SFName
  • :SOURce


:LLINe{1:64}:DISPlay

Command Syntax

:LLINe{N}:DISPlay {ON | OFF}

{N} identifies one of 64 possible limit lines.

Query Syntax

:LLINe{N}:DISPlay?

Description

Loads a Limit Line Test file and displays the test. Up to 64 Limit Line Tests can be simultaneously displayed. To specify the name of the Limit Line Test file to load, use the :LLINe:LOAD:FNAMe command. To select the waveform on which to assign the Limit Line Test, use the :LLINe:SOURce command. To apply horizontal offset to all limit lines that are defined in a displayed Limit Line Test, use the :LLINe:HOFFset command.

After the test has loaded and displayed, use the following commands to return measurement data:

  • For the entire Limit Line Test:
    • :MEASure:LLINe:FPOints? returns the number of displayed failed data points.
    • :MEASure:LLINe:MARGin? returns the pass/fail margin.
    • :MEASure:LLINe:MLOCation? returns the time location of the pass/fail margin.
  • For a selected limit line in the Limit Line Test:
    • :MEASure:LLINe:LINE:FPOints? returns the number of displayed failed data points.
    • :MEASure:LLINe:LINE:MARGin? returns the pass/fail margin.
    • :MEASure:LLINe:LINE:MLOCation? returns the time location of the pass/fail margin.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example

:SYSTem:MODE OSCilloscope
:ACQuire:STOP
:ACQuire:CDISplay
//  Load and start limit line test.
:LLINe1:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe1:SOURce CHANnel1A
:LLINe1:DISPlay ON
:ACQuire:RUN  //  Enable data acquisition.


:LLINe{1:64}:HOFFset

Command Syntax

:LLINe{N}:HOFFset <offset>

{N} identifies one of 64 possible limit lines.

<offset> is an double.

Query Syntax

:LLINe{N}:HOFFset?

Description

Specifies a horizontal offset in time for the selected Limit Line Test. All limit lines that are defined within the Limit Line Test are shifted by the specified time.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example

:LLINe2:HOFFset 500E-12


:LLINe{1:64}:LOAD:FNAMe

Command Syntax

:LLINe{N}:LOAD:FNAMe "filename"

{N} identifies one of 64 possible limit lines.

"filename" is a string. {N} identifies one of 64 possible limit lines.

Query Syntax

:LLINe{N}:LOAD:FNAMe?

Description

Specifies the filename (*.lltx), path, and extension of the target limit-line file to load. After the file loads, you can display the limit line using the :DISPLay sibling command. You can make use of path substitution variables in the filename string.

File Locations

Learn about user-file folders and path substitution variables for remote programming commands.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command Sequence

:LLINe2:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\LimitLine.lltx"
:LLINe2:DISPlay ON


:LLINe{1:64}:SFILe

Command Syntax

:LLINe{N}:SFILe

{N} identifies one of 64 possible limit lines.

User File Locations

  • Location of files
  • Path substitution variables

Description

Saves a limit-lines file (.lltx) that was created using the limit-line editor. Use the SFName sibling command to specify the filename.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:LLINe{1:64}:SFName

User File Locations

  • Location of files
  • Path substitution variables

Command Syntax

:LLINe{N}:SFName  "filename"

{N} identifies one of 64 possible limit lines.

Query Syntax

:LLINe{N}:SFName?

Description

Specifies the filename, path, and extension for saving limit lines that are created using the limit-line editor. The files use a .lltx file extension and by default are saved in the %USER_DATA_DIR%\Limit Lines folder. The query form of the command returns the current filename string.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:LLINe{1:64}:SOURce

Command Syntax

:LLINe{N}:SOURce {CHANnel{M} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies one of 64 possible limit lines.

{M} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:LLINe{N}:SOURce?

Description

Selects the source waveform on with to apply a Limit Line Test.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example

:LLINe8:SOURce CHANnel2A


Introduction to :LTESt Subsystem

Example Python Script

Click these links to two example scripts that use an acquisition limit test.

  • Script 1
    • Python 3.4 version
    • Python 2.7 version
  • Script 2
    • Python 3.4 version
    • Python 2.7 version

The Limit Test (LTESt) subsystem controls the following four types of limit tesing. Limit testing automatically compares test results with pass or fail limits and reports the results.

  • Acquisitions (:LTESt:ACQuire)
  • Limit lines (:LTESt:LLINe)
  • Measurements (:LTESt:MEASure)
  • Mask tests (:LTESt:MTESt)

More Information

  • Learn More
  • Programming Home

Acquisition Limit Commands

Test Setup

  • ACQuire:CTYPe
  • ACQuire:CTYPe:PATTerns
  • ACQuire:CTYPe:SAMPles
  • ACQuire:CTYPe:WAVeforms
  • ACQuire:STATe

Report: Screen Image File

  • ACQuire:SIMage:FNAMe
  • ACQuire:SIMage:IMETadata
  • ACQuire:SIMage:INVert
  • ACQuire:SIMage:MONochrome
  • ACQuire:SIMage:SINClude
  • ACQuire:SIMage:STATe
  • ACQuire:SIMage:WINDow

Report: Waveform File

  • ACQuire:SWAVeform:CHANnel:FNAMe
  • ACQuire:SWAVeform:CHANnel:STATe
  • ACQuire:SWAVeform:CHANnel:WMEMory
  • ACQuire:SWAVeform:CMODe:FNAMe
  • ACQuire:SWAVeform:CMODe:STATe
  • ACQuire:SWAVeform:CMODe:WMEMory
  • ACQuire:SWAVeform:DIFF:FNAMe
  • ACQuire:SWAVeform:DIFF:STATe
  • ACQuire:SWAVeform:DIFF:WMEMory
  • ACQuire:SWAVeform:FUNCtion:FNAMe
  • ACQuire:SWAVeform:FUNCtion:STATe
  • ACQuire:SWAVeform:FUNCtion:WMEMory
  • ACQuire:SWAVeform:RESet

Limit-Test Limit Commands

Test Setup

  • LLINe:TEST:MODe
  • LLINe:TEST:STATe

Report: Screen Image File

  • LLINe:SIMage:FNAMe
  • LLINe:SIMage:IMETadata
  • LLINe:SIMage:INVert
  • LLINe:SIMage:MONochrome
  • LLINe:SIMage:SAVE
  • LLINe:SIMage:SINClude
  • LLINe:SIMage:STATe
  • LLINe:SIMage:WINDow

Report: Summary File

  • LLINe:SSUMmary:FNAMe
  • LLINe:SSUMmary:STATe

Report: Waveform File

  • LLINe:SWAVeform:CHANnel:FNAMe
  • LLINe:SWAVeform:CHANnel:STATe
  • LLINe:SWAVeform:CHANnel:WMEMory
  • LLINe:SWAVeform:CMODe:FNAMe
  • LLINe:SWAVeform:CMODe:STATe
  • LLINe:SWAVeform:CMODe:WMEMory
  • LLINe:SWAVeform:DIFF:FNAMe
  • LLINe:SWAVeform:DIFF:STATe
  • LLINe:SWAVeform:DIFF:WMEMory
  • LLINe:SWAVeform:FUNCtion:FNAMe
  • LLINe:SWAVeform:FUNCtion:STATe
  • LLINe:SWAVeform:FUNCtion:WMEMory
  • LLINe:SWAVeform:RESet

Measurements Limit Commands

Test Setup

  • MEASure:MLIMit:FAILures
  • MEASure:MLIMit:FREGion
  • MEASure:MLIMit:LLIMit
  • MEASure:MLIMit:SOURce:LOCation
  • MEASure:MLIMit:SOURce:TYPE
  • MEASure:MLIMit:STATe
  • MEASure:MLIMit:ULIMit
  • MEASure:MLIMit:UPACtion

Report: Screen Image File

  • MEASure:SIMage:FNAMe
  • MEASure:SIMage:IMETadata
  • MEASure:SIMage:INVert
  • MEASure:SIMage:MONochrome
  • MEASure:SIMage:SINClude
  • MEASure:SIMage:STATe
  • MEASure:SIMage:WINDow

Report: Summary File

  • MEASure:SSUMmary:FNAMe
  • MEASure:SSUMmary:STATe

Report: Waveform File

  • MEASure:SWAVeform:CHANnel:FNAMe
  • MEASure:SWAVeform:CHANnel:STATe
  • MEASure:SWAVeform:CHANnel:WMEMory
  • MEASure:SWAVeform:CMODe:FNAMe
  • MEASure:SWAVeform:CMODe:STATe
  • MEASure:SWAVeform:CMODe:WMEMory
  • MEASure:SWAVeform:DIFF:FNAMe
  • MEASure:SWAVeform:DIFF:STATe
  • MEASure:SWAVeform:DIFF:WMEMory
  • MEASure:SWAVeform:FUNCtion:FNAMe
  • MEASure:SWAVeform:FUNCtion:STATe
  • MEASure:SWAVeform:FUNCtion:WMEMory
  • MEASure:SWAVeform:RESet

Mask Limit Commands

Test Setup

  • MTESt:MRESult:FAILures
  • MTESt:MRESult:STATe

Report: Screen Image File

  • MTESt:SIMage:FNAMe
  • MTESt:SIMage:IMETadata
  • MTESt:SIMage:INVert
  • MTESt:SIMage:MONochrome
  • MTESt:SIMage:SINClude
  • MTESt:SIMage:STATe
  • MTESt:SIMage:WINDow

Report: Summary File

  • MTESt:SSUMmary:FNAMe
  • MTESt:SSUMmary:STATe

Report: Waveform File

  • MTESt:SWAVeform:CHANnel:FNAMe
  • MTESt:SWAVeform:CHANnel:STATe
  • MTESt:SWAVeform:CHANnel:WMEMory
  • MTESt:SWAVeform:DIFF:FNAMe
  • MTESt:SWAVeform:DIFF:STATe
  • MTESt:SWAVeform:DIFF:WMEMory
  • MTESt:SWAVeform:FUNCtion:FNAMe
  • MTESt:SWAVeform:FUNCtion:STATe
  • MTESt:SWAVeform:FUNCtion:WMEMory
  • MTESt:SWAVeform:RESet

Deprecated Commands

These commands are no longer recommended for use.

  • ACQuire:SIMage:GONLy (deprecated A.03.00)
  • MEASure:SIMage:GONLy (deprecated A.03.00)
  • MTESt:FAILures (deprecated A.03.00)
  • MTESt:STATe (deprecated A.03.00)
  • MTESt:SIMage:GONLy (deprecated A.03.00)

Removed Commands

These commands have been removed and are no longer available for use.

Noise/Interference Mode Test Setup

  • MEASure:AMPLitude:LOCation:FAILures (removed A.03.00)
  • MEASure:AMPLitude:LOCation:FREGion (removed A.03.00)
  • MEASure:AMPLitude:LOCation:LLIMit (removed A.03.00)
  • MEASure:AMPLitude:LOCation:STATe (removed A.03.00)
  • MEASure:AMPLitude:LOCation:ULIMit (removed A.03.00)
  • MEASure:AMPLitude:LOCation:UPACtion (removed A.03.00)

Option JSA Test Setup

  • MEASure:CRECovery:LOCation:FAILures (removed A.03.00)
  • MEASure:CRECovery:LOCation:FREGion (removed A.03.00)
  • MEASure:CRECovery:LOCation:LLIMit (removed A.03.00)
  • MEASure:CRECovery:LOCation:STATe (removed A.03.00)
  • MEASure:CRECovery:LOCation:ULIMit (removed A.03.00)
  • MEASure:CRECovery:LOCation:UPACtion (removed A.03.00)

Eye Mode Test Setup

  • MEASure:EYE:LOCation:FAILures (removed A.03.00)
  • MEASure:EYE:LOCation:FREGion (removed A.03.00)
  • MEASure:EYE:LOCation:LLIMit (removed A.03.00)
  • MEASure:EYE:LOCation:STATe (removed A.03.00)
  • MEASure:EYE:LOCation:ULIMit (removed A.03.00)
  • MEASure:EYE:LOCation:UPACtion (removed A.03.00)

Jitter Mode Test Setup

  • MEASure:JITTer:LOCation:FAILures (removed A.03.00)
  • MEASure:JITTer:LOCation:FREGion (removed A.03.00)
  • MEASure:JITTer:LOCation:LLIMit (removed A.03.00)
  • MEASure:JITTer:LOCation:STATe (removed A.03.00)
  • MEASure:JITTer:LOCation:ULIMit (removed A.03.00)
  • MEASure:JITTer:LOCation:UPACtion (removed A.03.00)

Mask Test Setup

  • MEASure:MTESt:LOCation:FAILures (removed A.03.00)
  • MEASure:MTESt:LOCation:FREGion (removed A.03.00)
  • MEASure:MTESt:LOCation:LLIMit (removed A.03.00)
  • MEASure:MTESt:LOCation:STATe (removed A.03.00)
  • MEASure:MTESt:LOCation:ULIMit (removed A.03.00)
  • MEASure:MTESt:LOCation:UPACtion (removed A.03.00)

Oscilloscope Mode Test Setup

  • MEASure:OSCilloscope:LOCation:FAILures (removed A.03.00)
  • MEASure:OSCilloscope:LOCation:FREGion (removed A.03.00)
  • MEASure:OSCilloscope:LOCation:LLIMit (removed A.03.00)
  • MEASure:OSCilloscope:LOCation:STATe (removed A.03.00)
  • MEASure:OSCilloscope:LOCation:ULIMit (removed A.03.00)
  • MEASure:OSCilloscope:LOCation:UPACtion (removed A.03.00)


Introduction to :LTESt Subsystem (continued)

The Limit Test (LTESt) subsystem configures tests that compares test results with pass or fail limits. As shown in the following table, there are four types of limit tesing:

Three Limit Test Types
Limit Test Type | Command to Enable Testing | Comments
Acquisition | :LTESt:ACQuire:STATe ON | Starts a limit test that runs until a set number of waveforms, samples, or patterns have been acquired. Once the limit is reached, waveforms and screen images can automatically be saved.
Limit Lines | :LTESt:LLINe:TEST:STATe ON | Starts a limit test on limit lines that runs until a the first passed or failed data point occurs. Once the condition is met, a summary, waveforms, and screen images can automatically be saved.
Measurements | :LTESt:MEASure:MLIMit:STATe ON | Starts up to 16 Individual limit tests on any combination of oscilloscope, eye, eye mask (individual), jitter, amplitude/noise, and JSA measurements. Once the limit is reached for a measurement, summary, waveforms, and screen images can automatically be saved.
Eye Mask Test | :LTESt:MTESt:MRESult:STATe ON | Starts a single eye mask limit test for total mask failures across all mask regions. Once the limit is reached, waveforms and screen images can automatically be saved. To run a limit test for a specific region of a mask, use a measurement limit test.

For each of these four types of limit tests, you can select to save the test results using the following child commands:

  • Use :SWAVeform child commands to save a waveform of the test results to a file or memory.
  • Use :SIMage child commands to save a screen image file of the test results.
  • Use :SSUMmary child commands to save a summary file of the test results. Summary files are not available for acquisition limit tests.

Creating an Acquisition Limit Test

Example Script

Click here to learn about a Python script that runs a limit test.

The following example shows how to create an acquisition limit test that runs until 100 waveforms have been acquired.

:ACQuire:SINGle  //  Stop waveform acquisition.

:LTESt:ACQuire:CTYPe WAVeforms  //  Create test based on acquisition to waveforms.
:LTESt:ACQuire:CTYPe:WAVeforms 100  //  Stop test after 100 waveforms acquired.
:LTESt:ACQuire:SWAVeform:CHAN1B:STATe MEMory  //  Save channel 1B to waveform memory.
:LTESt:ACQuire:SWAVeform:CHAN1B:WMEMory WMEMory2  //  Select waveform memory 2.
:LTESt:ACQuire:SIMage:STATe ON  //  Save screen image.
:LTESt:ACQuire:SIMage:INVert ON  //  Invert colors on  screen image.
:LTESt:ACQuire:SIMage:WINDow TIME1  //  Capture only waveform instead of entire display.
:LTESt:ACQuire:SIMage:FNAMe "C:\Users\me\Documents\Keysight\FlexDCA\Screen Images\my test.jpg"  //  Create this image file.
:LTESt:ACQuire:STATe ON  //  Turn limit test on.

:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  //  Wait for test completion.

Creating an Limit-Line Limit Test

The following example shows how to create an limit-line limit test that runs until a failed data point occures.

:ACQuire:SINGle  //  Stop waveform acquisition.

//  Load and display limit line.
:LLINe2:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\DUT Input.lltx"
:LLINe2:Source CHAN5B
:LLINe2:DISPlay ON

//  Configure save-waveform reporting action
:LTESt:LLINe:SWAVeform:RESet  //  Save channel 5B to waveform memory.

//  Configure summary reporting action
:LTESt:LLINe:SSUMmary:FNAME "%USER_DATA_DIR%\Limit Summaries\LimitLineTest.sum"  //  File Name.
:LTESt:LLINe:SSUMmary:STATe ON

//  Configure screen-image reporting action
:LTESt:LLINe:SIMage:STATe ON  //  Save screen image.
:LTESt:LLINe:SIMage:INVert ON  //  Invert colors on  screen image.
:LTESt:LLINe:SIMage:WINDow TIME1  //  Capture only waveform instead of entire display.
:LTESt:LLINe:SIMage:FNAMe "%USER_DATA_DIR%\Screen Images\my test.jpg"  //  Create this image file.

//  Run test
:LTESt:LLINe:TEST2:MODe SOFailure  //  Test until first failure.
:LTESt:LLINe:TEST2:STATe ON  //  Turn limit test on.
:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  //  Wait for test completion.

Creating a Measurement Limit Test

You can create up to 16 separate measurement limit tests, one for each measurement. The test sets the number of failures required to stop testing on one of the following sources:

  • Eye diagram measurement in Eye/Mask mode
  • Amplitude measurement limit test in Jitter/Noise mode
  • JSA TJ (rms), DJ (rms), or RJ (rms) measurement
  • Jitter measurement limit test in Jitter/Noise mode
  • Mask measurement limit test in Eye/Mask mode
  • Oscilloscope measurement limit test in Oscilloscope mode

MEASUREMENT LOCATION QUERY

You can query any measurement's location index in the :MEASure subsytem by using the measurement's :LOCation child command. For more information, refer to the introduction to the limit test subsystem.

When defining a measurement limit test, first select the type of measurement results table (for example, eye measurements) and then identify the measurement using an index. The index identifies the measurement in the active measurement list, which is shown in the displayed results table. Results tables can list up to 32 measurements, so the index can range from 1 to 32. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. Since new measurements are added to the list's top, the index is numbered in the reverse order in which the measurement were turned on. For example, the last and 3rd measurement added to the following picture was Crossing % and it has a location index of 1.

  • Crossing % (index 1)
  • Fall Time (index 2)
  • Rise Time (index 3)

SHORT CUT!

Sending the command to start a measurement, even if it is alread turned on, places the measurement at the top of the results table with location index 1. As a result, you don't need to query the location. Simply use location 1 in the limit test commands.

Note

After defining one or more limit tests, if you start an additional measurement, the location index for all measurements change. You must anticipate this change if you plan to make any further changes to your measurement limit tests.

Measurements can be listed in columns, as shown by the following figure. In this case, the location index increases row-by-row from left to right. As a result, the first (top most) measurement in the following figure is identified as 1. It is the TJ measurement. The second measurement, identified as 2, is DJ. The third measurement, identified as 3, is RJ, and so forth.

For measurements on Eye Mode's mask regions, use the following figure and table to identify the index, which can range from 1 to 64. Query the location index using the :MEASure subsytem's :LOCation queries listed in the following table.

Locating the Index for Mask Test Results
Mask Limit Measurements | :MEASure Subsystem Query for Location Index
Mask Region (1 to 16) | :MEASure:MTESt:HREGion{1:16}:LOCation?
Mask + Margin Region (1 to 16) | :MEASure:MTESt:MHRegion{1:16}:LOCation?
Total Mask Hits | :MEASure:MTESt:HITS:LOCation?
Total Margin Hits | :MEASure:MTESt:MHITs:LOCation?
Waveform Count | :MEASure:MTESt:NWAVforms:LOCation?
Samples/UI | :MEASure:MTESt:NSAMples:LOCation?
Margin | :MEASure:MTESt:MARGin:LOCation?

The following example creates three Eye Mode measurement limit tests for the Crossing %, Fall Time, and Rise Time measurements shown in this picture. Notice that the reporting action commands for saving waveform, summary, and a screen capture apply to all active measurement limit tests. The first limit test to complete stops all tests and report actions are taken.

:ACQuire:SINGle  //  Stop waveform acquisition.

//  CREATE MEASUREMENT LIMIT TEST 4.
:LTESt:MEASure:MLIMit4:SOURce:LOCation 1  //  Create test 4 for Crossing % measurement.
:LTESt:MEASure:MLIMit4:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit4:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit4:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit4:FAILures 10  //  Fail test after 10 failures.
:LTESt:MEASure:MLIMit4:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit4:STATe ON  //  Turn Crossing % test on.

//  CREATE MEASUREMENT LIMIT TEST 5.
:LTESt:MEASure:MLIMit5:SOURce:LOCation 2  //  Create test 5 for Fall Time measurement.
:LTESt:MEASure:MLIMit5:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit5:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit5:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit5:FAILures 10  //  Fail test after 10 failures.
:LTESt:MEASure:MLIMit5:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit5:STATe ON  //  Turn Fall Time test on.

//  CREATE MEASUREMENT LIMIT TEST 6.
:LTESt:MEASure:MLIMit6:SOURce:LOCation 3  //  Create test 6 for Rise Time measurement.
:LTESt:MEASure:MLIMit6:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit6:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit6:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit6:FAILures 10  //  Fail test after 10 failures.
:LTESt:MEASure:MLIMit6:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit6:STATe ON  //  Turn Rise Time test on.

//  CONFIGURE REPORTING FOR ALL 3 TESTS.
:LTESt:MEASure:SWAVeform:CHAN2A:STATe DISK  //  Save channel 2A data to file.
:LTESt:MEASure:SWAVeform:CHAN2A:WMEMory WMEMory3  //  Select memory 3.
:LTESt:MEASure:SSUMmary:STATe ON  //  Save summary file.
:LTESt:MEASure:SIMage:STATe ON  //  Save screen image file.

//  START TESTING.
:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  //  Wait for completion of tests.

Creating a Eye Mask Limit Test

The following example shows how to create a limit test on eye mask number 3 and run the test until 100 failures have occurred. After the test completes, results are reported:

  • Waveform is saved to a file.
  • Summary file is created.
  • Monochrome screen image of the entire FlexDCA display is saved to a JPG file.

You can create a test for each active eye mask.

:ACQuire:SINGle  //  Stop waveform acquisition.

:LTESt:MTESt:MRESult3:FAILures 100  //  Create Test on Mask 3. Stop test after 100 failures.
:LTESt:MTESt:SWAVeform:CHAN1A:STATe DISK  //  Save channel 1A data to file.
:LTESt:MTESt:SWAVeform:CHAN1A:FNAMe "C:\Users\kentb\Documents\Keysight\FlexDCA\Waveforms\Mask Waveform.wfmx"  //  File Name.
:LTESt:MTESt:SSUMmary:STATe ON  //  Save summary file.
:LTESt:MTESt:SSUMmary:FNAMe "C:\Users\kentb\Documents\Keysight\FlexDCA\Limit Summaries\Mask Test 1.sum"  //  File Name.
:LTESt:MTESt:SIMage:STATe ON  //  Save screen image.
:LTESt:MTESt:SIMage:MONochrome ON  //  Monochrome image capture.
:LTESt:MTESt:SIMage:WINDow DISPlay  //  Capture entire display.
:LTESt:MTESt:SIMage:FNAMe "C:\Users\kentb\Documents\Keysight\FlexDCA\Screen Images\Mask.jpg"  //  File Name.
:LTESt:MTESt:MRESult1:STATe ON  //  Turn limit test on.

:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  Wait for test completion.


:LTESt:ACQuire:CTYPe

Command Syntax

:LTESt:ACQuire:CTYPe {WAVeforms | SAMPles | PATTerns}

Query Syntax

:LTESt:ACQuire:CTYPe?

Description

Selects the type of condition to base the acquisition limit tests "run until" condition. Use the :LTESt:ACQuire:STATe command to enable or disable acquisition limit tests. During the limit test, use the :MEASure:LTESt:ACQuire:COUNt? query to return the current count of patterns, samples, or waveforms.

WAVeforms
Runs the test until the number of waveforms specified by the :WAVeforms child command occurs. This option is only available if Acquire Entire Pattern is off (:ACQuire:EPATtern command is off).
SAMPles
Runs the test until the number of samples specified by the :SAMPles child command occurs. This option is only available if Acquire Entire Pattern is off (:ACQuire:EPATtern command is off).
PATTerns
Runs the test until the number of patterns specified by the :PATTerns child command occurs. This option is only available if Acquire Entire Pattern is on (:ACQuire:EPATtern command is on).

Example Command Sequence

This example sequence of commands erases display memory and sets up an acquisition limit test.

:ACQuire:CDISplay
:LTESt:ACQuire:CTYPe PATTerns
:LTESt:ACQuire:CTYPe:PATTerns 1
:LTESt:ACQuire:STATe ON
:ACQuire:RUN
*OPC?
…  //  Your code to synchronize execution timing.


:LTESt:ACQuire:CTYPe:PATTerns

Command Syntax

:LTESt:ACQuire:CTYPe:PATTerns <number>

<number> is an int.

Query Syntax

:LTESt:ACQuire:CTYPe:PATTerns?

Description

Enters the number of patterns required to stop an acquisition limit test that is based on patterns. Use the :LTESt:ACQuire:CTYPe command to select to test based on patterns.

Example Command Sequence

This example sequence of commands erases display memory and sets up an acquisition limit test.

:ACQuire:CDISplay
:LTESt:ACQuire:CTYPe PATTerns
:LTESt:ACQuire:CTYPe:PATTerns 1
:LTESt:ACQuire:STATe ON
:ACQuire:RUN
*OPC?
…  //  Your code to synchronize execution timing.


:LTESt:ACQuire:CTYPe:SAMPles

Command Syntax

:LTESt:ACQuire:CTYPe:SAMPles <number>

<number> is an int.

Query Syntax

:LTESt:ACQuire:CTYPe:SAMPles?

Description

Enters the number of samples required to stop an acquisition limit test that is based on samples. Use the :LTESt:ACQuire:CTYPe command to select to test based on samples.

Example Command Sequence

This example sequence of commands erases display memory and sets up an acquisition limit test.

:ACQuire:CDISplay
:LTESt:ACQuire:CTYPe SAMPles
:LTESt:ACQuire:CTYPe:SAMPles 16384
:LTESt:ACQuire:STATe ON
:ACQuire:RUN
*OPC?
…  //  Your code to synchronize execution timing.


:LTESt:ACQuire:CTYPe:WAVeforms

Command Syntax

:LTESt:ACQuire:CTYPe:WAVeforms <number>

<number> is an int.

Query Syntax

:LTESt:ACQuire:CTYPe:WAVeforms?

Description

Enters the number of waveforms required to stop an acquisition limit test that is based on waveforms. Use the :LTESt:ACQuire:CTYPe command to select to test based on waveforms.

Example Command Sequence

This example sequence of commands erases display memory and sets up an acquisition limit test.

:ACQuire:CDISplay
:LTESt:ACQuire:CTYPe WAVeforms
:LTESt:ACQuire:CTYPe:WAVeforms 200
:LTESt:ACQuire:STATe ON
:ACQuire:RUN
*OPC?
…  //  Your code to synchronize execution timing.


:LTESt:ACQuire:SIMage:FNAMe

Command Syntax

:LTESt:ACQuire:SIMage:FNAMe "filename"

"filename" is a string.

Query Syntax

:LTESt:ACQuire:SIMage:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a screen-capture reporting file for an acquisition limit test. The default file type is JPEG (.jpg). The default folder for storing image files is %USER_DATA_DIR%\Screen Images. Use the :LTESt:ACQuire:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.

The file name extension that you give the file determines one of the following available graphics format:

  • .bmp (24-bit color bitmap file format). Bitmap, or .bmp, is typically used for storing bit mapped graphic files.
  • .png (Portable Network Graphics format)
  • .jpg (24-bit color Joint Photographic Experts Group file format). .jpg is a graphics format which can be highly compressed. This compression can result in permanent loss of image quality. The application uses the .jpg software written by the Independent JPEG Group.
  • .gif (Graphics Interchange File format). .gif is a standard graphics format (256 color) used to store bit mapped graphic files. For .gif files, this application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability
  • .tif (256 color Tag Image File format). .tif is a format of choice for storing master copies. It provides better quality, but larger files. This format is widely supported across platforms (PC, Mac, UNIX). This application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.


:LTESt:ACQuire:SIMage:IMETadata

Command Syntax

:LTESt:ACQuire:SIMage:IMETadata {ON | OFF}

Query Syntax

:LTESt:ACQuire:SIMage:IMETadata?

Description

Turns on and off the inclusion of metadata when saving a screen image file as the result of an acquisition limit test. Saving metadata only applies to screen captures that are saved as jpg or tiff files. To view or edit the metadata placed in your screen image file, you can right click on the file in Window's File Explorer and from the shortcut menu select Properties. In the Properties dialog box, click the Details tab as shown in this picture. To edit the metadata fields for your image, click on the Value entree shown on the dialog box. The following table lists the metadata fields that FlexDCA populates. The query form of the command returns the current setting.

Metadata Added to Screen Captures
Metadata Field | Value Examples
Subject | Screen Capture
Comments | 86100D (S/N USXXXXXXXX) Modules: Slot 1 Module(86108B LBW,232,300,400,JSA) (MYXXXXXXXX)
Date taken | 7/10/2015 4:32 PM
Program name | FlexDCA (A.05.00.000)
Camera maker | Keysight Technologies
Camera model | FlexDCA (A.05.00.000)
Name | ScreenCapture.jpg

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:LTESt:ACQuire:SIMage:INVert

Command Syntax

:LTESt:ACQuire:SIMage:INVert {ON | OFF | 1 | 0}

Query Syntax

:LTESt:ACQuire:SIMage:INVert?

Query Response

{1 | 0}

Description

Turns on and off the inversion of the graticule area's background color when reporting a screen capture for an acquisition limit test. When on, an inverted image will be captured and saved into a file by the :LTESt:ACQuire:SIMage:FNAMe command. The entire application window is saved with the graticule black upon a white background. The waveform colors remain unchanged. When printing a hard copy of the waveform, combine this command with the :LTESt:ACQuire:SIMage:GONLy command (graticule only) to save ink or toner. Use the :LTESt:ACQuire:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SIMage:MONochrome

Command Syntax

:LTESt:ACQuire:SIMage:MONochrome {ON | OFF | 1 | 0}

Query Syntax

:LTESt:ACQuire:SIMage:MONochrome?

Query Response

{1 | 0}

Description

Turns monochrome screen capture on and off when reporting a screen capture for an acquisition limit test. When on, a black and white image will be captured and saved into a file by the :LTESt:ACQuire:SIMage:FNAMe command. Selecting monochrome automatically inverts the graticule area's background color. Use the :LTESt:ACQuire:SIMage:STATe command to enable screen captures to be saved when the limit test completes. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SIMage:SINClude

Command Syntax

:LTESt:ACQuire:SIMage:SINClude {ALL | CHANnel{N} | FUNCtion{1:16} | WMEMory{1:4} | CGMemroy{1:4}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:LTESt:ACQuire:SIMage:SINClude?

Description

Selects all or only one of the displayed waveforms to be included on a saved image file when reporting a screen capture for an acquisition limit test. By default, all waveforms visible on the display are saved in the screen capture. However, when you select one waveform, all other waveform's will be hidden except for their ground markers ( [image] ), which are shown on the screen's right side. Including these markers serves as a reminder that other waveforms were present on the display. Use the :LTESt:ACQuire:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SIMage:STATe

Command Syntax

:LTESt:ACQuire:SIMage:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:ACQuire:SIMage:STATe?

Query Response

{1 | 0}

Description

Selects to save a screen image to a file after the limit test acquires the specified number of waveforms, samples, or patterns. Use the :LTESt:ACQuire:CTYPe command and its :WAVeforms, :SAMPles, or :PATTerns child commands to specify the test conditions required to end the test. Use the commands shown in the following table to configure the output file.

Commands to Configure the Output
Task | Command
Enter the filename, type, and path | :LTESt:ACQuire:SIMage:FNAMe
Select portion of FlexDCA display to capture | :LTESt:ACQuire:SIMage:WINDow
Include metadata in jpg and tiff files. | :LTESt:ACQuire:SIMage:IMITadata
Invert background color | :LTESt:ACQuire:SIMage:INVert
Black and white output | :LTESt:ACQuire:SIMage:MONochrome
Capture a single waveform among several displayed waveforms | :LTESt:ACQuire:SIMage:SINCLude


:LTESt:ACQuire:SIMage:WINDow

Command Syntax

:LTESt:ACQuire:SIMage:WINDow  {DISPlay | TIMe{1} | GDELay{1:4} | MAGNitude{1:4} | PHASe{1:4}}

Query Syntax

:LTESt:ACQuire:SIMage:WINDow?

Query Response

{1 | 0}

Description

When reporting a screen image as a result of an acquisition limit test, use this command to selects which portion of the screen to include in the image. To actually specify that a screen image is saved, use the :LTESt:ACQuire:SIMage:STATe command. The following selections are available:

DISPlay
Includes the entire FlexDCA screen in the captured screen image.
TIMe1
Includes only the Waveform content window in the captured screen image.
GDELay{1:4}
Includes only the Delay 1, Delay 2, Delay 3, or Delay 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Delay windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Delay window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).
MAGNitude{1:4}
Includes only the Magnitude 1, Magnitude 2, Magnitude 3, or Magnitude 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Magnitude windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Magnitude window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).
PHASe{1:4}
Includes only the Phase 1, Phase 2, Phase 3, or Phase 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Phase windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Phase window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:LTESt:ACQuire:STATe

Example Script

Click here to learn about a Python script that runs a limit test.

Command Syntax

:LTESt:ACQuire:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:ACQuire:STATe?

Query Response

{1 | 0}

Description

Turns on acquisition limit testing. The acquisition mode must be set to :ACQuire:RUN. If the acquisition is stop or single mode, you must use the :ACQuire:RUN command to start continuous sweeps and so begin the test. During the limit test, use the :MEASure:LTESt:ACQuire:COUNt? query to return the current count of patterns, samples, or waveforms.

Example Command Sequence

The following example shows how to create an acquisition limit test that runs until 100 waveforms have been acquired.

:ACQuire:SINGle  //  Stop waveform acquisition.

:LTESt:ACQuire:CTYPe WAVeforms  //  Create test based on acquisition to waveforms.
:LTESt:ACQuire:CTYPe:WAVeforms 100  //  Stop test after 100 waveforms acquired.
:LTESt:ACQuire:SWAVeform:CHAN1B:STATe MEMory  //  Save channel 1B to waveform memory.
:LTESt:ACQuire:SWAVeform:CHAN1B:WMEMory WMEMory2  //  Select waveform memory 2.
:LTESt:ACQuire:SIMage:STATe ON  //  Save screen image.
:LTESt:ACQuire:SIMage:INVert ON  //  Invert colors on  screen image.
:LTESt:ACQuire:SIMage:WINDow TIME1  //  Capture only waveform instead of entire display.
:LTESt:ACQuire:SIMage:FNAMe "C:\Users\me\Documents\Keysight\FlexDCA\Screen Images\my test.jpg"  //  Create this image file.
:LTESt:ACQuire:STATe ON  //  Turn limit test on.

:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  //  Wait for test completion.


:LTESt:ACQuire:SWAVeform:CHANnel{N}:FNAMe

Command Syntax

:LTESt:ACQuire:SWAVeform:CHANnel{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

CHANnel{N} identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:ACQuire:SWAVeform:CHANnel{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a channel waveform (.wfmx) reporting file for an acquisition limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:ACQuire:SWAVeform:CHANnel{N}:STATe command to enable and disable waveform reporting for the channel. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SWAVeform:CHANnel{N}:STATe

Command Syntax

:LTESt:ACQuire:SWAVeform:CHANnel{N}:STATe {DISK | MEMory | OFF}

CHANnel{N} identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:ACQuire:SWAVeform:CHANnel{N}:STATe?

Query Response

{1 | 0}

Description

Saves a channel waveform to a file or memory after the limit test acquires the specified number of waveforms, samples, or patterns. Use the :LTESt:ACQuire:CTYPe command and its child commands to specify the test conditions required to end the test. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command. The following command arguments are available:

DISK
Saves the waveform to a file. Use the :LTESt:ACQuire:SWAVeform:CHAN:FNAMe command to specify the file name.
MEMory
Saves the waveform to a memory location. Use the :LTESt:ACQuire:SWAVeform:CHAN:WMEMory command to specify the memory location.
OFF
Turns off the saving of a channel waveform.


:LTESt:ACQuire:SWAVeform:CHANnel{N}:WMEMory

Command Syntax

:LTESt:ACQuire:SWAVeform:CHANnel{N}:WMEMory WMEMory{1:8}

CHANnel{N} identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:ACQuire:SWAVeform:CHANnel{N}:WMEMory?

Description

Upon completion of an acquisition limit test, selects a waveform memory as a destination to save a channel waveform. Use the :LTESt:ACQuire:SWAVeform:CHAN:STATe command to enable and disable waveform reporting for the channel. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SWAVeform:CMODe{N}:FNAMe

Command Syntax

:LTESt:ACQuire:SWAVeform:CMODe{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:ACQuire:SWAVeform:CMODe{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

In TDR/TDT Mode, specifies the file name (including path and file name extension) for saving a common-mode waveform (.wfmx) reporting file for an acquisition limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:MTESt:SWAVeform:CMODe:STATe command to enable and disable waveform reporting for a common-mode waveform.

Note

This command is compatible with TDR/TDT mode only.

Requires FlexDCA revision A.04.00 and above.


:LTESt:ACQuire:SWAVeform:CMODe{N}:STATe

Command Syntax

:LTESt:ACQuire:SWAVeform:CMODe{N}:STATe {DISK | MEMory | OFF}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:ACQuire:SWAVeform:CMODe{N}:STATe?

Query Response

{DISK | MEM | OFF}

Description

In TDR/TDT Mode, selects to save a common-mode waveforms to a file or memory after the limit test acquires the specified number of waveforms, samples, or patterns. Use the :LTESt:ACQuire:CTYPe command and its child commands to specify the test conditions required to end the test. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command. The following command arguments are available:

DISK
Saves the waveform to a file. Use the :LTESt:ACQuire:SWAVeform:CMODe:FNAMe command to specify the file name.
MEMory
Saves the waveform to a memory location. Use the :LTESt:ACQuire:SWAVeform:CMODe:WMEMory command to specify the memory location.
OFF
Turns off the saving of a common-mode waveform.

Note

This command is compatible with TDR/TDT mode only.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:LTESt:ACQuire:SWAVeform:CMODe{N}:WMEMory

:LTESt:ACQuire:SWAVeform:CMODe{N}:WMEMory WMEMory{1:8}

Command Syntax

:LTESt:ACQuire:SWAVeform:CMODe{N}:WMEMory

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:ACQuire:SWAVeform:CMODe{N}:WMEMory?

Description

In TDR/TDT Mode, specifies a waveform memory for saving a common-mode waveform as a reporting action for an acquisition limit test. Use the :LTESt:ACQuire:SWAVeform:CMODe:STATe command to enable and disable waveform reporting for the channel. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.

Note

This command is compatible with TDR/TDT mode only.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:LTESt:ACQuire:SWAVeform:DIFF{N}:FNAMe

User File Locations

  • Location of files
  • Path substitution variables

Command Syntax

:LTESt:ACQuire:SWAVeform:DIFF{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:ACQuire:SWAVeform:DIFF{N}:FNAMe?

Description

Specifies the file name (including path and file name extension) for saving a differential waveform (.wfmx) reporting file for an acquisition limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:ACQuire:SWAVeform:DIFF:STATe command to enable and disable waveform reporting for the channel. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SWAVeform:DIFF{N}:STATe

Command Syntax

:LTESt:ACQuire:SWAVeform:DIFF{N}:STATe {DISK | MEMory | OFF}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:ACQuire:SWAVeform:DIFF{N}:STATe?

Query Response

{DISK | MEM | OFF}

Description

Selects to save a differential waveform to a file or memory after the limit test acquires the specified number of waveforms, samples, or patterns. Use the :LTESt:ACQuire:CTYPe command and its child commands to specify the test conditions required to end the test. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command. The following command arguments are available:

DISK
Saves the waveform to a file. Use the :LTESt:ACQuire:SWAVeform:DIFF:FNAMe command to specify the file name.
MEMory
Saves the waveform to a memory location. Use the :LTESt:ACQuire:SWAVeform:DIFF:WMEMory command to specify the memory location.
OFF
Turns off the saving of a differential waveform.


:LTESt:ACQuire:SWAVeform:DIFF{N}:WMEMory

Command Syntax

:LTESt:ACQuire:SWAVeform:DIFF{N}:WMEMory WMEMory{1:8}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:ACQuire:SWAVeform:DIFF{N}:WMEMory?

Description

Specifies a waveform memory for saving a differential waveform as a reporting action for an acquisition limit test. Use the :LTESt:ACQuire:SWAVeform:DIFF:STATe command to enable and disable waveform reporting for the channel. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:FNAMe

Command Syntax

:LTESt:ACQuire:SWAVeform:FUNCtion{1:16:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

Query Syntax

:LTESt:ACQuire:SWAVeform:FUNCtion{1:16:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a function waveform (.wfmx) reporting file for an acquisition limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:ACQuire:SWAVeform:FUNCtion:STATe command to enable and disable waveform reporting for the channel. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:STATe

Command Syntax

:LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:STATe {DISK | MEMory | OFF}

Query Syntax

:LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:STATe?

Query Response

{DISK | MEM | OFF}

Description

Selects to save a function waveform to a file or memory after the limit test acquires the specified number of waveforms, samples, or patterns. Use the :LTESt:ACQuire:CTYPe command and its child commands to specify the test conditions required to end the test. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command. The following command arguments are available:

DISK
Saves the waveform to a file. Use the :LTESt:ACQuire:SWAVeform:FUNCtion:FNAMe command to specify the file name.
MEMory
Saves the waveform to a memory location. Use the :LTESt:ACQuire:SWAVeform:FUNCtion:WMEMory command to specify the memory location.
OFF
Turns off the saving of a function waveform.


:LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:WMEMory

Command Syntax

:LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:WMEMory WMEMory{1:8}

Query Syntax

:LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:WMEMory?

Description

Specifies a waveform memory for saving a function waveform as a reporting action for an acquisition limit test. Use the :LTESt:ACQuire:SWAVeform:FUNCtion:STATe command to enable and disable waveform reporting for the channel. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:ACQuire:SWAVeform:RESet

Command Syntax

:LTESt:ACQuire:SWAVeform:RESet

Description

For acquisition limit testing, turns off the reporting action of saving waveforms. Reporting for all waveforms is disabled. There is no query form of this command.


:LTESt:LLINe:SIMage:FNAMe

Command Syntax

:LTESt:LLINe:SIMage:FNAMe "filename"

"filename" is a string.

Query Syntax

:LTESt:LLINe:SIMage:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Upon completion of limit testing for a limit line test, a screen image can be saved to a graphics file. Use this command to specify the file name. The default file type is JPEG (.jpg). The default folder for storing image files is %USER_DATA_DIR%\Screen Images. Use the :LTESt:LLINe:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable Limit Line Tests, use the :LTESt:LLINe:TEST:STATe command.

The file name extension that you give the file determines one of the following available graphics format:

  • .bmp (24-bit color bitmap file format). Bitmap, or .bmp, is typically used for storing bit mapped graphic files.
  • .png (Portable Network Graphics format)
  • .jpg (24-bit color Joint Photographic Experts Group file format). .jpg is a graphics format which can be highly compressed. This compression can result in permanent loss of image quality. The application uses the .jpg software written by the Independent JPEG Group.
  • .gif (Graphics Interchange File format). .gif is a standard graphics format (256 color) used to store bit mapped graphic files. For .gif files, this application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability
  • .tif (256 color Tag Image File format). .tif is a format of choice for storing master copies. It provides better quality, but larger files. This format is widely supported across platforms (PC, Mac, UNIX). This application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SIMage:IMETadata

Command Syntax

:LTESt:LLINe:SIMage:IMETadata {ON | OFF}

Query Syntax

:LTESt:LLINe:SIMage:IMETadata?

Description

Turns on and off the inclusion of metadata when saving a screen image file as the result of the completion of limit testing for a limit line test. Saving metadata only applies to screen captures that are saved as jpg or tiff files. To view or edit the metadata placed in your screen image file, you can right click on the file in Window's File Explorer and from the shortcut menu select Properties. In the Properties dialog box, click the Details tab as shown in this picture. To edit the metadata fields for your image, click on the Value entree shown on the dialog box. The following table lists the metadata fields that FlexDCA populates. The query form of the command returns the current setting.

Metadata Added to Screen Captures
Metadata Field | Value Examples
Subject | Screen Capture
Comments | 86100D (S/N USXXXXXXXX) Modules: Slot 1 Module(86108B LBW,232,300,400,JSA) (MYXXXXXXXX)
Date taken | 7/10/2015 4:32 PM
Program name | FlexDCA (A.05.00.000)
Camera maker | Keysight Technologies
Camera model | FlexDCA (A.05.00.000)
Name | ScreenCapture.jpg

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:LTESt:LLINe:SIMage:INVert

Command Syntax

:LTESt:LLINe:SIMage:INVert {ON | OFF}

Query Syntax

:LTESt:LLINe:SIMage:INVert?

Description

Upon completion of limit testing for a limit line test, a screen image can be saved to a graphics file. Use this command to turns on and off the inversion of the graticule area's background color. When on, an inverted image will be captured and saved into a file specified by the :LTESt:LLINe:SIMage:FNAMe command. The entire application window is saved with the graticule black upon a white background. The waveform colors remain unchanged. When including your graphic files in documents that are to be printed, combine this command with the :LTESt:LLINe:SIMage:WINDow command (graticule only) to save ink or toner.

Use the :LTESt:LLINe:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SIMage:MONochrome

Command Syntax

:LTESt:LLINe:SIMage:MONochrome {ON | OFF}

Query Syntax

:LTESt:LLINe:SIMage:MONochrome?

Description

Upon completion of limit testing for a limit line test, a screen image can be saved to a graphics file. Use this command to turn monochrome screen capture on and off. When on, a black and white image will be captured and saved into a file specified by the :LTESt:LLINe:SIMage:FNAMe command. Selecting monochrome automatically inverts the graticule area's background color.

Use the :LTESt:LLINe:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SIMage:SAVE

Command Syntax

:LTESt:LLINe:SIMage:SAVE

Description

Use this command to capture a screen image graphics file any time during limit testing for a limit line test. The test can still be running having with data being acquired. To capture a screen image file upon completion of limit testing, use the :LTESt:LLINe:SIMage:STATe command. Performs a screen capture of the FlexDCA window and saves the image to a file specified using the :LTESt:LLINe:SIMage:FNAMe command. The default folder is %USER_DATA_DIR%\Screen Images. The file name extension determines the graphic format: .bmp, .png, .jpg, .gif, or .tif. The example located at the end of this topic shows how to return the image file to a computer.

Note

If a displayed dialog box is outside FlexDCA's window, it will not be included in the screen image capture. Use the Windows Print Screen function instead.

Several screen-capture options are available using the sibling commands listed in the following table.

Screen Capture Sibling Commands
Command | Description
:LTESt:LLINe:SIMage:MONochrome | Saves the screen as a black and white image. This selection automatically selects inverts the graticule area's background color.
:LTESt:LLINe:SIMage:INVert | Saves the entire application window but colors the graticule black and the graticule background white. The waveform colors remain unchanged. If combined with Include in screen capture, this option is especially useful when printing a hard copy of the waveform as it saves ink or toner.
:LTESt:LLINe:SIMage:WINDow | Selects to save the entire display or a waveform content window: Waveform, Magnitude, Phase, or Delay. This screen capture shows the entire display captured.
:DISK:SIMage:SINClude | If a specific waveform content window is selected (:LTESt:LLINe:SIMage:WINDow) and the window has multiple waveforms, use this command to select to show only one waveform within the selected window.
:LTESt:LLINe:SIMage:STATe | Automatically saves a screen capture at the completion of limit testing on a limit line test. Use the :LTESt:LLINe:SIMage:FNAMe command to specify the name and location of the captured screen image.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example

This example shows how to save a screen capture to a file that is located on the 86100D's hard drive and then return the file to a computer.

:LTESt:LLINe:SIM:FNAM "D:\User Files\Screen Images\filename.jpg"
:LTESt:LLINe:SIM:SAVE


:LTESt:LLINe:SIMage:SINClude

Command Syntax

:LTESt:LLINe:SIMage:SINClude {ALL | CHANnel{N} | FUNCtion{1:16} | WMEMory{1:4} | CGMemroy{1:4}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:LTESt:LTESt:SIMage:SINClude?

Description

Upon completion of limit testing for a limit line test, a screen image can be saved to a graphics file. If multiple waveforms are displayed, use this command to select that all or only one waveform be included in the saved image file. By default, all waveforms visible on the display are saved in the screen capture. However, when you select one waveform, all other waveform's will be hidden except for their ground markers ( [image] ), which are shown on the screen's right side. Including these markers serves as a reminder that other waveforms were present on the display.

Note

This command is disabled, if the :LTESt:LLINe:SIMage:WINDow command is set to the DISPlay argument. In this case, all waveforms are included in the screen image.

Use the :LTESt:LLINe:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SIMage:STATe

Command Syntax

:LTESt:LLINe:SIMage:STATe {ON | OFF}

Query Syntax

:LTESt:LLINe:SIMage:STATe?

Description

Turns on or off the reporting action of saving a screen image to a file upon the completion of limit testing for a limit line test. Use the commands shown in the following table to configure the output file. To turn on or off limit testing for a specified limit line test, use the :LTESt:LLINe:TEST:STATe command. The default folder for saving screen imigas is %USER_DATA_DIR%\Screen Images. If limit testing is running and not completed, you can force a screen image save at any time using the :LTESt:LLINe:SIMage:SAVE command.

Several screen-capture options are available using the sibling commands listed in the following table.

Screen Capture Sibling Commands
Command | Description
:LTESt:LLINe:SIMage:FNAMe | Specify the filename for saved screen images.
:LTESt:LLINe:SIMage:MONochrome | Saves the screen as a black and white image. This selection automatically selects inverts the graticule area's background color.
:LTESt:LLINe:SIMage:INVert | Saves the entire application window but colors the graticule black and the graticule background white. The waveform colors remain unchanged. If combined with Include in screen capture, this option is especially useful when printing a hard copy of the waveform as it saves ink or toner.
:LTESt:LLINe:SIMage:WINDow | Selects to save the entire display or a waveform content window: Waveform, Magnitude, Phase, or Delay. This screen capture shows the entire display captured.
:DISK:SIMage:SINClude | If a specific waveform content window is selected (:LTESt:LLINe:SIMage:WINDow) and the window has multiple waveforms, use this command to select to show only one waveform within the selected window.
:LTESt:LLINe:SIMage:IMITadata | Include metadata in jpg and tiff files.
:LTESt:LLINe:SIMage:SAVE | Manually save a screen capture at any time during limit testing on a limit line test. Use the :LTESt:LLINe:SIMage:FNAMe command to specify the name and location of the captured screen image.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example

//  Load and start limit line test.
:LLINe1:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe1:SOURce CHANnel1A
:LLINe1:DISPlay ON
:ACQuire:STOP
:ACQuire:CDISplay

//  Configure "Save Screen Image" reporting using default file name.
:LTESt:LLINe:SIMage:FNAMe "%USER_DATA_DIR%\Screen Images\image.png"  //  Image file name.
:LTESt:LLINe:SIMage:WINDow TIME1  //  Capture only Waveform content window.
:LTESt:LLINe:SIMage:SINClude CHAN1A  //  Capture only channel 1A. Hide all other waveforms.
:LTESt:LLINe:SIMage:INVert ON  //  Color waveforms on white graticule background.
:LTESt:LLINe:SIMage:STATe ON  //  Enable screen waveform save.

//  Run limit testing.
:LTESt:LLINe:TEST1:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST1:STATe ON  //  Enable limit testing.
:ACQuire:RUN  //  Enable data acquisition.


:LTESt:LLINe:SIMage:WINDow

Command Syntax

:LTESt:LLINe:SIMage:WINDow  {DISPlay | TIMe{1} | GDELay{1:4} | MAGNitude{1:4} | PHASe{1:4}}

Query Syntax

:LTESt:LLINe:SIMage:WINDow?

Description

Upon completion of limit testing for a limit line test, a screen image can be saved to a graphics file. Use this command to select the waveform content window to include in the image. To actually specify that a screen image is saved, use the :LTESt:LLINe:SIMage:STATe command. The following selections are available:

DISPlay
Includes the entire FlexDCA screen in the captured screen image. The use of this argument disables the :LTESt:LLINe:SIMage:SINClude command and as a result all waveforms will be included in the screen image file.
TIMe1
Includes only the Waveform content window in the captured screen image.
GDELay{1:4}
Includes only the Delay 1, Delay 2, Delay 3, or Delay 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Delay windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Delay window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).
MAGNitude{1:4}
Includes only the Magnitude 1, Magnitude 2, Magnitude 3, or Magnitude 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Magnitude windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Magnitude window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).
PHASe{1:4}
Includes only the Phase 1, Phase 2, Phase 3, or Phase 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Phase windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Phase window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SSUMmary:FNAMe

Command Syntax

:LTESt:LLINe:SSUMmary:FNAMe "filename"

"filename" is a string.

Query Syntax

:LTESt:LLINe:SSUMmary:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies a summary file (file name and path) for limit testing of a limit line test. The default folder for storing limit summary files is %USER_DATA_DIR%\Limit Summaries. To enable the saving of summary files, use the :LTESt:LLINe:SSUMmary:STATe command.

Note

A file name must be entered. If an empty string is entered, the writing of the summary file will fail.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SSUMmary:STATe

Command Syntax

:LTESt:LLINe:SSUMmary:STATe {ON | OFF}

Query Syntax

:LTESt:LLINe:SSUMmary:STATe?

Description

Turns on or off the reporting action to save an ASCII summary file whenever a limit testing for a limit line test stops data acquisition. The file name extension of summary files is .sum. Use the :LTESt:LLINe:SSUMary:FNAMe command to specify the name of the summary file. To turn on or off testing limits for a specified limit line test, use the :LTESt:LLINe:TEST:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Summary File

Limit Line Limit Test Summary
02/10/2015 13:54:52

Test Name  : Upper Limit
Source     : Channel 1A
Test Result: FAIL
Test Margin: -5.52 mV (at 603.50 ps)

Line   Name                 Type Margin           Location         Result
====== ==================== ==== ================ ================ ======
     0 Upper Rail            MAX         -5.52 mV        603.50 ps   FAIL

Example

//  Load and start limit line test.
:LLINe1:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe1:SOURce CHANnel1A
:LLINe1:DISPlay ON
:ACQuire:STOP
:ACQuire:CDISplay

//  Configure "Save Summary" reporting.
:LTESt:LLINe:SSUMmary:FNAMe "%USER_DATA_DIR%\Limit Summaries\MyLimitTest.sum"  //  Enter file name.
:LTESt:LLINe:SSUMmary:STATe ON  //  Enable summary report save.

//  Run limit testing.
:LTESt:LLINe:TEST1:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST1:STATe ON  //  Enable limit testing.
:ACQuire:RUN  //  Enable data acquisition.


:LTESt:LLINe:SWAVeform:CHANnel{N}:FNAMe

Command Syntax

:LTESt:LLINe:SWAVeform:CHANnel{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:LTESt:LLINe:SWAVeform:CHANnel{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Upon completion of limit testing for a limit line test, any channel waveform can be automatically saved to a file. Use this command to enter a file name and path for the selected channel. The default folder for saving waveform files is %USER_DATA_DIR%\Waveforms. The file name extension (.wfmx) is automatically appended to the file name. To actually enable channel waveforms to be saved, use the :LTESt:LLINe:SWAVeform:CHANnel:STATe command.

To enable testing limits on a limit line test, use the :LTESt:LLINe:TEST:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SWAVeform:CHANnel{N}:STATe

Command Syntax

:LTESt:LLINe:SWAVeform:CHANnel{N}:STATe {DISK | MEMory | OFF}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:LTESt:LLINe:SWAVeform:CHANnel{N}:STATe?

Description

Specifies the reporting action for the selected channel waveform upon completion of limit testing for a limit line test. Use the command argument to select or turn off the reporting action. To disable the reporting action of all channel, common-mode, differential, and function waveforms, use the :LTEST:LLINe:SWAVeform:RESet command.

To turn on limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

Command Arguments
Argument | Description
DISK | Saves the waveform to a file (.wfmx) in the %USER_DATA_DIR%\Limit Lines folder. Use the :LTESt:LLINe:SWAVeform:CHANnel:FNAMe command to specify the file name.
MEMory | Saves the waveform to a memory location. Use the :LTESt:LLINe:SWAVeform:CHANnel:WMEMory command to specify the memory location.
OFF | Turns off the saving of a channel waveform.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example

This example shows the general steps required to load two limit line tests. One test is for a channel waveform and one test is for a function waveform. Limit testing is applied to each limit line test and both waveforms are saved to a file upon test completion which occurs on the first failed data point. The waveform content window is tiled so that the two waveforms do not overlap. In a real example, you would need to create the limit test for your waveforms and manage the correct positioning of the limit lines.

:SYSTem:MODE OSCilloscope
:CHANnel1A:DISPlay ON
:FUNCtion1:DISPlay ON
:TRIGger:PLOCk ON
:SYSTem:AUToscale

//  Load and start two limit line tests.
:LLINe1:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe1:SOURce CHANnel1A
:LLINe1:DISPlay ON  //  Display first limit line test.

:LLINe2:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe2:SOURce FUNCtion1
:LLINe2:DISPlay ON  //  Display second limit line test.

:DISPlay:WINDow:TIME1:DMODe STILed  //  Stack and tile waveform window.

//  Configure "Save Channel Waveform" reporting.
:LTESt:LLINe:SWAVeform:RESet  //  Turn saving of all waveforms off.
:LTESt:LLINe:SWAVeform:CHANnel1A:FNAMe "%USER_DATA_DIR%\Waveforms\FailCH1A.wfmx"  //  Waveform file name.
:LTESt:LLINe:SWAVeform:CHANnel1A:STATe DISK  //  Save waveform to file.

//  Configure "Save Function Waveform" reporting.
:LTESt:LLINe:SWAVeform:FUNCtion1:FNAMe "%USER_DATA_DIR%\Waveforms\FailFunction1.wfmx"  //  Waveform file name.
:LTESt:LLINe:SWAVeform:FUNCtion1:STATe DISK  //  Save waveform to file.

//  Run limit testing.
:LTESt:LLINe:TEST1:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST1:STATe ON  //  Enable limit testing.
:LTESt:LLINe:TEST2:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST2:STATe ON  //  Enable limit testing.
:ACQuire:STOP
:ACQuire:CDISplay  //  Clear existing waveform data.
:ACQuire:RUN  //  Enable data acquisition.


:LTESt:LLINe:SWAVeform:CHANnel{N}:WMEMory

Command Syntax

:LTESt:LLINe:SWAVeform:CHANnel{N}:WMEMory WMEMory{1:8}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:LTESt:LLINe:SWAVeform:CHANnel{N}:WMEMory?

Description

Upon completion of limit testing for a limit line test, any channel waveform can be automatically saved to one of eight available waveform memory locations. Use this command to associate a specific waveform memory to a specific channel. To actually enable channel waveforms to be saved, use the :LTESt:LLINe:SWAVeform:CHANnel:STATe command.

To enable limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SWAVeform:CMODe{N}:FNAMe

Command Syntax

:LTESt:LLINe:SWAVeform:CMODe{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:LLINe:SWAVeform:CMODe{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Upon completion of limit testing for a limit line test, any common-mode waveform can be automatically saved to a file. Use this command to enter a file name and path for the selected common-mode waveform. The default folder for saving waveform files is %USER_DATA_DIR%\Waveforms. The file name extension (.wfmx) is automatically appended to the file name. To actually enable common-mode waveforms to be saved, use the :LTESt:LLINe:SWAVeform:CMODe:STATe command.

To enable testing limits on a limit line test, use the :LTESt:LLINe:TEST:STATe command.

Note

This command is compatible with TDR/TDT mode only.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SWAVeform:CMODe{N}:STATe

Command Syntax

:LTESt:LLINe:SWAVeform:CMODe{N}:STATe {DISK | MEMory | OFF}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:LLINe:SWAVeform:CMODe{N}:STATe?

Description

In TDR/TDT Mode, specifies the reporting action for the selected common-mode waveforms upon completion of limit testing for a limit line test. Use the command argument to select or turn off the reporting action. To disable the reporting action of all channel, common-mode, differential, and function waveforms, use the :LTEST:LLINe:SWAVeform:RESet command.

To turn on limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

Command Arguments
Argument | Description
DISK | Saves the waveform to a file (.wfmx) in the %USER_DATA_DIR%\Limit Lines folder. Use the :LTESt:LLINe:SWAVeform:CMODe:FNAMe command to specify the file name.
MEMory | Saves the waveform to a memory location. Use the :LTESt:LLINe:SWAVeform:CMODe:WMEMory command to specify the memory location.
OFF | Turns off the saving of a common-mode waveform.

Note

This command is compatible with TDR/TDT mode only.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SWAVeform:CMODe{N}:WMEMory

Command Syntax

:LTESt:LLINe:SWAVeform:CMODe{N}:WMEMory WMEMory{1:8}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:LLINe:SWAVeform:CMODe{N}:WMEMory?

Description

Upon completion of limit testing for a limit line test, any common-mode waveform can be automatically saved to one of eight available waveform memory locations. Use this command to associate a specific waveform memory to a specific wommon-mode waveform. To actually enable common-mode waveforms to be saved, use the :LTESt:LLINe:SWAVeform:CMODe:STATe command.

To enable limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

Note

This command is compatible with TDR/TDT mode only.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:LTESt:LLINe:SWAVeform:DIFF{N}:FNAMe

Command Syntax

:LTESt:LLINe:SWAVeform:DIFF{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:LLINe:SWAVeform:DIFF{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Upon completion of limit testing for a limit line test, any differential waveform can be automatically saved to a file. Use this command to enter a file name and path for the selected differential waveform. The default folder for saving waveform files is %USER_DATA_DIR%\Waveforms. The file name extension (.wfmx) is automatically appended to the file name. To actually enable differential waveforms to be saved, use the :LTESt:LLINe:SWAVeform:DIFF:STATe command.

To enable testing limits on a limit line test, use the :LTESt:LLINe:TEST:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SWAVeform:DIFF{N}:STATe

Command Syntax

:LTESt:LLINe:SWAVeform:DIFF{N}:STATe {DISK | MEMory | OFF}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:LLINe:SWAVeform:DIFF{N}:STATe?

Description

Specifies the reporting action for the selected differential waveform upon completion of limit testing for a limit line test. Use the command argument to select or turn off the reporting action. To disable the reporting action of all channel, common-mode, differential, and function waveforms, use the :LTEST:LLINe:SWAVeform:RESet command.

To turn on limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

Command Arguments
Argument | Description
DISK | Saves the waveform to a file (.wfmx) in the %USER_DATA_DIR%\Limit Lines folder. Use the :LTESt:LLINe:SWAVeform:DIFF:FNAMe command to specify the file name.
MEMory | Saves the waveform to a memory location. Use the :LTESt:LLINe:SWAVeform:DIFF:WMEMory command to specify the memory location.
OFF | Turns off the saving of a differential waveform.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

:SYSTem:MODE OSCilloscope
:CHANnel1A:DISPlay ON
:CHANnel1B:DISPlay ON
:TRIGger:PLOCk ON
:DIFF1A:DMODe ON
:SYSTem:AUToscale

//  Load and start limit line test.
:LLINe1:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe1:SOURce DIFF1A
:LLINe1:DISPlay ON  //  Display first limit line test.

//  Configure "Save Differential Waveform" reporting.
:LTESt:LLINe:SWAVeform:RESet  //  Turn saving of all waveforms off.
:LTESt:LLINe:SWAVeform:DIFF1A:FNAMe "%USER_DATA_DIR%\Waveforms\FailDiffWaveform.wfmx"  //  Waveform file name.
:LTESt:LLINe:SWAVeform:DIFF1A:STATe DISK  //  Save waveform to file.

//  Run limit testing.
:LTESt:LLINe:TEST1:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST1:STATe ON  //  Enable limit testing.
:ACQuire:STOP
:ACQuire:CDISplay  //  Clear existing waveform data.
:ACQuire:RUN  //  Enable data acquisition.


:LTESt:LLINe:SWAVeform:DIFF{N}:WMEMory

Command Syntax

:LTESt:LLINe:SWAVeform:DIFF{N}:WMEMory WMEMory{1:8}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:LLINe:SWAVeform:DIFF{N}:WMEMory?

Description

Upon completion of limit testing for a limit line test, any differential waveform can be automatically saved to one of eight available waveform memory locations. Use this command to associate a specific waveform memory to a specific differential waveform. To actually enable differential waveforms to be saved, use the :LTESt:LLINe:SWAVeform:DIFF:STATe command.

To enable limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.


:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:FNAMe

Command Syntax

:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

Query Syntax

:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Upon completion of limit testing for a limit line test, any function waveform can be automatically saved to a file. Use this command to enter a file name and path for the selected function. The default folder for saving waveform files is %USER_DATA_DIR%\Waveforms. The file name extension (.wfmx) is automatically appended to the file name. To actually enable function waveforms to be saved, use the :LTESt:LLINe:SWAVeform:FUNCtion:STATe command.

To enable testing limits on a limit line test, use the :LTESt:LLINe:TEST:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:STATe

Command Syntax

:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:STATe {DISK | MEMory | OFF}

Query Syntax

:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:STATe?

Description

Specifies the reporting action for the selected function waveform upon completion of limit testing for a limit line test. Use the command argument to select or turn off the reporting action. To disable the reporting action of all channel, common-mode, differential, and function waveforms, use the :LTEST:LLINe:SWAVeform:RESet command.

To turn on limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.

Command Arguments
Argument | Description
DISK | Saves the waveform to a file (.wfmx) in the %USER_DATA_DIR%\Limit Lines folder. Use the :LTESt:LLINe:SWAVeform:FUNCtion:FNAMe command to specify the file name.
MEMory | Saves the waveform to a memory location. Use the :LTESt:LLINe:SWAVeform: FUNCtion :WMEMory command to specify the memory location.
OFF | Turns off the saving of a function waveform.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example

This example shows the general steps required to load two limit line tests. One test is for a channel waveform and one test is for a function waveform. Limit testing is applied to each limit line test and both waveforms are saved to a file upon test completion which occurs on the first failed data point. The waveform content window is tiled so that the two waveforms do not overlap. In a real example, you would need to create the limit test for your waveforms and manage the correct positioning of the limit lines.

:SYSTem:MODE OSCilloscope
:CHANnel1A:DISPlay ON
:FUNCtion1:DISPlay ON
:TRIGger:PLOCk ON
:SYSTem:AUToscale

//  Load and start two limit line tests.
:LLINe1:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe1:SOURce CHANnel1A
:LLINe1:DISPlay ON  //  Display first limit line test.

:LLINe2:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe2:SOURce FUNCtion1
:LLINe2:DISPlay ON  //  Display second limit line test.

:DISPlay:WINDow:TIME1:DMODe STILed  //  Stack and tile waveform window.

//  Configure "Save Channel Waveform" reporting.
:LTESt:LLINe:SWAVeform:RESet  //  Turn saving of all waveforms off.
:LTESt:LLINe:SWAVeform:CHANnel1A:FNAMe "%USER_DATA_DIR%\Waveforms\FailCH1A.wfmx"  //  Waveform file name.
:LTESt:LLINe:SWAVeform:CHANnel1A:STATe DISK  //  Save waveform to file.

//  Configure "Save Function Waveform" reporting.
:LTESt:LLINe:SWAVeform:FUNCtion1:FNAMe "%USER_DATA_DIR%\Waveforms\FailFunction1.wfmx"  //  Waveform file name.
:LTESt:LLINe:SWAVeform:FUNCtion1:STATe DISK  //  Save waveform to file.

//  Run limit testing.
:LTESt:LLINe:TEST1:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST1:STATe ON  //  Enable limit testing.
:LTESt:LLINe:TEST2:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST2:STATe ON  //  Enable limit testing.
:ACQuire:STOP
:ACQuire:CDISplay  //  Clear existing waveform data.
:ACQuire:RUN  //  Enable data acquisition.


:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:WMEMory

Command Syntax

:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:WMEMory WMEMory{1:8}

Query Syntax

:LTESt:LLINe:SWAVeform:FUNCtion{1:16}:WMEMory?

Description

Upon completion of limit testing for a limit line test, any function waveform can be automatically saved to one of eight available waveform memory locations. Use this command to associate a specific waveform memory to a specific function waveform. To actually enable function waveforms to be saved, use the :LTESt:LLINe:SWAVeform:FUNCtion:STATe command.

To enable limit testing for a limit line test, use the :LTESt:LLINe:TEST:STATe command.


:LTESt:LLINe:SWAVeform:RESet

Command Syntax

:LTESt:LLINe:SWAVeform:RESet

Description

Turns off the reporting action to save channel, differential, common-mode, and function waveforms to a file or memory location whenever limit testing for a limit line test stops data acquisition. It is equivalent to sending the following command for each available waveform:

:LTESt:LLINe:SWAVeform:CHANnel:STATe OFF
:LTESt:LLINe:SWAVeform:CMODe:STATe OFF
:LTESt:LLINe:SWAVeform:DIFF:STATe OFF
:LTESt:LLINe:SWAVeform:FUNCtion:STATe OFF

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:TEST{1:64}:MODe

Command Syntax

:LTESt:LLINe:TEST{1:64}:MODe {SOFailure | SOSuccess}

{1:64} identifies the specific limit line test.

Query Syntax

:LTESt:LLINe:TEST{1:64}:MODe?

Description

Specifies the event that stops data acquisition when testing limits for a limit line test are enabled. To enable testing limits, use the :LTESt:LLINe:TEST:STATe command.

Command Arguments
Argument | Description
SOFailure | Stop data acquisition when the first failed data point occurs.
SOSuccess | Stop data acquisition when the first passing data point occurs.

FlexDCA Revisio

Requires FlexDCA revision A.04.50 and above.


:LTESt:LLINe:TEST{1:64}:STATe

Command Syntax

:LTESt:LLINe:TEST{1:64}:STATe {ON | OFF}

{1:64} identifies the specific limit-line test.

Query Syntax

:LTESt:LLINe:TEST{1:64}:STATe?

Description

Turns on or off limit testing for a specified limit line test. When testing limits are on, data acquisition continues until the event specified with the :LTESt:LLINe:TEST:MODe command occurs. This can be defined as stop acquisition upon the first failed or first successful data point. To specify the reporting action to be taken once the data acquisition has stopped, use the following commands:

  • :LTESt:LLINe:SIMage:STATe
  • :LTESt:LLINe:SSUMmary:STATe
  • :LTESt:LLINe:SWAVeform:CHANnel:STATe
  • :LTESt:LLINe:SWAVeform:CMODe:STATe
  • :LTESt:LLINe:SWAVeform:DIFF:STATe
  • :LTESt:LLINe:SWAVeform:FUNCtion:STATe

To create a limit line test, use the :LLINe subsystem.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example

This example shows the general steps required to load two limit line tests, apply limit testing to each limit line test, configure the reports, and run the tests. The waveform content window is tiled so that the two waveforms do not overlap. In a real example, you would need to create the limit test for your waveforms and manage the correct positioning of the limit lines.

:SYSTem:MODE OSCilloscope
:CHANnel1A:DISPlay ON
:CHANnel1B:DISPlay ON
:TRIGger:PLOCk ON
:SYSTem:AUToscale

//  Load and start limit line test.
:LLINe1:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe1:SOURce CHANnel1A
:LLINe1:DISPlay ON  //  Display first limit line test.
:LLINe2:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\Golden Test.lltx"
:LLINe2:SOURce CHANnel1B
:LLINe2:DISPlay ON  //  Display second limit line test.
:DISPlay:WINDow:TIME1:DMODe STILed  //  Stack and tile waveform window.

//  Configure "Save Waveform" reporting using default file name.
:LTESt:LLINe:SWAVeform:RESet  //  Turn saving of all waveforms off.
:LTESt:LLINe:SWAVeform:CHANnel1A:WMEMory WMEMory1  //  Turn on saving of channel 1A.
:LTESt:LLINe:SWAVeform:CHANnel1A:STATe MEMory  //  Enable waveform save.
:LTESt:LLINe:SWAVeform:CHANnel1B:WMEMory WMEMory2  //  Turn on saving of channel 1B.
:LTESt:LLINe:SWAVeform:CHANnel1B:STATe MEMory  //  Enable waveform save.

//  Configure "Save Summary" reporting using default file name.
:LTESt:LLINe:SSUMmary:STATe ON  //  Enable summary report save.

//  Configure "Save Screen Image" reporting using default file name.
:LTESt:LLINe:SIMage:WINDow TIME1
:LTESt:LLINe:SIMage:INVert ON
:LTESt:LLINe:SIMage:STATe ON  //  Enable screen image save.

//  Run limit testing.
:LTESt:LLINe:TEST1:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST1:STATe ON  //  Enable limit testing.
:LTESt:LLINe:TEST2:MODe SOFailure  //  Stop limit testing on fail condition.
:LTESt:LLINe:TEST2:STATe ON  //  Enable limit testing.
:ACQuire:STOP
:ACQuire:CDISplay
:ACQuire:RUN  //  Enable data acquisition.


:LTESt:MEASure:MLIMit{1:16}:FAILures

Command Syntax

:LTESt:MEASure:MLIMit{1:16}:FAILures

{1:16} identifies one of 16 possible measurement limit tests for which to apply this setting.

Query Syntax

:LTESt:MEASure:MLIMit{1:16}:FAILures?

Description

Sets the number of failures required to stop the specified measurement limit test. Use the :LTESt:MEASure:MLIMit:STATe command to start the limit test.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example

:LTESt:MEASure:MLIMit2:FALures 5  //  Fail test 2 after five failures.


:LTESt:MEASure:MLIMit{1:16}:FREGion

Command Syntax

:LTESt:MEASure:MLIMit{1:16}:FREGion {INSide | OUTSide | ALWays | NEVer}

Query Syntax

:LTESt:MEASure:MLIMit{1:16}:FREGion?

Description

Defines when to fail a measurement limit test. Use one of the following arguments:

INSide
A measurement is counted as a failure if it is within the lower and upper limits, which are set by the :LLIMit and :ULIMit sibling commands.
OUTSide
A measurement is counted as a failure when the measurement results exceed the parameters set by :LLIMit and :ULIMit sibling commands.
ALWays
A measurement is counted as a failure every time the measurement is executed, and the parameters set by the :LLIMit and :ULIMit sibling commands are ignored.
NEVer
Logs the action each time the measurement is executed and can be used to monitor measurements. For example, you can use NEVer to track a measurement trend during an environmental test while running a measurement for a long time as the temperature or humidity is changed. Each time the measurement is executed, the results can be logged as determined by the fail action set with the following commands:
  • LTESt:MEASure:SIMage:STATe
  • LTESt:MEASure:SSUMary:STATe
  • LTESt:MEASure:SWAVeform:CHANnel:STATe
  • LTESt:MEASure:SWAVeform:DIFF:STATe
  • LTESt:MEASure:SWAVeform:FUNCtion:STATe
You can also use NEVer to observe one measurement but determine a failure from a different measurement.

Use the :STATe sibling command to start the limit test.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example

:LTESt:MEASure:MLIMit2:FREGion INSide  //  Limit test 2 fails for inside violations.


:LTESt:MEASure:MLIMit{1:16}:LLIMit

Command Syntax

:LTESt:MEASure:MLIMit{1:16}:LLIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:MLIMit{1:16}:LLIMit?

Description

Defines the lower limit for a measurement limit test. For example, if you chose to measure Oscilloscope Mode's peak-to-peak amplitude and want the lower limit to be –100 mV, you could set the lower limit to –0.1 and then set the limit test to fail when the signal is outside the specified limit. Use the :STATe sibling command to start the limit test.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:LTESt:MEASure:MLIMit{1:16}:SOURce:LOCation

:LTESt:MEASure:MLIMit:SOURce{1:16}:LOCation

Command Syntax

:LTESt:MEASure:MLIMit:SOURce{1:16}:LOCation <index>

<index> is an integer.

Query Syntax

:LTESt:MEASure:MLIMit:SOURce{1:16}:LOCation?

Description

For the specified measurement limit test 1 through 16, selects the actual measurement on which to perform the limit test. To select the type of source measurement (for example, an Eye Mode measurement) on which to run the test, use the :LTESt:MEASure:MLIMit:SOURce:TYPE command.

MEASUREMENT LOCATION QUERY

You can query any measurement's location index in the :MEASure subsytem by using the measurement's :LOCation child command. For more information, refer to the introduction to the limit test subsystem.

The integer argument is an index that identifies the measurement in the active measurement list, which is shown in the displayed results table. Results tables can list up to 32 measurements, so the index can range from 1 to 32. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. Since new measurements are added to the list's top, the index is numbered in the reverse order in which the measurement were turned on. For example, the last and 3rd measurement added to the following picture was Crossing % and it has a location index of 1.

  • Crossing % (index 1)
  • Fall Time (index 2)
  • Rise Time (index 3)

SHORT CUT!

Sending the command to start a measurement, even if it is alread turned on, places the measurement at the top of the results table with location index 1. As a result, you don't need to query the location. Simply use location 1 in the limit test commands.

Note

After defining one or more limit tests, if you start an additional measurement, the location index for all measurements change. You must anticipate this change if you plan to make any further changes to your measurement limit tests.

Measurements can be listed in columns, as shown by the following figure. In this case, the location index increases row-by-row from left to right. As a result, the first (top most) measurement in the following figure is identified as 1. It is the TJ measurement. The second measurement, identified as 2, is DJ. The third measurement, identified as 3, is RJ, and so forth.

For measurements on Eye Mode's mask regions, use the following figure and table to identify the index, which can range from 1 to 64. Query the location index using the :MEASure subsytem's :LOCation queries listed in the following table.

Locating the Index for Mask Test Results
Mask Limit Measurements | :MEASure Subsystem Query for Location Index
Mask Region (1 to 16) | :MEASure:MTESt:HREGion{1:16}:LOCation?
Mask + Margin Region (1 to 16) | :MEASure:MTESt:MHRegion{1:16}:LOCation?
Total Mask Hits | :MEASure:MTESt:HITS:LOCation?
Total Margin Hits | :MEASure:MTESt:MHITs:LOCation?
Waveform Count | :MEASure:MTESt:NWAVforms:LOCation?
Samples/UI | :MEASure:MTESt:NSAMples:LOCation?
Margin | :MEASure:MTESt:MARGin:LOCation?

When defining a measurement limit test, first select the type of measurement results table (for example, eye measurements) and then identify the measurement using an index. The index identifies the measurement in the active measurement list, which is shown in the displayed results table. Results tables can list up to 32 measurements, so the index can range from 1 to 32. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. Since new measurements are added to the list's top, the index is numbered in the reverse order in which the measurement were turned on. For example, the last and 3rd measurement added to the following picture was Crossing % and it has a location index of 1.

  • Crossing % (index 1)
  • Fall Time (index 2)
  • Rise Time (index 3)

SHORT CUT!

Sending the command to start a measurement, even if it is alread turned on, places the measurement at the top of the results table with location index 1. As a result, you don't need to query the location. Simply use location 1 in the limit test commands.

Note

After defining one or more limit tests, if you start an additional measurement, the location index for all measurements change. You must anticipate this change if you plan to make any further changes to your measurement limit tests.

Measurements can be listed in columns, as shown by the following figure. In this case, the location index increases row-by-row from left to right. As a result, the first (top most) measurement in the following figure is identified as 1. It is the TJ measurement. The second measurement, identified as 2, is DJ. The third measurement, identified as 3, is RJ, and so forth.

For measurements on Eye Mode's mask regions, use the following figure and table to identify the index, which can range from 1 to 64. Query the location index using the :MEASure subsytem's :LOCation queries listed in the following table.

Locating the Index for Mask Test Results
Mask Limit Measurements | :MEASure Subsystem Query for Location Index
Mask Region (1 to 16) | :MEASure:MTESt:HREGion{1:16}:LOCation?
Mask + Margin Region (1 to 16) | :MEASure:MTESt:MHRegion{1:16}:LOCation?
Total Mask Hits | :MEASure:MTESt:HITS:LOCation?
Total Margin Hits | :MEASure:MTESt:MHITs:LOCation?
Waveform Count | :MEASure:MTESt:NWAVforms:LOCation?
Samples/UI | :MEASure:MTESt:NSAMples:LOCation?
Margin | :MEASure:MTESt:MARGin:LOCation?

The following example creates three Eye Mode measurement limit tests for the Crossing %, Fall Time, and Rise Time measurements shown in this picture. Notice that the reporting action commands for saving waveform, summary, and a screen capture apply to all active measurement limit tests. The first limit test to complete stops all tests and report actions are taken.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

This example returns the location of the risetime measurement in Eye/Mask mode, which in this example is "3". Then, later in the program, this location index is used to enable limit testing on the risetime measurement.

:MEASure:EYE:RISetime:LOCation?  //  Discover risetime location in table.
…
…
:LTESt:MEASure:MLIMit2:SOURce:TYPE EYE  //  Select an Eye Mode test.
:LTESt:MEASure:MLIMit2:SOURce:LOCation 3  //  Select the risetime measurement.
:LTESt:MEASure:MLIMit2:STATe ON  //  turn on risetime limit test 2


:LTESt:MEASure:MLIMit{1:16}:SOURce:TYPE

Command Syntax

:LTESt:MEASure:MLIMit{1:16}:SOURce:TYPE {OSCilloscope | EYE | MTESt{1:16} | JITTer | AMPLitude | CRECovery{1:16} | NONE}

Query Syntax

:LTESt:MEASure:MLIMit{1:16}:SOURce:TYPE?

Description

For the specified measurement limit test 1 through 16, selects the type of source measurement on which to run the test. For example, an Eye Mode measurement. The following list shows the available arguments. After selecting the type of measurement using this command, select the actual measurement using the :LTESt:MEASure:MLIMit:SOURce:LOCation command. Use the :LTESt:MEASure:MLIMit:STATe command to start the limit test.

OSCilloscope
Selects Oscilloscope Mode measurements. FlexDCA must be in Oscilloscope mode before you can configure or enable the measurement limit tests.
EYE
Selects Eye/Mask Mode measurements. FlexDCA must be in Eye/Mask mode before you can configure or enable the limit tests.
MTESt{1:16}
Selects Eye Mode Mask Test measurements. FlexDCA must be in Eye/Mask mode with an eye mask enabled before you can configure or enable the limit tests.
JITTer
Selects Jitter Mode measurements. FlexDCA must be in Jitter mode before you can configure or enable the measurement limit tests.

Jitter measurements requires Jitter Mode Enhanced Jitter Analysis Software license (Option 86100D-200 or N1010A-200).

AMPLitude
Selects Jitter Mode Amplitude measurements. FlexDCA must be in Jitter mode with an amplitude measurement turned on before you can configure or enable the measurement limit tests.

Amplitude interference measurements requires additional Option 86100D-300 Advanced Amplitude Analysis/RIN/Q-Factor license.

CRECovery{1:16}
Selects JSA TJ (rms), DJ (rms), or RJ (rms) measurement.

License Required

JSA requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

NONE
If no measurements are turned on, this is the only valid argument and the query response.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

This example returns the location of the risetime measurement in Eye/Mask mode, which in this example is "3". Then, later in the program, this location index is used to enable limit testing on the risetime measurement.

:MEASure:EYE:RISetime:LOCation?  //  Discover risetime location in table.
…
…
:LTESt:MEASure:MLIMit2:SOURce:TYPE EYE  //  Select an Eye Mode test.
:LTESt:MEASure:MLIMit2:SOURce:LOCation 3  //  Select the risetime measurement.
:LTESt:MEASure:MLIMit2:STATe ON  //  turn on risetime limit test 2


:LTESt:MEASure:MLIMit{1:16}:STATe

Command Syntax

:LTESt:MEASure:MLIMit{1:16}:STATe {ON | OFF}

Query Syntax

:LTESt:MEASure:MLIMit{1:16}:STATe?

Description

Turns the specified measurement limit test, 1 through 16, on or off. Source waveforms include channels, differential channels, and functions. Use the following sibling commands to configure the limit test:

  • :SOURce:TYPE selects the type of measurement.
  • :SOURce:LOCationselects the actual measurement.
  • :FAILures defines the number of failures for stopping a limit test.
  • :FREGion selects when to fail a measurement.
  • :LLIMit defines the lower limit for failing a measurement.
  • :ULIMit defines the upper limit for failing a measurement.
  • :UPACtion selects an action if the measurement cannot be performed.

As seen in the example in this topic, the following commands configure the reports of a completed limit test:

  • :LTESt:MEASure:MLIMit:SIMage:STATe
  • :LTESt:MEASure:MLIMit:SSUMmary
  • :LTESt:MEASure:MLIMit:SWAVeform:CHANnel:STATe
  • :LTESt:MEASure:MLIMit:SWAVeform:DIFF:STATe
  • :LTESt:MEASure:MLIMit:SWAVeform:FUNCtion:STATe

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

The following example creates three Eye Mode measurement limit tests for the Crossing %, Fall Time, and Rise Time measurements shown in this picture. Notice that the reporting action commands for saving waveform, summary, and a screen capture apply to all active measurement limit tests. The first limit test to complete stops all tests and report actions are taken.

:ACQuire:SINGle  //  Stop waveform acquisition.

//  CREATE MEASUREMENT LIMIT TEST 4.
:LTESt:MEASure:MLIMit4:SOURce:LOCation 1  //  Create test 4 for Crossing % measurement.
:LTESt:MEASure:MLIMit4:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit4:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit4:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit4:FAILures 10  //  Fail test after 10 failures.
:LTESt:MEASure:MLIMit4:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit4:STATe ON  //  Turn Crossing % test on.

//  CREATE MEASUREMENT LIMIT TEST 5.
:LTESt:MEASure:MLIMit5:SOURce:LOCation 2  //  Create test 5 for Fall Time measurement.
:LTESt:MEASure:MLIMit5:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit5:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit5:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit5:FAILures 10  //  Fail test after 10 failures.
:LTESt:MEASure:MLIMit5:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit5:STATe ON  //  Turn Fall Time test on.

//  CREATE MEASUREMENT LIMIT TEST 6.
:LTESt:MEASure:MLIMit6:SOURce:LOCation 3  //  Create test 6 for Rise Time measurement.
:LTESt:MEASure:MLIMit6:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit6:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit6:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit6:FAILures 10  //  Fail test after 10 failures.
:LTESt:MEASure:MLIMit6:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit6:STATe ON  //  Turn Rise Time test on.

//  CONFIGURE REPORTING FOR ALL 3 TESTS.
:LTESt:MEASure:SWAVeform:CHAN2A:STATe DISK  //  Save channel 2A data to file.
:LTESt:MEASure:SWAVeform:CHAN2A:WMEMory WMEMory3  //  Select memory 3.
:LTESt:MEASure:SSUMmary:STATe ON  //  Save summary file.
:LTESt:MEASure:SIMage:STATe ON  //  Save screen image file.

//  START TESTING.
:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  //  Wait for completion of tests.


:LTESt:MEASure:MLIMit{1:16}:ULIMit

Command Syntax

:LTESt:MEASure:MLIMit{1:16}:ULIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:MLIMit{1:16}:ULIMit?

Description

Defines the upper limit for a measurement limit test. For example, if you chose to measure Oscilloscope Mode's peak-to-peak amplitude and want the upper limit to be 100 mV, you could set the lower limit to 0.1 and then set the limit test to fail when the signal is outside the specified limit. Use the :STATe sibling command to start the limit test.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:LTESt:MEASure:MLIMit{1:16}:UPACtion

Command Syntax

:LTESt:MEASure:MLIMit{1:16}:UPACtion {FAIL | PASS | IGNore}

Query Syntax

:LTESt:MEASure:MLIMit{1:16}:UPACtion?

Description

Selects an action to be taken if the measurement limit test cannot be performed. Use one of the following arguments:

FAIL
If the measurement cannot be made, for example when an edge is expected to be present and is not found, the total number of waveforms is incremented and the total number of failures is incremented. This is the mode to use for most applications.
PASS
If the measurement cannot be performed, pass the measurement and do not count it as a failure. You might use PASS when triggering on one event and measuring another event which may not occur for every trigger. For example, in a communications test system, you might want to trigger on the clock and test the risetime of edges in the data stream. However, there may be no way to guarantee that a rising edge will be present to measure in the data stream at every clock edge. By using the PASS parameter, the limit test will not log a failure if there is no edge found in the data stream. If the measurement cannot be made, the total number of waveforms measured is incremented, but the total number of failures is not.
IGNore
If the measurement cannot be performed, ignore the measurement and do not count it as a pass or fail. IGNore is similar to PASS, except the totals for the number of waveforms and failures are not incremented. Therefore, the total indicates the number of tests when the measurement was made.

Use the :STATe sibling command to start the limit test.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:LTESt:MEASure:SIMage:FNAMe

Command Syntax

:LTESt:MEASure:SIMage:FNAMe "filename"

"filename" is a string.

Query Syntax

:LTESt:MEASure:SIMage:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a screen-capture reporting file for an measurement limit test. The default file type is JPEG (.jpg). The default folder for storing image files is %USER_DATA_DIR%\Screen Images. Use the :LTESt:MEASure:SIMage:STATe command to enable and disable screen-capture reporting.

The file name extension that you give the file determines one of the following available graphics format:

  • .bmp (24-bit color bitmap file format). Bitmap, or .bmp, is typically used for storing bit mapped graphic files.
  • .png (Portable Network Graphics format)
  • .jpg (24-bit color Joint Photographic Experts Group file format). .jpg is a graphics format which can be highly compressed. This compression can result in permanent loss of image quality. The application uses the .jpg software written by the Independent JPEG Group.
  • .gif (Graphics Interchange File format). .gif is a standard graphics format (256 color) used to store bit mapped graphic files. For .gif files, this application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability
  • .tif (256 color Tag Image File format). .tif is a format of choice for storing master copies. It provides better quality, but larger files. This format is widely supported across platforms (PC, Mac, UNIX). This application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.


:LTESt:MEASure:SIMage:IMETadata

Command Syntax

:LTESt:MEASure:SIMage:IMETadata {ON | OFF}

Query Syntax

:LTESt:MEASure:SIMage:IMETadata?

Description

Turns on and off the inclusion of metadata when saving a screen image file as the result of a measurement limit test. Saving metadata only applies to screen captures that are saved as jpg or tiff files. To view or edit the metadata placed in your screen image file, you can right click on the file in Window's File Explorer and from the shortcut menu select Properties. In the Properties dialog box, click the Details tab as shown in this picture. To edit the metadata fields for your image, click on the Value entree shown on the dialog box. The following table lists the metadata fields that FlexDCA populates. The query form of the command returns the current setting.

Metadata Added to Screen Captures
Metadata Field | Value Examples
Subject | Screen Capture
Comments | 86100D (S/N USXXXXXXXX) Modules: Slot 1 Module(86108B LBW,232,300,400,JSA) (MYXXXXXXXX)
Date taken | 7/10/2015 4:32 PM
Program name | FlexDCA (A.05.00.000)
Camera maker | Keysight Technologies
Camera model | FlexDCA (A.05.00.000)
Name | ScreenCapture.jpg

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:LTESt:MEASure:SIMage:INVert

Command Syntax

:LTESt:MEASure:SIMage:INVert {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:SIMage:INVert?

Query Response

{1 | 0}

Description

Turns on and off the inversion of the graticule area's background color when reporting a screen capture for a measurement limit test. When on, an inverted image will be captured and saved into a file by the :LTESt:MEASure:SIMage:FNAMe command. The entire application window is saved with the graticule black upon a white background. The waveform colors remain unchanged. When printing a hard copy of the waveform, combine this command with the :LTESt:MEASure:SIMage:WINDow command (graticule only) to save ink or toner. Use the :LTESt:MEASure:SIMage:STATe command to enable and disable screen-capture reporting.


:LTESt:MEASure:SIMage:MONochrome

Command Syntax

:LTESt:MEASure:SIMage:MONochrome {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:SIMage:MONochrome?

Query Response

{1 | 0}

Description

Turns monochrome screen capture on and off when reporting a screen capture for a measurement limit test. When on, a black and white image will be captured and saved into a file by the :LTESt:MEASure:SIMage:FNAMe command. Selecting monochrome automatically inverts the graticule area's background color. Use the :LTESt:MEASure:SIMage:STATe command to enable screen captures to be saved when the limit test completes.


:LTESt:MEASure:SIMage:SINClude

Command Syntax

:LTESt:MEASure:SIMage:SINClude {ALL | CHANnel{N} | FUNCtion{1:16} | WMEMory{1:4} | CGMemroy{1:4}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:LTESt:MEASure:SIMage:SINClude?

Description

Selects all or only one of the displayed waveforms to be included on a saved image file when reporting a screen capture for a measurement limit test. By default, all waveforms visible on the display are saved in the screen capture. However, when you select one waveform, all other waveform's will be hidden except for their ground markers ( [image] ), which are shown on the screen's right side. Including these markers serves as a reminder that other waveforms were present on the display. Use the :LTESt:MEASure:SIMage:STATe command to enable and disable screen-capture reporting.


:LTESt:MEASure:SIMage:STATe

Command Syntax

:LTESt:MEASure:SIMage:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:SIMage:STATe?

Query Response

{1 | 0}

Description

Selects to save a screen image to a file after the specified number of measurement failures stops the limit test. You specify the number of failures required for each individual measurement using the :LTESt:MEASure:<mode>:LOCation:FAILures child command. For example,

:LTESt:MEASure:EYE:LOCation3:FAILures

Information on identifying the measurement is found in the introduction to the limit test programming subsystem. Use the commands shown in the following table to configure the output file.

Commands to Configure the Output
Task | Command
Enter the filename, type, and path | :LTESt:MEASure:SIMage:FNAMe
Select portion of FlexDCA display to capture | :LTESt:MEASure:SIMage:WINDow
Include metadata in jpg and tiff files. | :LTESt:MEASure:SIMage:IMITadata
Invert background color | :LTESt:MEASure:SIMage:INVert
Black and white output | :LTESt:MEASure:SIMage:MONochrome
Capture a single waveform among several displayed waveforms | :LTESt:MEASure:SIMage:SINCLude


:LTESt:MEASure:SIMage:WINDow

Command Syntax

:LTESt:ACQuire:SIMage:WINDow  {DISPlay | TIMe{1} | GDELay{1:4} | MAGNitude{1:4} | PHASe{1:4}}

Query Syntax

:LTESt:ACQuire:SIMage:WINDow?

Query Response

{1 | 0}

Description

When reporting a screen image as a result of an measurement limit test, use this command to selects which portion of the screen to include in the image. To actually specify that a screen image is saved, use the :LTESt:MEASure:SIMage:STATe command. The following selections are available:

DISPlay
Includes the entire FlexDCA screen in the captured screen image.
TIMe1
Includes only the Waveform content window in the captured screen image.
GDELay{1:4}
Includes only the Delay 1, Delay 2, Delay 3, or Delay 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Delay windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Delay window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).
MAGNitude{1:4}
Includes only the Magnitude 1, Magnitude 2, Magnitude 3, or Magnitude 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Magnitude windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Magnitude window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).
PHASe{1:4}
Includes only the Phase 1, Phase 2, Phase 3, or Phase 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Phase windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Phase window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:LTESt:MEASure:SSUMmary:FNAMe

Command Syntax

:LTESt:MEASure:SSUMmary:FNAMe "filename"

"filename" is a string.

Query Syntax

:LTESt:MEASure:SSUMmary:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name and path for a measurement limit test's summary file. The default folder for storing limit summary files is %USER_DATA_DIR%\Limit Summaries. If summary reports are specified to several measurement limit tests, all of the summaries will be written to the same file. To enable the saving of summary files, use the :LTESt:MEASure:SSUMmary:STATe command.

Note

A file name must be entered. If an empty string is entered, the writing of the summary file will fail.


:LTESt:MEASure:SSUMmary:STATe

Command Syntax

:LTESt:MEASure:SSUMmary:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:SSUMmary:STATe?

Query Response

{1 | 0}

Description

Turns on or off the reporting action to save an ASCII summary file whenever a measurement limit test reaches its limit and stops. The file name extension of summary files is .sum. Use the :LTESt:MEASure:SSUMary:FNAMe command to specify the name of the summanry file. The following is an example of a summary file's contents:

Measurement Limit Test Summary
10/07/2011 10:42:44

Mask Region 1
Fails when outside range [0, 0.225]

Number of Failures 	6
Number of Trials   	6
Pass Percentage    	0

Mask + Margin Region 1
Fails when outside range [0, 0.225]

Number of Failures 	6
Number of Trials   	6
Pass Percentage    	0

Total Mask Hits
Fails when outside range [-10, 10]

Number of Failures 	0
Number of Trials   	6
Pass Percentage    	100

Total Margin Hits
Fails when outside range [-10, 10]

Number of Failures 	0
Number of Trials   	6
Pass Percentage    	100

Waveform Count
Fails when outside range [-10, 10]

Number of Failures 	6
Number of Trials   	6
Pass Percentage    	0

Margin
Fails when outside range [-10, 10]

Number of Failures 	0
Number of Trials   	6
Pass Percentage    	100


:LTESt:MEASure:SWAVeform:CHANnel{N}:FNAMe

Command Syntax

:LTESt:MEASure:SWAVeform:CHANnel{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

CHANnel{N} identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:MEASure:SWAVeform:CHANnel{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a channel waveform (.wfmx) reporting file for an measurement limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:MEASure:SWAVeform:CHANnel{N}:STATe command to enable and disable waveform reporting for the channel.


:LTESt:MEASure:SWAVeform:CHANnel{N}:STATe

Command Syntax

:LTESt:MEASure:SWAVeform:CHANnel{N}:STATe {DISK | MEMory | OFF}

CHANnel{N} identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:MEASure:SWAVeform:CHANnel{N}:STATe?

Query Response

{DISK | MEM | OFF}

Description

Saves a channel waveform to a file or memory location after the measurement limit test acquires the specified number of failures. Use the :LTESt:MEASure:MLIMit:FAILures command to enter the number of failures to limit the test. The following command arguments are available:

DISK
Saves the waveform to a file. Use the :LTESt:MEASure:SWAVeform:CHANnel:FNAMe command to specify the file name.
MEMory
Saves the waveform to a memory location. Use the :LTESt:MEASure:SWAVeform:CHANnel:WMEMory command to specify the memory location.
OFF
Turns off the saving of a common-mode waveform.


:LTESt:MEASure:SWAVeform:CHANnel{N}:WMEMory

Command Syntax

:LTESt:MEASure:SWAVeform:CHANnel{N}:WMEMory WMEMory{1:8}

CHANnel{N} <N> identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:MEASure:SWAVeform:CHANnel{N}:WMEMory?

Description

Upon completion of an measurement limit test, selects a waveform memory as a destination to save a channel waveform. Use the :LTESt:MEASure:SWAVeform:CHANnel:STATe command to enable and disable waveform reporting for the channel. Use the :LTESt:MEASure:MLIMit:STATe command to turn off the measurement limit test.


:LTESt:MEASure:SWAVeform:CMODe{N}:FNAMe

Command Syntax

:LTESt:MEASure:SWAVeform:CMODe{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:MEASure:SWAVeform:CMODe{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a common-mode waveform (.wfmx) reporting file for an measurement limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms\Waveforms Folder. Use the :LTESt:MTESt:SWAVeform:CMODe:STATe command to enable and disable waveform reporting for a common-mode waveform.

Note

This command is compatible with TDR/TDT mode only.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:LTESt:MEASure:SWAVeform:CMODe{N}:STATe

Command Syntax

:LTESt:MEASure:SWAVeform:CMODe{N}:STATe {DISK | MEMory | OFF}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:MEASure:SWAVeform:CMODe{N}:STATe?

Query Response

{DISK | MEM | OFF}

Description

In TDR/TDT Mode, saves a common-mode waveform to a file or memory location after the measurement limit test acquires the specified number of failures. Use the :LTESt:MEASure:MLIMit:FAILures command to enter the number of failures to limit the test. The following command arguments are available:

DISK
Saves the waveform to a file. Use the :LTESt:MEASure:SWAVeform:CMODe:FNAMe command to specify the file name.
MEMory
Saves the waveform to a memory location. Use the :LTESt:MEASure:SWAVeform:CMODe:WMEMory command to specify the memory location.
OFF
Turns off the saving of a common-mode waveform.

Note

This command is compatible with TDR/TDT mode only.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:LTESt:MEASure:SWAVeform:CMODe{N}:WMEMory

Command Syntax

:LTESt:MEASure:SWAVeform:CMODe{N}:WMEMory WMEMory{1:8}

{N} identifies the common-mode waveform, which must be selected from {1:8}{A|C}. For example, the waveform of channels 1A and 2A would be identified as CMODe1A.

Query Syntax

:LTESt:MEASure:SWAVeform:CMODe{N}:WMEMory?

Description

Upon completion of an measurement limit test, selects a waveform memory as a destination to save a common-mode waveform. Use the :LTESt:MEASure:SWAVeform:CMODe:STATe command to enable and disable waveform reporting for the channel. Use the :LTESt:MEASure:MLIMit:STATe command to turn off the measurement limit test

Note

This command is compatible with TDR/TDT mode only.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:LTESt:MEASure:SWAVeform:DIFF{N}:FNAMe

Command Syntax

:LTESt:MEASure:SWAVeform:DIFF{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:MEASure:SWAVeform:DIFF{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a channel waveform (.wfmx) reporting file for an measurement limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:MEASure:SWAVeform:DIFF{N}:STATe command to enable and disable waveform reporting for the channel.


:LTESt:MEASure:SWAVeform:DIFF{N}:STATe

Command Syntax

:LTESt:MEASure:SWAVeform:DIFF{N}:STATe {DISK | MEMory | OFF}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:MEASure:SWAVeform:DIFF{N}:STATe?

Query Response

{DISK | MEM | OFF}

Description

Saves a differential waveform to a file or memory location after the measurement limit test acquires the specified number of failures. Use the :LTESt:MEASure:MLIMit:FAILures command to enter the number of failures to limit the test. The following command arguments are available:

DISK
Saves the waveform to a file. Use the :LTESt:MEASure:SWAVeform:DIFF:FNAMe command to specify the file name.
MEMory
Saves the waveform to a memory location. Use the :LTESt:MEASure:SWAVeform:DIFF:WMEMory command to specify the memory location.
OFF
Turns off the saving of a common-mode waveform.


:LTESt:MEASure:SWAVeform:DIFF{N}:WMEMory

Command Syntax

:LTESt:MEASure:SWAVeform:DIFF{N}:WMEMory WMEMory{1:8}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:MEASure:SWAVeform:DIFF{N}:WMEMory?

Description

Upon completion of an measurement limit test, selects a waveform memory as a destination to save a differential waveform. Use the :LTESt:MEASure:SWAVeform:DIFF:STATe command to enable and disable waveform reporting for the channel. Use the :LTESt:MEASure:MLIMit:STATe command to turn off the measurement limit test


:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:FNAMe

Command Syntax

:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

Query Syntax

:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a function waveform (.wfmx) reporting file for an measurement limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:MEASure:SWAVeform:FUNCtion{1:16}:STATe command to enable and disable waveform reporting for the channel.


:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:STATe

Command Syntax

:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:STATe {DISK | MEMory | OFF}

Query Syntax

:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:STATe?

Query Response

{DISK | MEM | OFF}

Description

Saves a function waveform to a file or memory location after the measurement limit test acquires the specified number of failures. Use the :LTESt:MEASure:MLIMit:FAILures command to enter the number of failures to limit the test. The following command arguments are available:

DISK
Saves the waveform to a file. Use the :LTESt:MEASure:SWAVeform:FUNCtion{1:16}:FNAMe command to specify the file name.
MEMory
Saves the waveform to a memory location. Use the :LTESt:MEASure:SWAVeform:FUNCtion:WMEMory command to specify the memory location.
OFF
Turns off the saving of a common-mode waveform.


:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:WMEMory

Command Syntax

:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:WMEMory WMEMory{1:8}

Query Syntax

:LTESt:MEASure:SWAVeform:FUNCtion{1:16}:WMEMory?

Description

Upon completion of an measurement limit test, selects a waveform memory as a destination to save a function waveform. Use the :LTESt:MEASure:SWAVeform:FUNCtion:STATe command to enable and disable waveform reporting for the channel. Use the :LTESt:MEASure:MLIMit:STATe command to turn off the measurement limit test.


:LTESt:MEASure:SWAVeform:RESet

Command Syntax

:LTESt:MEASure:SWAVeform:RESet

Description

For measurement limit testing, turns off the reporting action of saving waveforms. Reporting for all waveforms is disabled. There is no query form of this command.


:LTESt:MTESt:MRESult{1:16}:FAILures

Command Syntax

:LTESt:MTESt:MRESult{1:16}:FAILures <failures>

<failures> is an int.

{1:16} identifies the specific mask for which to apply the limit test.

Query Syntax

:LTESt:MTESt:MRESult{1:16}:FAILures?

Description

Specifies the number of total mask violations (failures) required to stop a mask limit test. To enable or disable mask limit tests, use the :LTESt:MTESt:MRESult:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:LTESt:MTESt:MRESult{1:16}:STATe

Command Syntax

:LTESt:MTESt:MRESult{1:16}:STATe {ON | OFF | 1 | 0}

{1:16} identifies the specific mask for which to apply the limit test.

Query Syntax

:LTESt:MTESt:MRESult{1:16}:STATe?

Query Response

{1 | 0}

Description

Turns on or off mask-test limit testing for a specific mask. The test limit is defined as a specific number of failures for all mask regions (standard or margin). Use the :LTESt:MTEST:MRESult:FAILures command to specify the number of failures that stop the limit test.

If however, you want to define very specific test limits for the different values reported in the Mask Test table, use a measurement limit test instead:

  • :LTESt:MEASure:MLIMit:STATe
  • :LTESt:MEASure:MLIMit:SOURce:TYPE
  • :LTESt:MEASure:MLIMit:SOURce:LOCation

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example

The following example shows how to create a limit test on eye mask number 3 and run the test until 100 failures have occurred. After the test completes, results are reported:

  • Waveform is saved to a file.
  • Summary file is created.
  • Monochrome screen image of the entire FlexDCA display is saved to a JPG file.

You can create a test for each active eye mask.

:ACQuire:SINGle  //  Stop waveform acquisition.

:LTESt:MTESt:MRESult3:FAILures 100  //  Create Test on Mask 3. Stop test after 100 failures.
:LTESt:MTESt:SWAVeform:CHAN1A:STATe DISK  //  Save channel 1A data to file.
:LTESt:MTESt:SWAVeform:CHAN1A:FNAMe "C:\Users\kentb\Documents\Keysight\FlexDCA\Waveforms\Mask Waveform.wfmx"  //  File Name.
:LTESt:MTESt:SSUMmary:STATe ON  //  Save summary file.
:LTESt:MTESt:SSUMmary:FNAMe "C:\Users\kentb\Documents\Keysight\FlexDCA\Limit Summaries\Mask Test 1.sum"  //  File Name.
:LTESt:MTESt:SIMage:STATe ON  //  Save screen image.
:LTESt:MTESt:SIMage:MONochrome ON  //  Monochrome image capture.
:LTESt:MTESt:SIMage:WINDow DISPlay  //  Capture entire display.
:LTESt:MTESt:SIMage:FNAMe "C:\Users\kentb\Documents\Keysight\FlexDCA\Screen Images\Mask.jpg"  //  File Name.
:LTESt:MTESt:MRESult1:STATe ON  //  Turn limit test on.

:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  Wait for test completion.


:LTESt:MTESt:SIMage:FNAMe

Command Syntax

:LTESt:MTESt:SIMage:FNAMe "filename"

"filename" is a string.

Query Syntax

:LTESt:MTESt:SIMage:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a screen-capture reporting file for an mask limit test. The default file type is JPEG (.jpg). The default folder for storing image files is %USER_DATA_DIR%\Screen Images. Use the :LTESt:MTESt:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable mask limit tests, use the :LTESt:MTESt:MRESult:STATe command.

The file name extension that you give the file determines one of the following available graphics format:

  • .bmp (24-bit color bitmap file format). Bitmap, or .bmp, is typically used for storing bit mapped graphic files.
  • .png (Portable Network Graphics format)
  • .jpg (24-bit color Joint Photographic Experts Group file format). .jpg is a graphics format which can be highly compressed. This compression can result in permanent loss of image quality. The application uses the .jpg software written by the Independent JPEG Group.
  • .gif (Graphics Interchange File format). .gif is a standard graphics format (256 color) used to store bit mapped graphic files. For .gif files, this application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability
  • .tif (256 color Tag Image File format). .tif is a format of choice for storing master copies. It provides better quality, but larger files. This format is widely supported across platforms (PC, Mac, UNIX). This application uses LZW compression/decompression licensed under U.S. patent No 4,558,302 and foreign counterparts. The purchase or use of LZW graphics capability in a licensed product does not authorize or permit an end user to use any other product or perform any other method or activity involving use of LZW unless the end user is separately licensed in writing by Unisys. End user should not modify, copy, or distribute LZW compression/decompression capability.


:LTESt:MTESt:SIMage:IMETadata

Command Syntax

:LTESt:MTESt:SIMage:IMETadata {ON | OFF}

Query Syntax

:LTESt:MTESt:SIMage:IMETadata?

Description

Turns on and off the inclusion of metadata when saving a screen image file as the result of mask limit test. Saving metadata only applies to screen captures that are saved as jpg or tiff files. To view or edit the metadata placed in your screen image file, you can right click on the file in Window's File Explorer and from the shortcut menu select Properties. In the Properties dialog box, click the Details tab as shown in this picture. To edit the metadata fields for your image, click on the Value entree shown on the dialog box. The following table lists the metadata fields that FlexDCA populates. The query form of the command returns the current setting.

Metadata Added to Screen Captures
Metadata Field | Value Examples
Subject | Screen Capture
Comments | 86100D (S/N USXXXXXXXX) Modules: Slot 1 Module(86108B LBW,232,300,400,JSA) (MYXXXXXXXX)
Date taken | 7/10/2015 4:32 PM
Program name | FlexDCA (A.05.00.000)
Camera maker | Keysight Technologies
Camera model | FlexDCA (A.05.00.000)
Name | ScreenCapture.jpg

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:LTESt:MTESt:SIMage:INVert

Command Syntax

:LTESt:MTESt:SIMage:INVert {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MTESt:SIMage:INVert?

Query Response

{1 | 0}

Description

Turns on and off the inversion of the graticule area's background color when reporting a screen capture for a mask limit test. When on, an inverted image will be captured and saved into a file by the :LTESt:MTESt:SIMage:FNAMe command. The entire application window is saved with the graticule black upon a white background. The waveform colors remain unchanged. When printing a hard copy of the waveform, combined this combine with the :LTESt:MTESt:SIMage:WINDow command (graticule only) to save ink or toner. Use the :LTESt:MTESt:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable mask limit tests, use the :LTESt:MTESt:MRESult:STATe command.


:LTESt:MTESt:SIMage:MONochrome

Command Syntax

:LTESt:MTESt:SIMage:MONochrome {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MTESt:SIMage:MONochrome?

Query Response

{1 | 0}

Description

Turns monochrome screen capture on and off when reporting a screen capture for a mask limit test. When on, a black and white image will be captured and saved into a file by the :LTESt:MTESt:SIMage:FNAMe command. Selecting monochrome automatically inverts the graticule area's background color. Use the :LTESt:MTESt:SIMage:STATe command to enable screen captures to be saved when the limit test completes. To enable or disable mask limit tests, use the :LTESt:MTESt:MRESult:STATe command.


:LTESt:MTESt:SIMage:SIMage

Command Syntax

:LTESt:MTESt:SIMage:SINClude {ALL | CHANnel{N} | FUNCtion{1:16} | WMEMory{1:4} | CGMemroy{1:4}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:LTESt:MTESt:SIMage:SINClude?

Description

Selects all or only one of the displayed waveforms to be included on a saved image file when reporting a screen capture for a mask limit test. By default, all waveforms visible on the display are saved in the screen capture. However, when you select one waveform, all other waveform's will be hidden except for their ground markers ( [image] ), which are shown on the screen's right side. Including these markers serves as a reminder that other waveforms were present on the display. Use the :LTESt:MTESt:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable mask limit tests, use the :LTESt:MTESt:MRESult:STATe command.


:LTESt:MTESt:SIMage:STATe

Command Syntax

:LTESt:MTESt:SIMage:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MTESt:SIMage:STATe?

Query Response

{1 | 0}

Description

Selects to save a screen image to a file after the specified number of mask failures stops the limit test. Use the :LTESt:MTESt:MRESult:FaILures command to specify the number of failures. Use the commands shown in the following table to configure the output file.

Commands to Configure the Output
Task | Command
Enter the filename, type, and path | :LTESt:MTESt:SIMage:FNAMe
Select portion of FlexDCA display to capture | :LTESt:MTESt:SIMage:WINDow
Include metadata in jpg and tiff files. | :LTESt:MTESt:SIMage:IMITadata
Invert background color | :LTESt:MTESt:SIMage:INVert
Black and white output | :LTESt:MTESt:SIMage:MONochrome
Capture a single waveform among several displayed waveforms | :LTESt:MTESt:SIMage:SINCLude


:LTESt:MTESt:SIMage:WINDow

Command Syntax

:LTESt:ACQuire:SIMage:WINDow  {DISPlay | TIMe{1} | GDELay{1:4} | MAGNitude{1:4} | PHASe{1:4}}

Query Syntax

:LTESt:ACQuire:SIMage:WINDow?

Query Response

{1 | 0}

Description

When reporting a screen image as a result of an mask limit test, use this command to selects which portion of the screen to include in the image. To actually specify that a screen image is saved, use the :LTESt:MTESt:SIMage:STATe command. The following selections are available:

DISPlay
Includes the entire FlexDCA screen in the captured screen image.
TIMe1
Includes only the Waveform content window in the captured screen image.
GDELay{1:4}
Includes only the Delay 1, Delay 2, Delay 3, or Delay 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Delay windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Delay window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).
MAGNitude{1:4}
Includes only the Magnitude 1, Magnitude 2, Magnitude 3, or Magnitude 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Magnitude windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Magnitude window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).
PHASe{1:4}
Includes only the Phase 1, Phase 2, Phase 3, or Phase 4 content window in the captured screen image. This selection is only available if one of these windows is actually displayed. Phase windows 2, 3, and 4 can only be displayed programatically and not using front-panel controls. The group Phase window can be selected as a display output format for FFT functions (:FUNCtion:FOPerator FFT).

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:LTESt:MTESt:SSUMmary:FNAMe

Command Syntax

:LTESt:MTESt:SSUMmary:FNAMe "filename"

"filename" is a string.

Query Syntax

:LTESt:MTESt:SSUMmary:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name and path for a mask limit test's summary file. The default folder for storing limit summary files is %USER_DATA_DIR%\Limit Summaries. To enable the saving of summary files, use the :LTESt:MTESt:SSUMmary:STATe command.

Note

A file name must be entered. If an empty string is entered, the writing of the summary file will fail.


:LTESt:MTESt:SSUMmary:STATe

Command Syntax

:LTESt:MTESt:SSUMmary:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MTESt:SSUMmary:STATe?

Query Response

{1 | 0}

Description

Turns on or off the reporting action to save an ASCII summary file whenever a mask limit test reaches its limit and stops. The file name extension of summary files is .sum. Use the :LTESt:MTESt:SSUMary:FNAMe command to specify the name of the summanry file. The following is an example of a summary file's contents:

Mask Limit Test Summary
10/07/2011 08:28:25

Total Waveforms, 1
Total Samples, 1533
Mask Margin, 5.0 %
Failed Samples, 165
Mask Hits, 131
Margin Hits, 165
Region, Mask Hits, Margin Hits
1, 131, 165
2, 0, 0
3, 0, 0


:LTESt:MTESt:SWAVeform:CHANnel{N}:FNAMe

Command Syntax

:LTESt:MTESt:SWAVeform:CHANnel{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

CHANnel{N} identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:MTESt:SWAVeform:CHANnel{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a channel waveform (.wfmx) reporting file for an mask limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:MTESt:SWAVeform:CHANnel{N}:STATe command to enable and disable waveform reporting for the channel.


:LTESt:MTESt:SWAVeform:CHANnel{N}:STATe

Command Syntax

:LTESt:MTESt:SWAVeform:CHANnel{N}:STATe {DISK | MEMory | OFF}

CHANnel{N} identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:MTESt:SWAVeform:CHANnel{N}:STATe?

Query Response

{DISK | MEM | OFF}

Description

Saves a channel waveform to a file after the mask limit test acquires the specified number of failures. Use the :LTESt:MTESt:MRESult:FAILures command to specify the number of failures required to end the test. Use the :LTESt:MTESt:SWAVeform:CHANnel{N}:FNAMe command to specify the file name.


:LTESt:MTESt:SWAVeform:CHANnel{N}:WMEMory

Command Syntax

:LTESt:MTESt:SWAVeform:CHANnel{N}:WMEMory WMEMory{1:8}

CHANnel{N} identifies the channel as in CHANnel1A, CHANnel1B, …, CHANnel4D.

Query Syntax

:LTESt:MTESt:SWAVeform:CHANnel{N}:WMEMory?

Description

Upon completion of an mask limit test, selects a waveform memory as a destination to save a channel waveform. Use the :LTESt:MTESt:SWAVeform:CHAN:STATe command to enable and disable waveform reporting for the channel.


:LTESt:MTESt:SWAVeform:CMODe{N}:FNAMe

Command Syntax

:LTESt:MTESt:SWAVeform:CMODe{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 2C and 2D would be identified as :CMODe2C.

Query Syntax

:LTESt:MTESt:SWAVeform:CMODe{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

In TDR/TDT Mode, specifies the file name (including path and file name extension) for saving a common-mode waveform (.wfmx) reporting file for an acquisition limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:MTESt:SWAVeform:CMODe:STATe command to enable and disable waveform reporting for a common-mode waveform.

Requires FlexDCA revision A.04.00 and above.


:LTESt:MTESt:SWAVeform:CMODe{N}:STATe

Note

This command has not been implemented. It is reserved for a future firmware revision.

Command Syntax

Query Syntax

Query Response

Description


:LTESt:MTESt:SWAVeform:CMODe{N}:WMEMory

Note

This command has not been implemented. It is reserved for a future firmware revision.

Command Syntax

Query Syntax

Description


:LTESt:MTESt:SWAVeform:DIFF{N}:FNAMe

Command Syntax

:LTESt:MTESt:SWAVeform:DIFF{N}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:MTESt:SWAVeform:DIFF{N}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a channel waveform (.wfmx) reporting file for an mask limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:MTESt:SWAVeform:DIFF{N}:STATe command to enable and disable waveform reporting for a differential waveform.


:LTESt:MTESt:SWAVeform:DIFF{N}:STATe

Command Syntax

:LTESt:MTESt:SWAVeform:DIFF{N}:STATe {DISK | MEMory | OFF}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:MTESt:SWAVeform:DIFF{N}:STATe?

Query Response

{DISK | MEM | OFF}

Description

Saves a differential waveform to a file after the mask limit test acquires the specified number of failures. Use the :LTESt:MTESt:MRESult:FAILures command to specify the number of failures required to end the test. Use the :LTESt:MTESt:SWAVeform:DIFF{N}:FNAMe command to specify the file name.


:LTESt:MTESt:SWAVeform:DIFF{N}:WMEMory

Command Syntax

:LTESt:MTESt:SWAVeform:DIFF{N}:WMEMory WMEMory{1:8}

{N} identifies the differential waveform, which must be selected from {1:8}{A|C}. For example, the differential waveform of channels 1A and 2A would be identified as DIFF1A.

Query Syntax

:LTESt:MTESt:SWAVeform:DIFF{N}:WMEMory?

Description

Upon completion of an mask limit test, selects a waveform memory as a destination to save a differential waveform. Use the :LTESt:MTESt:SWAVeform:DIFF{N}:STATe command to enable and disable waveform reporting for the channel.


:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:FNAMe

Command Syntax

:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

Query Syntax

:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the file name (including path and file name extension) for saving a function waveform (.wfmx) reporting file for an mask limit test. The default folder for storing waveform files is %USER_DATA_DIR%\Waveforms. Use the :LTESt:MTESt:SWAVeform:FUNCtion{1:16}:STATe command to enable and disable waveform reporting for the channel.


:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:STATe

Command Syntax

:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:STATe {DISK | MEMory | OFF}

Query Syntax

:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:STATe?

Query Response

{DISK | MEM | OFF}

Description

Saves a function waveform to a file after the mask limit test acquires the specified number of failures. Use the :LTESt:MTESt:MRESult:FAILures command to specify the number of failures required to end the test. Use the :LTESt:MTESt:SWAVeform:FUNCtion{1:16}:FNAMe command to specify the file name.


:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:WMEMory

Command Syntax

:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:WMEMory WMEMory{1:8}

Query Syntax

:LTESt:MTESt:SWAVeform:FUNCtion{1:16}:WMEMory?

Description

Upon completion of an mask limit test, selects a waveform memory as a destination to save a function waveform. Use the :LTESt:MTESt:SWAVeform:FUNCtion{1:16}:STATe command to enable and disable waveform reporting for the channel.


:LTESt:MTESt:SWAVeform:RESet

Command Syntax

:LTESt:MTESt:SWAVeform:RESet

Description

For mask failure limit testing, turns off the reporting action of saving waveforms. Reporting for all waveforms is disabled. There is no query form of this command.


:LTESt:ACQuire:SIMage:GONLy

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above. Use :LTESt:ACQuire:SIMage:WINDow instead.

Command Syntax

:LTESt:ACQuire:SIMage:GONLy {ON | OFF | 1 | 0}

Query Syntax

:LTESt:ACQuire:SIMage:GONLy?

Query Response

{1 | 0}

Description

Selects to save only the waveform and graticule in screen captures when reporting a screen capture for an acquisition limit test. The menu bar, toolbars, tables, and status bar are not included in the image file. In Jitter Mode, the Waveform panel is saved as shown in the following picture. Jitter result graphs are not included. Any dialog boxes open and positioned over the viewing area are not saved in the file. When printing a hard copy of the waveform, combined this command with the :LTESt:ACQuire:SIMage:INVert command (graticule only) to save ink or toner. Use the :LTESt:ACQuire:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable acquisition limit tests, use the :LTESt:ACQuire:STATe command.


:LTESt:MEASure:SIMage:GONLy

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above. Use :LTESt:MEASure:SIMage:WINDow instead.

Command Syntax

:LTESt:MEASure:SIMage:GONLy {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:SIMage:GONLy?

Query Response

{1 | 0}

Description

Selects to save only the waveform and graticule in screen captures when reporting a screen capture for an acquisition limit test. The menu bar, toolbars, tables, and status bar are not included in the image file. In Jitter Mode, the Waveform panel is saved as shown in the following picture. Jitter result graphs are not included. Any dialog boxes open and positioned over the viewing area are not saved in the file. When printing a hard copy of the waveform, combined this command with the :LTESt:MEASure:SIMage:INVert command (graticule only) to save ink or toner. Use the :LTESt:MEASure:SIMage:STATe command to enable and disable screen-capture reporting.


:LTESt:MTESt:FAILures

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above, use the :LTESt:MTESt:MRESult:FAILures command instead.

Command Syntax

:LTESt:MTESt:FAILures <failures>

<failures> is an int.

Query Syntax

:LTESt:MTESt:FAILures?

Description

Specifies the number of total mask violations (failures) required to stop a mask limit test. To enable or disable mask limit tests, use the :LTESt:MTESt:STATe command.


:LTESt:MTESt:SIMage:GONLy

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above. Use :LTESt:MTESt:SIMage:WINDow instead.

Command Syntax

:LTESt:MTESt:SIMage:GONLy {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MTESt:SIMage:GONLy?

Query Response

{1 | 0}

Description

Selects to save only the waveform and graticule in screen captures when reporting a screen capture for a mask limit test. The menu bar, toolbars, tables, and status bar are not included in the image file. Any dialog boxes open and positioned over the viewing area are not saved in the file. When printing a hard copy of the waveform, combined this command with the :LTESt:MTESt:SIMage:INVert command (graticule only) to save ink or toner. Use the :LTESt:MTESt:SIMage:STATe command to enable and disable screen-capture reporting. To enable or disable mask limit tests, use the :LTESt:MTESt:STATe command.


:LTESt:MTESt:STATe

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above, use the ?????? command.

Command Syntax

:LTESt:MTESt:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MTESt:STATe?

Query Response

{1 | 0}

Description

Turns on and off mask test limit testing where the test limit is defined as a specific number of failures for any mask region (standard or margin). If however, you want to devine very specific test limits for the different values reported in the Mask Test table, use the :LTESt:MEASure:MTESt:LOCation:STATe command.


:LTESt:MEASure:AMPLitude:LOCation{1:32}:FAILures

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FAILures insead.

Command Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:FAILures <number>

<number> is an int.

Query Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:FAILures?

Description

Sets the number of failures required to stop an amplitude measurement limit test in Jitter/Noise mode. The amplitude measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:AMPLitude:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode with amplitude measurements enabled.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.


:LTESt:MEASure:AMPLitude:LOCation{1:32}:FREGion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FREGion insead.

Command Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:FREGion {INSide | OUTSide | ALWays| NEVer}

Query Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:FREGion?

Description

Defines when to fail an amplitude measurement limit test in Jitter/Noise mode. The amplitude measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:AMPLitude:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

INSide
A measurement is counted as a failure if it is within the lower and upper limits, which are set by the :LLIMit and :ULIMit sibling commands.
OUTSide
A measurement is counted as a failure when the measurement results exceed the parameters set by :LLIMit and :ULIMit sibling commands.
ALWays
A measurement is counted as a failure every time the measurement is executed, and the parameters set by the :LLIMit and :ULIMit sibling commands are ignored.
NEVer
Logs the action each time the measurement is executed and can be used to monitor measurements. For example, you can use NEVer to track a measurement trend during an environmental test while running a measurement for a long time as the temperature or humidity is changed. Each time the measurement is executed, the results can be logged as determined by the fail action set with the LTESt:MEASure:SIMage:STATe, LTESt:MEASure:SSUMary:STATe, or LTESt:MEASure:SWAVeform:STATe commands. You can also use NEVer to observe one measurement but determine a failure from a different measurement.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode with amplitude measurements enabled.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.


:LTESt:MEASure:AMPLitude:LOCation{1:32}:LLIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:LLIMit insead.

Command Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:LLIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:LLIMit?

Description

Defines the lower limit for the amplitude measurement limit test in Jitter/Noise mode. For example, if you chose to measure total interference and want the largest acceptable value to be 40 mv, set the lower limit to 0 mv and the upper limit to 40 mv, and then set the limit test to fail when the signal is outside the specified limit.

The amplitude measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:AMPLitude:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode with amplitude measurements enabled.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.


:LTESt:MEASure:AMPLitude:LOCation{1:32}:STATe

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:STATe insead.

Command Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:STATe?

Query Response

{1 | 0}

Description

Turns on and off limit testing for a specific Amplitude measurement in Jitter/Noise Mode. The measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. The number locates the measurement in the active measurement list, which is shown in the displayed results table. The active measurement list is indexed starting at 1 in the top-left corner; the location increases row-by-row from left to right. As a result, the first (top most) measurement in the following figure is identified as 1. It is the TI measurement. The second measurement, identified as 2, is RN (rms) Ones. The third measurement, identified as 3, is RN (rms) Zeros, and so forth. You can query the location number of any measurement in the :MEASure subsytem by using the measurement's :LOCation child command. For more information, refer to the introduction to the limit test subsystem.

Use the following sibling commands to configure the limit test:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode with amplitude measurements enabled.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Example Command Sequence

This example returns the location of ISIones interference measurement in Jitter/Noise mode, which in this example is "3". Then, later in the program, this location number is used to enable limit testing on the ISIones measurement.

:MEASure:AMPLitude:ISIOnes:LOCation?
…
…
:LTESt:MEASure:AMPLitude:LOCation3:STATe ON


:LTESt:MEASure:AMPLitude:LOCation{1:32}:ULIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:ULIMit insead.

Command Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:ULIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:ULIMit?

Description

Defines the upper limit for the amplitude measurement limit test in Jitter/Noise mode. For example, if you chose to measure total interference and want the largest acceptable value to be 40 mv, set the lower limit to 0 mv and the upper limit to 40 mv, and then set the limit test to fail when the signal is outside the specified limit.

The amplitude measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:AMPLitude:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode with amplitude measurements enabled.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.


:LTESt:MEASure:AMPLitude:LOCation{1:32}:UPACtion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:UPACtion insead.

Command Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:UPACtion {FAIL | PASS | IGNore}

Query Syntax

:LTESt:MEASure:AMPLitude:LOCation{1:32}:UPACtion?

Description

Selects an action to be taken if the amplitude measurement limit test in Jitter/Noise mode cannot be performed. The amplitude measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:AMPLitude:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

FAIL
If the measurement cannot be made, for example when an edge is expected to be present and is not found, the total number of waveforms is incremented and the total number of failures is incremented. This is the mode to use for most applications.
PASS
If the measurement cannot be performed, pass the measurement and do not count it as a failure. The total number of waveforms measured is incremented, but the total number of failures is not.
IGNore
If the measurement cannot be performed, ignore the measurement and do not count it as a pass or fail. IGNore is similar to PASS, except the totals for the number of waveforms and failures are not incremented. Therefore, the total indicates the number of tests when the measurement was made.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement

Note

FlexDCA must be in Jitter/Noise mode with amplitude measurements enabled.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.


:LTESt:MEASure:CRECovery:LOCation{1:32}:FAILures

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FAILures insead.

Command Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:FAILures <number>

<number> is an int.

Query Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:FAILures?

Description

Sets the number of failures required to stop a JSA TJ (rms), DJ (rms), or RJ (rms) measurement limit test. The TJ (rms), DJ (rms), or RJ (rms) measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:CRECovery:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.


:LTESt:MEASure:CRECovery:LOCation{1:32}:FREGion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FREGion insead.

Command Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:FREGion {INSide | OUTSide | ALWays| NEVer}

Query Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:FREGion?

Description

Defines when to fail a JSA TJ (rms), DJ (rms), or RJ (rms) measurement limit test. The amplitude measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:CRECovery:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

INSide
A measurement is counted as a failure if it is within the lower and upper limits, which are set by the :LLIMit and :ULIMit sibling commands.
OUTSide
A measurement is counted as a failure when the measurement results exceed the parameters set by :LLIMit and :ULIMit sibling commands.
ALWays
A measurement is counted as a failure every time the measurement is executed, and the parameters set by the :LLIMit and :ULIMit sibling commands are ignored.
NEVer
Logs the action each time the measurement is executed and can be used to monitor measurements. For example, you can use NEVer to track a measurement trend during an environmental test while running a measurement for a long time as the temperature or humidity is changed. Each time the measurement is executed, the results can be logged as determined by the fail action set with the LTESt:MEASure:SIMage:STATe, LTESt:MEASure:SSUMary:STATe, or LTESt:MEASure:SWAVeform:STATe commands. You can also use NEVer to observe one measurement but determine a failure from a different measurement.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.


:LTESt:MEASure:CRECovery:LOCation{1:32}:LLIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:LLIMit insead.

Command Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:LLIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:LLIMit?

Description

Defines the lower limit for a JSA TJ (rms), DJ (rms), or RJ (rms) measurement limit test. For example, if you chose to measure DJ (rms) and want the largest acceptable value to be less than 400 fs, set the lower limit to 0 fs and the upper limit to 400 fs, and then set the limit test to fail when the measurement is outside the specified limit.

The measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:CRECovery:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.


:LTESt:MEASure:CRECovery:LOCation{1:32}:STATe

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:STATe insead.

Command Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:STATe?

Query Response

{1 | 0}

Description

Turns on and off limit testing for a specific JSA TJ (rms), DJ (rms), or RJ (rms) measurement. The measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. The number locates the measurement in the active measurement list, which is shown in the displayed JSA Results table. The active measurement list is indexed starting at 1 in the top and the location increases from top to bottom. As a result, the first (top most) measurement TJ (rms) in the following figure is identified as 1. The second measurement DJ (rms) is identified as 2. The third measurement RJ (rms) is identified as 3. You can query the location number of any measurement in the :MEASure subsytem by using the measurement's :LOCation child command. For more information, refer to the introduction to the limit test subsystem.

Use the following sibling commands to configure the limit test:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Example Command Sequence

This example returns the location of RJ (rms) measurement, which in this example is "3". Then, later in the program, this location number is used to enable limit testing on the RJ (rms) easurement.

:MEASure:CRECovery:RJ:LOCation?
…
…
:LTESt:MEASure:CRECovery:LOCation3:STATe ON


:LTESt:MEASure:CRECovery:LOCation{1:32}:ULIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:ULIMit insead.

Command Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:ULIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:ULIMit?

Description

Defines the upper limit for a JSA TJ (rms), DJ (rms), or RJ (rms) measurement. For example, if you chose to measure DJ (rms) and want the largest acceptable value to be less than 400 fs, set the lower limit to 0 fs and the upper limit to 400 fs, and then set the limit test to fail when the measurement is outside the specified limit.

The amplitude measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:CRECovery:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.


:LTESt:MEASure:CRECovery:LOCation{1:32}:UPACtion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:UPACtion insead.

Command Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:UPACtion {FAIL | PASS | IGNore}

Query Syntax

:LTESt:MEASure:CRECovery:LOCation{1:32}:UPACtion?

Description

Selects an action to be taken if a JSA TJ (rms), DJ (rms), or RJ (rms) measurement cannot be performed. The measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:CRECovery:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

FAIL
If the measurement cannot be made, for example when an edge is expected to be present and is not found, the total number of waveforms is incremented and the total number of failures is incremented. This is the mode to use for most applications.
PASS
If the measurement cannot be performed, pass the measurement and do not count it as a failure. The total number of waveforms measured is incremented, but the total number of failures is not.
IGNore
If the measurement cannot be performed, ignore the measurement and do not count it as a pass or fail. IGNore is similar to PASS, except the totals for the number of waveforms and failures are not incremented. Therefore, the total indicates the number of tests when the measurement was made.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.


:LTESt:MEASure:EYE:LOCation{1:32}:FAILures

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FAILures insead.

Command Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:FAILures <number>

<number> is an int.

Query Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:FAILures?

Description

Sets the number of failures required to stop an eye diagram measurement limit test in Eye/Mask mode. The eye measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:EYE:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:EYE:LOCation{1:32}:FREGion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FREGion insead.

Command Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:FREGion {INSide | OUTSide | ALWays| NEVer}

Query Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:FREGion?

Description

Defines when to fail an eye diagram measurement limit test in Eye/Mask mode. The eye measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:EYE:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

INSide
A measurement is counted as a failure if it is within the lower and upper limits, which are set by the :LLIMit and :ULIMit sibling commands.
OUTSide
A measurement is counted as a failure when the measurement results exceed the parameters set by :LLIMit and :ULIMit sibling commands.
ALWays
A measurement is counted as a failure every time the measurement is executed, and the parameters set by the :LLIMit and :ULIMit sibling commands are ignored.
NEVer
Logs the action each time the measurement is executed and can be used to monitor measurements. For example, you can use NEVer to track a measurement trend during an environmental test while running a measurement for a long time as the temperature or humidity is changed. Each time the measurement is executed, the results can be logged as determined by the fail action set with the LTESt:MEASure:SIMage:STATe, LTESt:MEASure:SSUMary:STATe, or LTESt:MEASure:SWAVeform:STATe commands. You can also use NEVer to observe one measurement but determine a failure from a different measurement.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:EYE:LOCation{1:32}:LLIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:LLIMit insead.

Command Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:LLIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:LLIMit?

Description

Defines the lower limit for an eye measurement limit test in Eye/Mask mode. For example, if you chose to measure eye width and want the smallest acceptable variation to be 90 ps ±5 ps, set the lower limit to 85 ps and the upper limit to 95 ps, and then set the limit test to fail when the signal is outside the specified limit.

The eye measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:EYE:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:EYE:LOCation{1:32}:STATe

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:STATe insead.

Command Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:STATe?

Query Response

{1 | 0}

Description

Turns on and off limit testing for a specific Eye/Mask Mode measurement. The measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. The number is an index that locates the measurement in the active measurement list, which is shown in the displayed results table. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. For example, the Rise Time measurement in the following figure has a location index of 3. You can query the location number of any measurement in the :MEASure subsytem by using the measurement's :LOCation child command. For more information, refer to the introduction to the limit test subsystem.

Use the following sibling commands to configure the limit test:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Eye/Mask mode before you can configure or enable eye measurement limit tests.

Example Command Sequence

This example returns the location of the risetime measurement in Eye/Mask mode, which in this example is "3". Then, later in the program, this location number is used to enable limit testing on the risetime measurement.

:MEASure:EYE:RISetime:LOCation?
…
…
:LTESt:MEASure:EYE:LOCation3:STATe ON


:LTESt:MEASure:EYE:LOCation{1:32}:ULIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:ULIMit insead.

Command Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:ULIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:ULIMit?

Description

Defines the upper limit for an eye measurement limit test in Eye/Mask mode. For example, if you chose to measure eye width and want the smallest acceptable variation to be 90 ps ±5 ps, set the lower limit to 85 ps and the upper limit to 95 ps, and then set the limit test to fail when the signal is outside the specified limit.

The eye measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:EYE:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:EYE:LOCation{1:32}:UPACtion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:UPACtion insead.

Command Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:UPACtion {FAIL | PASS | IGNore}

Query Syntax

:LTESt:MEASure:EYE:LOCation{1:32}:UPACtion?

Description

Selects an action to be taken if the eye measurement limit test in Eye/Mask mode cannot be performed. The eye measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:EYE:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

FAIL
If the measurement cannot be made, for example when an edge is expected to be present and is not found, the total number of waveforms is incremented and the total number of failures is incremented. This is the mode to use for most applications.
PASS
If the measurement cannot be performed, pass the measurement and do not count it as a failure. You might use PASS when triggering on one event and measuring another event which may not occur for every trigger. For example, in a communications test system, you might want to trigger on the clock and test the risetime of edges in the data stream. However, there may be no way to guarantee that a rising edge will be present to measure in the data stream at every clock edge. By using the PASS parameter, the limit test will not log a failure if there is no edge found in the data stream. If the measurement cannot be made, the total number of waveforms measured is incremented, but the total number of failures is not.
IGNore
If the measurement cannot be performed, ignore the measurement and do not count it as a pass or fail. IGNore is similar to PASS, except the totals for the number of waveforms and failures are not incremented. Therefore, the total indicates the number of tests when the measurement was made.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement


:LTESt:MEASure:JITTer:LOCation{1:32}:FAILures

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FAILures insead.

Command Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:FAILures <number>

<number> is an int.

Query Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:FAILures?

Description

Sets the number of failures required to stop an jitter measurement limit test in Jitter/Noise mode. The jitter measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:JITTer:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode before you can configure or enable jitter measurement limit tests.

Requires Jitter Mode.


:LTESt:MEASure:JITTer:LOCation{1:32}:FREGion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FREGion insead.

Command Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:FREGion {INSide | OUTSide | ALWays| NEVer}

Query Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:FREGion?

Description

Defines when to fail a jitter measurement limit test in Jitter/Noise mode. The jitter measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:JITTer:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

INSide
A measurement is counted as a failure if it is within the lower and upper limits, which are set by the :LLIMit and :ULIMit sibling commands.
OUTSide
A measurement is counted as a failure when the measurement results exceed the parameters set by :LLIMit and :ULIMit sibling commands.
ALWays
A measurement is counted as a failure every time the measurement is executed, and the parameters set by the :LLIMit and :ULIMit sibling commands are ignored.
NEVer
Logs the action each time the measurement is executed and can be used to monitor measurements. For example, you can use NEVer to track a measurement trend during an environmental test while running a measurement for a long time as the temperature or humidity is changed. Each time the measurement is executed, the results can be logged as determined by the fail action set with the LTESt:MEASure:SIMage:STATe, LTESt:MEASure:SSUMary:STATe, or LTESt:MEASure:SWAVeform:STATe commands. You can also use NEVer to observe one measurement but determine a failure from a different measurement.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode before you can configure or enable jitter measurement limit tests.

Requires Jitter Mode.


:LTESt:MEASure:JITTer:LOCation{1:32}:LLIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:LLIMit insead.

Command Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:LLIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:LLIMit?

Description

Defines the lower limit for a jitter measurement limit test in Jitter/Noise mode. For example, if you chose to measure total jitter and want the largest acceptable value to be 10 ps, set the lower limit to 0 ps and the upper limit to 10 ps, and then set the limit test to fail when the signal is outside the specified limit.

The jitter measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:JITTer:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode before you can configure or enable jitter measurement limit tests.

Requires Jitter Mode.


:LTESt:MEASure:JITTer:LOCation{1:32}:STATe

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:STATe insead.

Command Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:STATe?

Query Response

{1 | 0}

Description

Turns on and off limit testing for a specific Jitter Mode measurement. The measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. The number locates the measurement in the active measurement list, which is shown in the displayed results table. The active measurement list is indexed starting at 1 in the top-left corner; the location increases row-by-row from left to right. As a result, the first (top most) measurement in the following figure is identified as 1. It is the TJ measurement. The second measurement, identified as 2, is DJ. The third measurement, identified as 3, is RJ, and so forth. You can query the location number of any measurement in the :MEASure subsytem by using the measurement's :LOCation child command. For more information, refer to the introduction to the limit test subsystem.

Use the following sibling commands to configure the limit test:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode before you can configure or enable jitter measurement limit tests.

Requires Jitter Mode.

Example Command Sequence

This example returns the location of DJ measurement in Jitter/Noise mode, which in this example is "3". Then, later in the program, this location number is used to enable limit testing on the DJ measurement.

:MEASure:JITTer:DJ:LOCation?
…
Insert code here to return the LOCation index!
…
:LTESt:MEASure:JITTer:LOCation3:STATe ON


:LTESt:MEASure:JITTer:LOCation{1:32}:ULIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:ULIMit insead.

Command Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:ULIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:ULIMit?

Description

Defines the upper limit for a jitter measurement limit test in Jitter/Noise mode. For example, if you chose to measure total jitter and want the largest acceptable value to be 10 ps, set the lower limit to 0 ps and the upper limit to 10 ps, and then set the limit test to fail when the signal is outside the specified limit.

The jitter measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:JITTer:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Jitter/Noise mode before you can configure or enable jitter measurement limit tests.

Requires Jitter Mode.


:LTESt:MEASure:JITTer:LOCation{1:32}:UPACtion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:UPACtion insead.

Command Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:UPACtion {FAIL | PASS | IGNore}

Query Syntax

:LTESt:MEASure:JITTer:LOCation{1:32}:UPACtion?

Description

Selects an action to be taken if the jitter measurement limit test in Jitter/Noise mode cannot be performed. The jitter measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:JITTer:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

FAIL
If the measurement cannot be performed, count it as a failure.
PASS
If the measurement cannot be performed, pass the measurement and do not count it as a failure. The total number of waveforms measured is incremented, but the total number of failures is not.
IGNore
If the measurement cannot be performed, ignore the measurement and do not count it as a pass or fail.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement

Note

FlexDCA must be in Jitter/Noise mode before you can configure or enable jitter measurement limit tests.

Requires Jitter Mode.


:LTESt:MEASure:MTESt:LOCation{1:32}:FAILures

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FAILures insead.

Command Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:FAILures <number>

<number> is an int.

Query Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:FAILures?

Description

Sets the number of failures required to stop a mask measurement limit test in Eye/Mask mode. The mask measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:MTESt:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a limit test
  • :ULIMit defines the upper limit for failing a limit test
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:MTESt:LOCation{1:32}:FREGion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FREGion insead.

Command Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:FREGion {INSide | OUTSide | ALWays| NEVer}

Query Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:FREGion?

Description

Defines when to fail a mask measurement limit test in Eye/Mask mode. The mask measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:MTESt:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

INSide
A measurement is counted as a failure if it is within the lower and upper limits, which are set by the :LLIMit and :ULIMit sibling commands.
OUTSide
A measurement is counted as a failure when the measurement results exceed the parameters set by :LLIMit and :ULIMit sibling commands.
ALWays
A measurement is counted as a failure every time the measurement is executed, and the parameters set by the :LLIMit and :ULIMit sibling commands are ignored.
NEVer
Logs the action each time the measurement is executed and can be used to monitor measurements. For example, you can use NEVer to track a measurement trend during an environmental test while running a measurement for a long time as the temperature or humidity is changed. Each time the measurement is executed, the results can be logged as determined by the fail action set with the LTESt:MEASure:SIMage:STATe, LTESt:MEASure:SSUMary:STATe, or LTESt:MEASure:SWAVeform:STATe commands. You can also use NEVer to observe one measurement but determine a failure from a different measurement.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :LLIMit defines the lower limit for failing a limit test
  • :ULIMit defines the upper limit for failing a limit test
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:MTESt:LOCation{1:32}:LLIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:LLIMit insead.

Command Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:LLIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:LLIMit?

Description

Defines the lower limit for a mask measurement limit test in Eye/Mask mode. For example, if you need no more than 10 hits in mask region 1, set the lower limit to 0 and the upper limit to 9 and set the limit test to fail when the hit count is outside the specified limit.

The mask measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:MTESt:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:MTESt:LOCation{1:64}:STATe

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:STATe insead.

Command Syntax

:LTESt:MEASure:MTESt:LOCation{1:64}:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:MTESt:LOCation{1:64}:STATe?

Query Response

{1 | 0}

Description

Turns on and off measurement limit testing for a specific Mask Test measurement in Eye/Mask Mode. The measurement is identified by a index, from 1 to 64, that is appended to the :LOCation portion of the command. The index identifies the measurement in the displayed Mask Test results table. An example of the Mask Test results table is shown in the following figure. You can query the location index using the :MEASure subsytem's :LOCation queries listed in the following table. For more information, refer to the introduction to the limit test subsystem.

Queries for Location Index
Mask Limit Measurements | :MEASure Subsystem Query for Location Index
Mask Region (1 to 16) | :MEASure:MTESt:HREGion{1:16}:LOCation?
Mask + Margin Region (1 to 16) | :MEASure:MTESt:MHRegion{1:16}:LOCation?
Total Mask Hits | :MEASure:MTESt:HITS:LOCation?
Total Margin Hits | :MEASure:MTESt:MHITs:LOCation?
Waveform Count | :MEASure:MTESt:NWAVforms:LOCation?
Samples/UI | :MEASure:MTESt:NSAMples:LOCation?
Margin | :MEASure:MTESt:MARGin:LOCation?

Use the following sibling commands to configure the limit test:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a limit test
  • :ULIMit defines the upper limit for failing a limit test
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Eye/Mask mode with mask testing turned on before you can configure or enable mask measurement limit tests.

Example Command Sequence

The first line in the following example returns the location index of the violation count for mask region 2 in the Mask Test table. In this example, the returned index is "3". The last line uses the returned location index to select and enable limit testing on region 2 counts.

:MEASure:MTESt:HREGion2:LOCation?
…
Insert code here to return the LOCation index!
…
:LTESt:MEASure:MTESt:LOCation3:UPACtion FAIL     //  configure limit test
:LTESt:MEASure:MTESt:LOCation3:FREGion OUTSide
:LTESt:MEASure:MTESt:LOCation3:LLIMit 0
:LTESt:MEASure:MTESt:LOCation3:ULIMit 225E-3
:LTESt:MEASure:MTESt:LOCation3:FAILures 1000
:LTESt:MEASure:MTESt:LOCation3:STATe ON
:ACQuire:STOP
:ACQuire:CDISplay
:ACQuire:RUN


:LTESt:MEASure:MTESt:LOCation{1:32}:ULIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:ULIMit insead.

Command Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:ULIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:ULIMit?

Description

Defines the upper limit for a mask measurement limit test in Eye/Mask mode. For example, if you need no more than 10 hits in mask region 1, set the lower limit to 0 and the upper limit to 9 and set the limit test to fail when the hit count is outside the specified limit.

The mask measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:MTESt:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:MTESt:LOCation{1:32}:UPACtion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:UPACtion insead.

Command Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:UPACtion {FAIL | PASS | IGNore}

Query Syntax

:LTESt:MEASure:MTESt:LOCation{1:32}:UPACtion?

Description

Selects an action to be taken if the mask measurement limit test in Eye/Mask mode cannot be performed. The mask measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:MTESt:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

FAIL
If the measurement cannot be made, for example when an edge is expected to be present and is not found, the total number of waveforms is incremented and the total number of failures is incremented. This is the mode to use for most applications.
PASS
If the measurement cannot be performed, pass the measurement and do not count it as a failure. You might use PASS when triggering on one event and measuring another event which may not occur for every trigger. For example, in a communications test system, you might want to trigger on the clock and test the risetime of edges in the data stream. However, there may be no way to guarantee that a rising edge will be present to measure in the data stream at every clock edge. By using the PASS parameter, the limit test will not log a failure if there is no edge found in the data stream. If the measurement cannot be made, the total number of waveforms measured is incremented, but the total number of failures is not.
IGNore
If the measurement cannot be performed, ignore the measurement and do not count it as a pass or fail. IGNore is similar to PASS, except the totals for the number of waveforms and failures are not incremented. Therefore, the total indicates the number of tests when the measurement was made.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement


:LTESt:MEASure:OSCilloscope:LOCation{1:32}:FAILures

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FAILures insead.

Command Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:FAILures <number>

<number> is an int.

Query Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:FAILures?

Description

Sets the number of failures required to stop an oscilloscope measurement limit test in Oscilloscope mode. The jitter measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:OSCilloscope:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a limit test
  • :ULIMit defines the upper limit for failing a limit test
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:OSCilloscope:LOCation{1:32}:FREGion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:FREGion insead.

Command Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:FREGion {INSide | OUTSide | ALWays| NEVer}

Query Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:FREGion?

Description

>Defines when to fail a oscilloscope measurement limit test in Oscilloscope mode. The jitter measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:OSCilloscope:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

INSide
A measurement is counted as a failure if it is within the lower and upper limits, which are set by the :LLIMit and :ULIMit sibling commands.
OUTSide
A measurement is counted as a failure when the measurement results exceed the parameters set by :LLIMit and :ULIMit sibling commands.
ALWays
A measurement is counted as a failure every time the measurement is executed, and the parameters set by the :LLIMit and :ULIMit sibling commands are ignored.
NEVer
Logs the action each time the measurement is executed and can be used to monitor measurements. For example, you can use NEVer to track a measurement trend during an environmental test while running a measurement for a long time as the temperature or humidity is changed. Each time the measurement is executed, the results can be logged as determined by the fail action set with the LTESt:MEASure:SIMage:STATe, LTESt:MEASure:SSUMary:STATe, or LTESt:MEASure:SWAVeform:STATe commands. You can also use NEVer to observe one measurement but determine a failure from a different measurement.

Use the following sibling commands to configure the measurement:

  • :FAILures selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a limit test
  • :ULIMit defines the upper limit for failing a limit test
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:OSCilloscope:LOCation{1:32}:LLIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:LLIMit insead.

Command Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:LLIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:LLIMit?

Description

Defines the lower limit for a oscilloscope measurement limit test in Oscilloscope mode. For example, if you chose to measure peak-peak amplitude and want the smallest acceptable signal swing to be one volt, you could set the lower limit to 1.0 and then set the limit test to fail when the signal is outside the specified limit.

The oscilloscope measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:OSCilloscope:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :ULIMit defines the upper limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:OSCilloscope:LOCation{1:32}:STATe

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:STATe insead.

Command Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:STATe {ON | OFF | 1 | 0}

Query Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:STATe?

Query Response

{1 | 0}

Description

Turns on and off limit testing for a specific Oscilloscope Mode measurement. The measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. The number locates the measurement in the active measurement list, which is shown in the displayed results table. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. For example, the Rise Time measurement in the following figure has a location index of 1. You can query the location number of any measurement in the :MEASure subsytem by using the measurement's :LOCation child command. For more information, refer to the introduction to the limit test subsystem.

Use the following sibling commands to configure the limit test:

  • :FAILures selects when to fail a measurement
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a limit test
  • :ULIMit defines the upper limit for failing a limit test
  • :UPACtion selects an action if the measurement cannot be performed

Note

FlexDCA must be in Oscilloscope mode with before you can configure or enable oscilloscope measurement limit tests.

Example Command Sequence

This example returns the location of the risetime measurement in Oscilloscope mode, which in this example is "3". Then, later in the program, this location number is used to enable limit testing on the risetime measurement.

:MEASure:OSCilloscope:RISetime:LOCation?
…
…
:LTESt:MEASure:OSCilloscope:LOCation1:STATe ON


:LTESt:MEASure:OSCilloscope:LOCation{1:32}:ULIMit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:ULIMit insead.

Command Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:ULIMit <limit>

<limit> is a double.

Query Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:ULIMit?

Description

Defines the upper limit for a oscilloscope measurement limit test in Oscilloscope mode. For example, if you chose to measure peak-peak amplitude and want the largest acceptable signal swing to be one volt, you could set the upper limit to 1.0 and then set the limit test to fail when the signal is outside the specified limit.

The oscilloscope measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:OSCilloscope:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off. Use the following sibling commands to configure the limit test:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :UPACtion selects an action if the measurement cannot be performed


:LTESt:MEASure:OSCilloscope:LOCation{1:32}:UPACtion

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :LTESt:MEASure:MLIMit:UPACtion insead.

Command Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:UPACtion {FAIL | PASS | IGNore}

Query Syntax

:LTESt:MEASure:OSCilloscope:LOCation{1:32}:UPACtion?

Description

Selects an action to be taken if the oscilloscope measurement limit test in Eye/Mask mode cannot be performed. The oscilloscope measurement is identified by a number, from 1 to 32, that is appended to the :LOCation portion of the command. Refer to the :MEASure:OSCilloscope:LOCation:STATe command to learn how to identify the measurement and to turn the measurement limit test on or off.

FAIL
If the measurement cannot be made, for example when an edge is expected to be present and is not found, the total number of waveforms is incremented and the total number of failures is incremented. This is the mode to use for most applications.
PASS
If the measurement cannot be performed, pass the measurement and do not count it as a failure. You might use PASS when triggering on one event and measuring another event which may not occur for every trigger. For example, in a communications test system, you might want to trigger on the clock and test the risetime of edges in the data stream. However, there may be no way to guarantee that a rising edge will be present to measure in the data stream at every clock edge. By using the PASS parameter, the limit test will not log a failure if there is no edge found in the data stream. If the measurement cannot be made, the total number of waveforms measured is incremented, but the total number of failures is not.
IGNore
If the measurement cannot be performed, ignore the measurement and do not count it as a pass or fail. IGNore is similar to PASS, except the totals for the number of waveforms and failures are not incremented. Therefore, the total indicates the number of tests when the measurement was made.

Use the following sibling commands to configure the measurement:

  • :FAILures defines the number of failures for stopping a limit test
  • :FREGion selects when to fail a measurement
  • :LLIMit defines the lower limit for failing a measurement
  • :ULIMit defines the upper limit for failing a measurement


Introduction to :MARKer Subsystem

Example Script

Click here to learn about a Python script for using tracking markers.

The Marker (MARKer) subsystem commands control up to four tracking markers and eight manual line markers. In almost all situations, use tracking markers which are designed for single-valued waveforms. Manual line markers are designed for Eye diagrams (multi-valued waveforms).

  • Learn about marker commands
  • Programming Home
Command | Tracking Marker | Manual Line Marker | Linked/Duplicate Commands
:X:POSition | ♦ | ♦ |
:Y:POSition |  | ♦ |
:X:SOURce | ♦ | ♦ | :Y:SOURce
:X:SOURce:DUT | ♦ |  | :Y:SOURce:DUT
:X:SOURce:SPARameter | ♦ |  | :Y:SOURce:SPARameter
:X:SOURce:TYPE | ♦ |  | :Y:SOURce:TYPE
:X:STATe |  | ♦ |
:Y:STATe | ♦ | ♦ |
:REFerence | ♦ | ♦ |


Introduction to :MARKer Subsystem (continued)

The Marker (MARKer) subsystem controls up to four tracking markers and eight manual-line markers.

  • Tracking markers measure the position and magnitude at any sample point on a single-valued waveform. Tracking markers can be placed on Waveform, Freq-Mag, Phase, GrpDelay, Time-Ohms, Time-Volts, and Time-% waveform content windows. When a tracking marker is placed on a Freq-Mag, Phase, and GrpDelay window, it appears on the same x position on all three of these windows. In TDR mode, a tracking marker assigned to a Time-Ohms, Time-Volts, and Time-% window does not appear on the other Time windows. Freq-Mag, Phase, and GrpDelay windows are displayed for TDR Mode's S-parameters and when using the FFT math function (other than an FFT that is defined as Linear Magnitude). Time-Ohms, Time-Volts, and Time-% windows are displayed for TDR Mode's T-parameters.
  • Manual line markers should be used on eye diagrams (multi-valued waveforms). Manual line markers measure the position or magnitude of any location on the display and not just a point on a waveform. Although manual line markers can be used in Scope and TDR mode (in the Waveform, Time-Ohms, Time-Volts, and Time-% waveform content windows only) they are of minimal value. Instead, use tracking markers. Manual line markers can never be placed on Freq-Mag, Phase, or GrpDelay waveform content windows in any measurement mode.

When Using Tracking Markers

Example Script

Click here to learn about a Python script for using tracking markers.

In Oscilloscope Mode, turn pattern lock on if a multi-valued waveform is displayed.

In Eye/Mask Mode:

  • Turn Pattern lock on
  • If Acquire Entire Pattern is selected, turn Wrap Waveform off.

In TDR/TDT Mode, assign the marker to a channel, T-domain, or S-parameter waveform.

Turning on a tracking marker prevents the use of the associated manual line markers as shown in the following table. This will not be much of an issue as you will use tracking markers for almost all of your marker needs. However, if you want to use a manual line marker always first make sure that the marker (1, 2, 3, or 4) is not already defined as a tracking marker. For example:

:MARKer:Y1A:STATe OFF
:MARKer:X1:STATe MANual
:MARKer:Y1A:STATe MANual

Tracking Markers and Associated Manual-Line Markers
Tracking Marker | Consumed Manual-Line Markers
 | X Marker | Y Marker
1 | X1 | Y1
2 | X2 | Y2
3 | X3 | Y3
4 | X4 | Y4

Marker Commands

The following table shows the commands and queries used when working with markers. The difference between any two markers can be queried, even if the markers use different source waveforms. For detailed information including syntax, refer to the topics for the individual commands.

Commands for Marker Tasks
Task | Tracking Markers | Manual-Line Markers
Turn Markers On and Off | :MARKer:Y{1:4}{A:C}:STATe TRACk | :MARKer:X{1:4}:STATe MANual :MARKer:Y{1:4}{A:C}:STATe MANual
Position a Marker | :MARKer:X{1:4}:POSition | :MARKer:X{1:4}:POSition :MARKer:Y{1:4}{A:C}:POSition
Set the Reference Marker | :MARKer:REFerence
For Channel, Function, Memory, or TDR/TDT Mode's T-Domain Waveforms
Select Source Waveform | :MARKer:X{1:4}:SOURce | :MARKer:X{1:4}:SOURce :MARKer:Y{1:4}{A:C}:SOURce
Select TYPE | :MARKer:X{1:4}:SOURce:TYPE WAVeform
For TDR/TDT Mode's S-Parameter Waveforms
Select Source Waveform | :MARKer:X{1:4}:SOURce | —
Select TYPE | :MARKer:X{1:4}:SOURce:TYPE SPARameter | —
Select DUT | :MARKer:X{1:4}:SOURce:DUT | —
Select S-Parameter | :MARKer:X{1:4}:SOURce:SPARameter | —
Query Marker Measurements
Channel or T-Domain Waveforms | :MEASure:MARKer:DX{1:4}? :MEASure:MARKer:IDX{1:4}? :MEASure:MARKer:DY{1:4}{A:C}? :MEASure:MARKer:Y{1:4}{A:C}?
S-Parameter Waveforms | :MEASure:MARKer:DX{1:4}? :MEASure:MARKer:IDX{1:4}? :MEASure:MARKer:DY{1:4}{A:C}? :MEASure:MARKer:Y{1:4}{A:C}? | —
Show or Hide Δ Measurments in Marker Table | :DISPlay:MARKer:DELTas

Markers on T-Domain Parameters and S-Parameters

Tracking markers can be placed on both T-domain parameters and S-parameters. However, manual line-markers cannot be placed on S-parameters. The parameter waveform is selected for a marker by using the TRACe argument with the :MARKer:X:SOURce and :MARKer:Y:SOURce commands. For example,

:MARKer:X2:SOURce TRACe9

The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

Because S-parameters contain magnitude, phase, and delay information, a tracking marker that is placed on an S-parameter waveform will appear at the same X-axis position on all three content windows (if displayed): Freq-Mag, Phase, and GrpDelay. For example, consider a marker placed on an S21 waveform that is displayed on a Freq-Mag window. The marker will automatically appear on the S21 waveform in both the Phase and GrpDelay windows, if they are displayed. Moving the marker's horizontal position on one trace, moves its position on all three waveforms. However, separate markers are required for identical T-domain parameters viewed on Time-Ohms, Time-Volts, and Time-% content windows.

Markers and Waveform Sampling Points

When positioning a tracking marker between waveform sampling points, the marker's time position and associated y-axis value may be restricted. For non-spectral waveforms this is determined by Acquire Entire Pattern Setting (ACQuire:EPATtern) as described in the following table. Because there is normally an abundance of waveform sampling points on screen, you may seldom notice that a marker is restricted to specific positions and values.

Tracking Marker Positions and Values Versus Pattern Acquisition
Acquire Entire Pattern Setting | Marker X-Axis Position | Marker Y-Axis Value
Non-Spectral Waveforms
Enabled | any time position | interpolated
Disabled | restricted to sampling- point position | nearest sampling- point value
Spectral Waveforms (such as created by the FFT function)
Enabled | always restricted to sampling-point position | always nearest sampling-point value
Disabled

Example Command Sequence

This example illustrates how to use all of the marker related commands and, as a result, is not presented as a best measurement practice. The example uses a tracking marker , manual line X marker, and manual line Y marker. Because a tracking marker is used, the waveforms must be single-valued. You could also turn on two tracking markers and read the delta values between them.

  //  Configure Manual Line Marker X1
:MARKer:X1:STATe MANual  //  Turn on marker
:MARKer:X1:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:X1:POSition 80E-12  //  Position marker to 80 ps

  //  Configure Manual Line Marker Y1
:MARKer:Y1A:STATe MANual  //  Turn on Y manual line marker 1.
:MARKer:Y1A:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:Y1A:POSition 120E-3  //  Position marker to 120 mv
:MARKer:REFerence X1  //  Set markers X1 and Y1 as the reference

  //  Configure Tracking Marker Pair 2
:MARKer:Y2:STATe TRACking  //  Turn on marker
:MARKer:X2:SOURce FUNCtion3  //  Assign marker to FUNCtion 3 waveform
:MARKer:X2:POSition 200E-12  //  Position marker on screen

…  //  Prompt tester to position marker on the waveform

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:IDX2?  //  Return inverse of ΔPosition
:MEASure:MARKer:DY2?  //  Return ΔMagnitude
:MEASure:MARKer:Y2?  //  Return Y2 Magnitude

Example Command Sequence for Tracking Marker on TDR Mode S-Parameter Waveforms

This command sequence assumes that the 86100D is in TDR mode and that the Magnitude, Phase, and Group Delay S-parameter graphs are displayed for two DUTs.

  //  Configure Tracking Marker Pair 1
:MARKer:Y1A:STATe TRACk  //  Turn on tracking marker 1
:MARKer:Y1A:SOURce:TYPE SPARameter  //  Select S-Parameter Waveform
:MARKer:Y1A:SOURce:DUT DUT1  //  Select Response of DUT 1
:MARKer:Y1A:SOURce:SPARameter S2_1  //  Select S-Parameter S21
:MARKer:X1:POSition 6.0E+9  //  Position marker to 6.0 GHz

  //  Configure Tracking Marker Pair 2
:MARKer:Y2A:STATe TRACk  //  Turn on tracking marker 2
:MARKer:Y2A:SOURce:TYPE SPARameter  //  Select S-Parameter Waveform
:MARKer:Y2A:SOURce:DUT DUT2  //  Select Response of DUT 2
:MARKer:Y2A:SOURce:SPARameter S2_1  //  Select S-Parameter S21
:MARKer:X2:POSition 6.790E+9  //  Position marker to 6.0 GHz
:MARKer:REFerence X1  //  Reference for delta measurements

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:Y1A?  //  Return Magnitude
:MEASure:MARKer:Y1B?  //  Return Phase
:MEASure:MARKer:Y1C?  //  Return Delay
:MEASure:MARKer:Y2A?  //  Return Magnitude
:MEASure:MARKer:Y2B?  //  Return Phase
:MEASure:MARKer:Y2C?  //  Return Delay

More Information

  • Return to main topic
  • Front-Panel Control


:MARKer:REFerence

Command Syntax

:MARKer:REFerence {X1 | X2 | X3 | X4}

Query Syntax

:MARKer:REFerence?

Description

Selects the tracking marker or manual line marker that is used as the reference marker for delta marker measurements. For manual line markers:

  • If both 1, 2, 3, or 4 markers are on (for example, X1 and Y1), making either marker the reference makes both markers a reference for markers on their graph axis.
  • If only one of the 1, 2, 3, or 4 markers are on (for example, X1 but not Y1) only part of the delta measurements are available. For example, if X2 is on and Y2 is off, only the ΔX and not the ΔY measurements can be made.

To return the delta measurements, use the following :MEASure subsystem queries:

  • :MEASure:MARKer:DX?
  • :MEASure:MARKer:DY?
  • :MEASure:MARKer:IDX?

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

This example illustrates how to use all of the marker related commands and, as a result, is not presented as a best measurement practice. The example uses a tracking marker pair, manual line X marker, and manual line Y marker. Because a tracking marker pair is used, the waveforms must be single-valued. You could also turn on two tracking markers and read the delta values between them.

  //  Configure Manual Line Marker X1
:MARKer:X1:STATe MANual  //  Turn on marker
:MARKer:X1:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:X1:POSition 80E-12  //  Position marker to 80 ps

  //  Configure Manual Line Marker Y1
:MARKer:Y1A:STATe MANual  //  Turn on Y manual line marker 1.
:MARKer:Y1A:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:Y1A:POSition 120E-3  //  Position marker to 120 mv
:MARKer:REFerence X1  //  Set markers X1 and Y1 as the reference

  //  Configure Tracking Marker Pair 2
:MARKer:Y2A:STATe TRACking  //  Turn on marker
:MARKer:X2:SOURce FUNCtion3  //  Assign marker to FUNCtion3 waveform
:MARKer:X2:POSition 200E-12  //  Position marker on screen

…  //  Prompt tester to position marker on the waveform

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:IDX2?  //  Return inverse of ΔPosition
:MEASure:MARKer:DY2A?  //  Return ΔMagnitude
:MEASure:MARKer:Y2A?  //  Return Y2 Magnitude

  • Introduction to Marker Subsystem


:MARKer:X:POSition

Command Syntax

:MARKer:X{1:4}:POSition <time>

<time> is an double.

Query Syntax

:MARKer:X{1:4}:POSition?

Description

Sets the X-axis position of an X1, X2, X3, or X4 manual or tracking marker. This value corresponds to the position entered in the Markers dialog box and shown in the Marker results table. The query returns the last entered position value, even if the marker was previously turned on, positioned, and then turned off. A default setup, sets all marker positions to 0.0s.

Example Command Sequence

This example illustrates how to use all of the marker related commands and, as a result, is not presented as a best measurement practice. The example uses a tracking marker, manual line X marker, and manual line Y marker. Because a tracking marker is used, the waveforms must be single-valued. You could also turn on two tracking markers and read the delta values between them.

  //  Configure Manual Line Marker X1
:MARKer:X1:STATe MANual  //  Turn on marker
:MARKer:X1:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:X1:POSition 80E-12  //  Position marker to 80 ps

  //  Configure Manual Line Marker Y1
:MARKer:Y1A:STATe MANual  //  Turn on Y manual line marker 1.
:MARKer:Y1A:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:Y1A:POSition 120E-3  //  Position marker to 120 mv
:MARKer:REFerence X1  //  Set markers X1 and Y1 as the reference

  //  Configure Tracking Marker Pair 2
:MARKer:Y2A:STATe TRACking  //  Turn on marker
:MARKer:X2:SOURce FUNCtion3  //  Assign marker to FUNCtion3 waveform
:MARKer:X2:POSition 200E-12  //  Position marker on screen

…  //  Prompt tester to position marker on the waveform

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:IDX2?  //  Return inverse of ΔPosition
:MEASure:MARKer:DY2A?  //  Return ΔMagnitude
:MEASure:MARKer:Y2A?  //  Return Y2 Magnitude

  • Introduction to Marker Subsystem


:MARKer:X:SOURce

Command Syntax

:MARKer:X{1:4}:SOURce {CHANnel{N} | DIFF{1:4} | FUNCtion{1:16} | WMEMory{1:8} | TRACe{1:128}}

Query Syntax

:MARKer:X{1:4}:SOURce?

Description

Selects the source waveform for one of four tracking markers. Using the :MARKer:Y:SOURce command achieves the same result. Sources can be channels, differential waveforms, functions, traces, or waveform memories.

Note

This command has no effect on manual line markers.

Example Command Sequence

This example illustrates how to use all of the marker related commands and, as a result, is not presented as a best measurement practice. The example uses a tracking marker, manual line X marker, and manual line Y marker. Because a tracking marker is used, the waveforms must be single-valued. You could also turn on two tracking markers and read the delta values between them.

  //  Configure Manual Line Marker X1
:MARKer:X1:STATe MANual  //  Turn on marker
:MARKer:X1:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:X1:POSition 80E-12  //  Position marker to 80 ps

  //  Configure Manual Line Marker Y1
:MARKer:Y1A:STATe MANual  //  Turn on Y manual line marker 1.
:MARKer:Y1A:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:Y1A:POSition 120E-3  //  Position marker to 120 mv
:MARKer:REFerence X1  //  Set markers X1 and Y1 as the reference

  //  Configure Tracking Marker Pair 2
:MARKer:Y2A:STATe TRACking  //  Turn on marker
:MARKer:X2:SOURce FUNCtion3  //  Assign marker to FUNCtion3 waveform
:MARKer:X2:POSition 200E-12  //  Position marker on screen

…  //  Prompt tester to position marker on the waveform

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:IDX2?  //  Return inverse of ΔPosition
:MEASure:MARKer:DY2A?  //  Return ΔMagnitude
:MEASure:MARKer:Y2A?  //  Return Y2 Magnitude

  • Introduction to Marker Subsystem


:MARKer:X:SOURce:DUT

Command Syntax

:MARKer:X{1:4}:SOURce:DUT {DUT{1:16}}

Description

In TDR mode, use this command along with the :MARKER:X:SOURce:SPARameter command to select a tracking marker's source waveform. This command selects the TDR DUT setup. This command applies only to tracking markers and does not affect manual line markers.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Query Syntax

:MARKer:X{1:4}:SOURce:DUT?

  • Introduction to Marker Subsystem


:MARKer:X:SOURce:SPARameter

Command Syntax

:MARKer:X{1:4}:SOURce:SPARameter <parameter>

The <parameter> argument is an S-parameter name with an underscore (_) character between the numbers. For example, the argument for an S21 parameter is S2_1.

Description

In TDR mode, use this command along with the :MARKER:X:SOURce:DUT command to select a tracking marker's source waveform. This command selects the TDR S-parameter. This command applies only to tracking markers and does not affect manual line markers.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Query Syntax

:MARKer:X{1:4}:SOURce:SPARameter?

  • Introduction to Marker Subsystem


:MARKer:X:SOURce:TYPE

Command Syntax

:MARKer:X{1:4}:SOURce:TYPE {WAVeform | SPARameter}

Description

In TDR mode, use this command to select the type of source waveform for a tracking marker. This command applies only to tracking markers and does not affect manual line markers. In Eye and Oscilloscope modes, the source is automatically set to WAVeform.

WAVeform
Select waveforms other than S-parameters. channels. Also selects T-parameters in TDR mode. Function waveforms can also be selected. This includes an FFT math operator waveform, if the FFT is defined as linear magnitude. Use the :MARKer:X:SOURce command to select the actual waveform.
SPARameter
Selects S-parameter waveforms. Use the :MARKer:X:SOURce:SPARameter and :MARKer:X:SOURce:DUT commands to select the actual waveform. When turned on, a tracking marker that is shown in each Freq-Mag, Phase, and GrpDelay waveform content window that is displayed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Query Syntax

:MARKer:Y{1:4}{A|B|C}:SOURce:TYPE?

  • Introduction to Marker Subsystem


:MARKer:X:STATe

Command Syntax

:MARKer:X{1:4}:STATe  {OFF | MANual}

Query Syntax

:MARKer:X{1:4}:STATe?

Description

Turns on or off one of four X-axis manual line markers, which can be positioned anywhere along the display's X axis independently of the waveform. Manual line markers have no relationship to any waveform. To turn on a Y-axis manual line marker, use the :MARKer:Y:STATe command.

To turn on a tracking marker, use the :MARKer:Y:STATe command. A tracking marker is designed for single-valued waveforms and can only be placed on sampled waveform points. They cannot be placed between points. This is normally not noticed due to the number of displayed waveform points. If a tracking marker is currently on, the :MARKer:X:STATe? query returns MANual and this marker cannot be turned off using this command. Use the :MARKer:Y:STATe command instead.

MANual
Turns a manual line marker on.
OFF
Turns a manual line marker off.

Example Command Sequence

This example illustrates how to use all of the marker related commands and, as a result, is not presented as a best measurement practice. The example uses a tracking marker, manual line X marker, and manual line Y marker. Because a tracking marker is used, the waveforms must be single-valued. You could also turn on two tracking markers and read the delta values between them.

  //  Configure Manual Line Marker X1
:MARKer:X1:STATe MANual  //  Turn on marker
:MARKer:X1:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:X1:POSition 80E-12  //  Position marker to 80 ps

  //  Configure Manual Line Marker Y1
:MARKer:Y1A:STATe MANual  //  Turn on Y manual line marker 1.
:MARKer:Y1A:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:Y1A:POSition 120E-3  //  Position marker to 120 mv
:MARKer:REFerence X1  //  Set markers X1 and Y1 as the reference

  //  Configure Tracking Marker Pair 2
:MARKer:Y2A:STATe TRACking  //  Turn on marker
:MARKer:X2:SOURce FUNCtion3  //  Assign marker to FUNCtion3 waveform
:MARKer:X2:POSition 200E-12  //  Position marker on screen

…  //  Prompt tester to position marker on the waveform

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:IDX2?  //  Return inverse of ΔPosition
:MEASure:MARKer:DY2A?  //  Return ΔMagnitude
:MEASure:MARKer:Y2A?  //  Return Y2 Magnitude

  • Introduction to Marker Subsystem


:MARKer:Y:POSition

Command Syntax

:MARKer:Y{1:4}{A|B|C}:POSition  <amplitude>

<amplitude> is an double.

In the command syntax, Y1, Y2, Y3, and Y4 select the marker. Appending a letter specifies the S-parameter in a waveform content window as identified in the following table. For example,

:MARKer:Y2B:SOURce

selects the Y2 marker on the B waveform content window, which is the Phase window. Although a number-letter combination is often used to specify a channel ("2B"), it does not refer to a channel in this case. Normally, only the "Waveform" window is displayed so, for example, you would specify "Y2A". The letter designation is required.

Selecting the Y Manual Line Marker
Waveform | Command String | Selected Marker
FFT math operator, or TDR Mode's S-Parameter Waveforms | :MARKer:Y{1:4}A:SOURce | On source waveform's Freq-Mag window.
 | :MARKer:Y{1:4}B:SOURce | On source waveform's Phase window.
 | :MARKer:Y{1:4}C:SOURce | On source waveform's GrpDelay window.
All Other Waveforms | :MARKer:Y{1:4}A | On source waveform's Waveform window.

Query Syntax

:MARKer:Y{1:4}{A|B|C}:POSition?

Description

Sets the Y-axis position of a Y1, Y2, Y3, or Y4 manual line marker. This value corresponds to the position entered in the Markers dialog box and shown in the Marker results table. The query returns the last entered position value, even if the marker was previously turned on, positioned, and then turned off. A default setup, sets all marker positions to 0.0. To query the value of the Y1, Y2, Y3, or Y4 manual line marker, use the :MEASure subsystem command :MEASure:MARKer:Y? query.

To set the position of a waveform tracking marker, use the :MARKer:X:POSition command.

Note

Use this command on manual-line markers that are displayed in Waveform content windows. This command does not apply to tracking markers.

Example Command Sequence

This example illustrates how to use all of the marker related commands and, as a result, is not presented as a best measurement practice. The example uses a tracking marker, manual line X marker, and manual line Y marker. Because a tracking marker is used, the waveforms must be single-valued. You could also turn on two tracking markers and read the delta values between them.

  //  Configure Manual Line Marker X1
:MARKer:X1:STATe MANual  //  Turn on marker
:MARKer:X1:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:X1:POSition 80E-12  //  Position marker to 80 ps

  //  Configure Manual Line Marker Y1
:MARKer:Y1A:STATe MANual  //  Turn on Y manual line marker 1.
:MARKer:Y1A:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:Y1A:POSition 120E-3  //  Position marker to 120 mv
:MARKer:REFerence X1  //  Set markers X1 and Y1 as the reference

  //  Configure Tracking Marker Pair 2
:MARKer:Y2A:STATe TRACking  //  Turn on marker
:MARKer:X2:SOURce FUNCtion3  //  Assign marker to FUNCtion3 waveform
:MARKer:X2:POSition 200E-12  //  Position marker on screen

…  //  Prompt tester to position marker on the waveform

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:IDX2?  //  Return inverse of ΔPosition
:MEASure:MARKer:DY2A?  //  Return ΔMagnitude
:MEASure:MARKer:Y2A?  //  Return Y2 Magnitude

  • Introduction to Marker Subsystem


:MARKer:Y:SOURce

Command Syntax

:MARKer:Y{1:4}{A|B|C}:SOURce {CHANnel{N} | DIFF{1:4} | FUNCtion{1:16} | WMEMory{1:8} | TRACe{1:128}}

In the command syntax, Y1A, Y2A, Y3A, and Y4A select the marker.

Query Syntax

:MARKer:Y{1:4}{A|B|C}:SOURce?

Description

Selects the source waveform for one of four tracking markers. Using the :MARKer:X:SOURce command achieves the same result. Sources can be channels, differential waveforms, functions, traces, and waveform memories.

Note

This command has no effect on manual line markers.

Example Command Sequence

This example illustrates how to use all of the marker related commands and, as a result, is not presented as a best measurement practice. The example uses a tracking marker, manual line X marker, and manual line Y marker. Because a tracking marker is used, the waveforms must be single-valued. You could also turn on two tracking markers and read the delta values between them.

  //  Configure Manual Line Marker X1
:MARKer:X1:STATe MANual  //  Turn on marker
:MARKer:X1:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:X1:POSition 80E-12  //  Position marker to 80 ps

  //  Configure Manual Line Marker Y1
:MARKer:Y1A:STATe MANual  //  Turn on Y manual line marker 1.
:MARKer:Y1A:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:Y1A:POSition 120E-3  //  Position marker to 120 mv
:MARKer:REFerence X1  //  Set markers X1 and Y1 as the reference

  //  Configure Tracking Marker Pair 2
:MARKer:Y2A:STATe TRACking  //  Turn on marker
:MARKer:X2:SOURce FUNCtion3  //  Assign marker to FUNCtion3 waveform
:MARKer:X2:POSition 200E-12  //  Position marker on screen

…  //  Prompt tester to position marker on the waveform

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:IDX2?  //  Return inverse of ΔPosition
:MEASure:MARKer:DY2A?  //  Return ΔMagnitude
:MEASure:MARKer:Y2A?  //  Return Y2 Magnitude

  • Introduction to Marker Subsystem


:MARKer:Y:SOURce:DUT

Command Syntax

:MARKer:Y{1:4}{A|B|C}:SOURce:DUT {DUT{1:16}}

Description

This command controls the same setting as :MARKer:X:SOURce:DUT command, which should be used instead to encourage consistency. Because manual line markers cannot be placed on S-parameter waveforms, this command applies only to tracking markers.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

  • Introduction to Marker Subsystem


:MARKer:Y:SOURce:SPARameter

Command Syntax

:MARKer:Y{1:4}{A|B|C}:SOURce:SPARameter <parameter>

The <parameter> argument is an S-parameter name with an underscore (_) character between the numbers. For example, the argument for an S21 parameter is S2_1.

Description

This command controls the same setting as :MARKer:X:SOURce:SPARameter command, which should be used instead to encourage consistency. Because manual line markers cannot be placed on S-parameter waveforms, this command applies only to tracking markers.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

  • Introduction to Marker Subsystem


:MARKer:Y:SOURce:TYPE

Command Syntax

:MARKer:Y{1:4}{A|B|C}:SOURce:TYPE {WAVeform | SPARameter}

Description

Example Script

Click here to learn about a Python script for using tracking markers.

This command controls the same setting as :MARKer:X:SOURce:TYPE command, which should be used instead to encourage consistency. Because manual line markers cannot be placed on S-parameter waveforms, this command applies only to tracking markers.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

  • Introduction to Marker Subsystem


:MARKer:Y:STATe

Command Syntax

:MARKer:Y{1:4}{A|B|C}:STATe {OFF | MANual | TRACk}

In the command syntax, Y1A, Y2A, Y3A, and Y4A select the marker.

Query Syntax

:MARKer:Y{1:4}{A|B|C}:STATe?

Description

Use this command to turn markers on or off:

MANual
Turns the marker on as a manual Y marker. These markers can be positioned anywhere along the display's Y axis independently of the waveform. To turn on an X-axis manual line marker, use the :MARKer:X:STATe command.
TRACk
Turns the marker on as a tracking marker. The associated X marker is automatically set to MANual to complete the pair. These markers are designed to be positioned along the data points of single-valued waveforms.
OFF
Turns the marker off.

Note

The Y2A marker identifier could also be entered as Y2B or Y2C. However, avoid using these "B" and "C" variations as they are reserved for future use.

Example Command Sequence

This example illustrates how to use all of the marker related commands and, as a result, is not presented as a best measurement practice. The example uses a tracking marker, manual line X marker, and manual line Y marker. Because a tracking marker is used, the waveforms must be single-valued. You could also turn on two tracking markers and read the delta values between them.

  //  Configure Manual Line Marker X1
:MARKer:X1:STATe MANual  //  Turn on marker
:MARKer:X1:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:X1:POSition 80E-12  //  Position marker to 80 ps

  //  Configure Manual Line Marker Y1
:MARKer:Y1A:STATe MANual  //  Turn on Y manual line marker 1.
:MARKer:Y1A:SOURce CHAN1A  //  Assign marker to Channel 1A waveform
:MARKer:Y1A:POSition 120E-3  //  Position marker to 120 mv
:MARKer:REFerence X1  //  Set markers X1 and Y1 as the reference

  //  Configure Tracking Marker Pair 2
:MARKer:Y2A:STATe TRACking  //  Turn on marker
:MARKer:X2:SOURce FUNCtion3  //  Assign marker to FUNCtion3 waveform
:MARKer:X2:POSition 200E-12  //  Position marker on screen

…  //  Prompt tester to position marker on the waveform

  //  Return Marker Table Measurements for Tracking Marker 2
:MEASure:MARKer:DX2?  //  Return ΔPosition
:MEASure:MARKer:IDX2?  //  Return inverse of ΔPosition
:MEASure:MARKer:DY2A?  //  Return ΔMagnitude
:MEASure:MARKer:Y2A?  //  Return Y2 Magnitude

  • Introduction to Marker Subsystem


Introduction to :MEASure Subsystem

Use the Measure (:MEASure) subsystem to make parametric measurements on displayed waveforms. Each FlexDCA measurement mode has a set of measurements. In Eye/Mask mode, all of the measurements are made on the color grade/gray scale data, with the exception of average optical power and histogram measurements.

  • Making Measurements
  • Querying and Modifying the Results Table
  • Defining Eye-Diagram Boundaries
  • Defining Waveform Threshold, Top, and Base Levels
  • Measurement Errors

Query All Measurement Results

  • :MEASure:RESults?

Measurement Annotations

  • :MEASure:ANNotations:STATe

Eye/Mask Mode Commands

  • :MEASure:{EYE | CGRade}:COMPlete (Color-Grade Database Completion Criteria)
  • :MEASure:{EYE | CGRade} (Eye Measurement Commands)
  • :MEASure:{EYE | CGRade}:PAM (PAM 4 Eye Measurement Commands)
  • :MEASure:{EYE | CGRade}:{DJ|JN|RJ|TJ} (Advanced Eye Measurement Commands)
  • :MEASure:{EYE | CGRade}:USER (User Measurement Commands)
  • :MEASure:{EYE | CGRade}:LIST (Eye Results Table Commands)
  • :MEASure:ERATio (Extintion Ratio Configuration Commands)
  • :MEASure:MTESt (Mask Test Measurement Commands)
  • :MEASure:EBOundary (Eye Boundary Configuration Commands)
  • :MEASure:TBASe (Top/Base Configuration Commands)
  • :MEASure:THReshold (Threshold Configuration Commands)
  • :MEASure:TDEC (TDEC Configuration Commands)

Jitter/Interference Mode Commands

  • :MEASure:JITTer (Jitter Measurement Commands)
  • :MEASure:{CRECovery|JSAMemory} (Option JSA Measurement Commands)
  • :MEASure:AMPLitude (Noise/Interference Measurement Commands)
  • :MEASure:JITTer:LIST (Jitter Results Table Commands)
  • :MEASure:AMPLitude:LIST (Noise/Interference Results Table Commands)
  • :MEASure:JITTer:DEFine (Jitter Definition Commands)
  • :MEASure:AMPLitude:DEFine (Noise/Interference Definition Commands)

Oscilloscope Mode Commands

  • :MEASure:OSCilloscope (Measurement Commands)
  • :MEASure:OSCilloscope:PAM (PAM Measurement Commands)
  • :MEASure:OSCilloscope:USER (User Measurement Commands)
  • :MEASure:OSCilloscope:LIST (Results Table Commands)
  • :MEASure:REGions (Measurement Region Commands)

TDR/TDT Mode Commands

  • :MEASure:TDR (Measurement Commands)
  • :MEASure:TDR:USER (User Measurement Commands)
  • :MEASure:TDR:LIST (Results Table Commands)

Histogram Commands

  • :MEASure:HISTogram (Histogram Measurement Commands)

Acquisition Commands

  • :MEASure:ACQuire (Acquisition Measurement Commands)

Limit-Test Commands

  • :MEASure:LTESt (Limit-Test Measurement Commands)

Limit-Test Limit-Lines Commands

  • :MEASure:LLINe (Limit-Test Limit-Line Measurement Commands)

Marker Commands

  • :MEASure:MARKer (Marker Measurement Commands)


Making Measurements

Once a valid waveform is displayed, select the command in this subsystem that corresponds to the measurement that you wish to make. Use the :MEASure commands to perform return the following measurements:

  • Perform an Oscilloscope, Eye, or Jitter mode measurement and return the results.
  • Return histogram results that are displayed in a Histograms results table using the :MEASure:HISTogram commands.
  • Return marker results using the :MEASure:MARKer commands.
  • Return mask test results using the :MEASure:MTESt commands.

Displaying a Valid Waveform

To make a measurement, the portion of the waveform required for that measurement must be displayed on FlexDCA. For example,

  • For a period or frequency measurement, at least one and one half complete cycles must be displayed.
  • For a pulse width measurement, the entire pulse must be displayed.
  • For a rise time measurement, the leading (positive-going) edge of the waveform must be displayed.
  • For a fall time measurement, the trailing (negative-going) edge of the waveform must be displayed.

MEASUREMENT STATISTICS

Each measurement includes the following undocumented child queries that you can use to return measurement statistics. Learn More.

  • :COUNt?
  • :COUNt:STATus?
  • :COUNt:STATus:REASon>
  • :MAXimum?
  • :MAXimum:STATus?
  • :MAXimum:STATus:REASon?
  • :MEAN?
  • :MEAN:STATus?
  • :MEAN:STATus:REASon?
  • :MINimum?
  • :MINimum:STATus?
  • :MINimum:STATus:REASon?
  • :SDEViation?
  • :SDEViation:STATus?
  • :SDEViation:STATus:REASon?

Making Measurements

If more than one period, edge, or pulse is displayed, time measurements are made on the first, left-most portion of the displayed waveform. When any of the defined measurements are requested, FlexDCA first determines the top (100%) and base (0%) voltages of the waveform. From this information, FlexDCA determines the other important voltage values (10%, 90%, and 50% voltage values) for making measurements. The 10% and 90% voltage values are used in the rise-time and fall-time measurements when standard measurements are selected. The 50% voltage value is used for measuring frequency, period, pulse width, and duty cycle with standard measurements selected. You can also make measurements using user-defined parameters, instead of the standard measurement values as explained later in this topic.

When the command form of a measurement is used, the measurement result is displayed and returned:

:MEASure:EYE:EWIDth

When the query form of the measurement is used, the measurement is made one time and the measurement result is returned.

:MEASure:EYE:EWIDth?

Also,

  • If the current acquisition is complete, the current acquisition is measured and the result is returned.
  • If the current acquisition is incomplete and FlexDCA is running, acquisitions will continue to occur until the acquisition is complete. The acquisition will then be measured and the result returned.
  • If the current acquisition is incomplete and FlexDCA is stopped, the measurement result will be "9.91E+37 (NaN)".

You can also return the measurement results of every measurement that is listed in all displayed measurement results panes that are displayed below the graticule. Use the :MEASure:RESults? query. The following is an example of three measurements returned in Eye mode. Line breaks have been added to make the string easier to read:

Name=Eye Width[Time],Source=1A,Current=9.458E-11,Min=9.436E-11,Max=9.458E-11,Count=1.9E+1,
Name=Fall Time,Source=1A,Current=2.366E-11,Min=2.366E-11,Max=2.366E-11,Count=3.9E+1,
Name=Rise Time,Source=1A,Current=2.366E-11,Min=2.366E-11,Max=2.366E-11,Count=4.4E+1

All measurements are made using the entire display, except for vRMS which allows measurements on a single cycle, and eye measurements in the defined eye window. Therefore, if you want to make measurements on a particular cycle, display only that cycle on the screen.

Measurements are made on the displayed waveform specified by the measurement's :SOURce child command. For example, to make a risetime measurement on channel 1B use the following commands:

:MEASure:OSCilloscope:RISetime:SOURce  CHAN1B
:MEASure:OSCilloscope:RISetime?

Most measurements are only made on a single source. Some measurements are more complicated, such as the delta time, and can be made on one or two sources with additional waveform parameters specified.

:CHAN1A:DISPlay ON
:MEASure:OSCilloscope:DELTatime:ENUMber1 1
:MEASure:OSCilloscope:DELTatime:ENUMber2 2
:MEASure:OSCilloscope:DELTatime:EDIRection1 RISing
:MEASure:OSCilloscope:DELTatime:ETHReshold1 MIDDle
:MEASure:OSCilloscope:DELTatime:EDIRection2 RISing
:MEASure:OSCilloscope:DELTatime:ETHReshold2 MIDDle
:MEASure:OSCilloscope:DELTatime


Measurement Errors

If a measurement cannot be made the string "9.91E+37 (NaN)" is returned as the measurement result. Negative infinity is reported as −9.9E+37 (−Infinity). Examples that cause this situation to occur include:

  • Lack of data
  • The signal is clipped
  • The source signal is not displayed
  • The requested measurement is not possible (for example, a period measurement on an FFT waveform)

Use a measurement command's :STATus? child query to determine if a measurement was correctly performed. If not, use the :STATus:REASon? child query to return a message string that helps to identify the cause. The following table shows some of the common response strings.

Possible Common :STATus:REASon? Query Responses
Query Response | Description
Oscilloscope and Eye Mode Measurements
Edge? | The required edge was not found.
Voltage? | The requested amplitude was not found.
Top = Base | The waveform top and base are equal.
Incomplete | The completion criteria has not been met.
Clipped Hi | The waveform is clipped at the top of the display.
Clipped Low | The waveform is clipped at the bottom of the display.
Too Small | The input signal is too small.
Lower? | The lower threshold is not on the waveform.
Upper? | The upper threshold is not on the waveform.
Thresholds? | The upper and lower thresholds are too close.
Time? | The requested time is not on the waveform.
Time? | The requested time was not found.
Left? | The left bounding data point was not found.
Right? | The right bounding data point was not found.
Top? | The specified eye top is not on the waveform.
Base? | The specified eye base is not on the waveform.
Eye? | Unable to identify the eye.
Crossings? | Not enough crossings were found.
No data | Not enough samples have been acquired.
Source off | The source is turned off.
Source? | The source waveform is not in the correct format.
Jitter? | The jitter is too large.
Period? | The measurement period is too small.
Transition? | The measurement transition is too small.
Width? | The measurement pulse width is too small.
Cross? | The crossing is too thin.
Dark Level? | The dark level is invalid.
Corr Factor? | The Correction Factor is larger than the measured ER.
Mismatch | Not all waveforms were acquired simultaneously.
Cal Req'd | {0} requires calibration.
DFE? | The measurement is not defined for the output of a DFE.
Jitter Mode Measurements
Level? | Sample level is out of valid range.
Jitter | Excessive Jitter.
Pattern | Incorrect pattern parameters.
Eye? | Eye is closed.
Edge? | Too many points outside range of the edge model.
Clipped | Histogram is clipped.
Edge? | Unable to create monotonic edge model.
Edges? | No suitable edges for measurement.
Jitter | One/Zero level measurements may be corrupted by excessive jitter.
RJ Comp? | The RJ Compensation Factor is too large.
RN Comp? | The RN Compensation Factor is too large.
JSA-RJ? | Jitter Spectrum Analysis is reporting an RJ value that is too large.
RN Comp? | Unable to apply RN Compensation/Stabilization using current Jitter Data.


Querying and Modifying the Results Table

This topic explains how to return the results shown in the tables below the waveforms. This includes the Results, Marker, Histogram, Mask Test, JSA/CRE panes. The topic also covers the cammands used to modify the measurements results that are listed in the Results pane.

Querying the contents of the results panes

You can return all of the measurement results listed in the Results pane using the :MEASure:RESults? query. This includes all of the following types of measurements:

  • Time, Amplitude, PAM, JSA/CRE, and User toolbar measurements in Scope Mode.
  • Eye, Advanced Eye, PAM, JSA/CRE, and User toolbar measurements in Eye Mode.
  • Time, Amplitude, Meas, and JSA/CRE toolbar measurements in Jitter/Noise Mode. These are listed on the Jitter pane and Amplitude pane.
  • Time, Amplitude, and User toolbar measurements in TDR/TDT Mode.

Click on the following links to query the values listed in the:

  • Marker pane
  • Histograms pane
  • Mask Test pane
  • JSA Results pane

Modifying the contents of the Results pane

You can select, clear, or remove measurement results from the Oscilloscope, Eye, and Jitter measurement results tables. First, use the measurement's :LOCation child command to return an index value which represents the location of the result in the table. The list is indexed starting at 1, which is the top result in the table and the location of the most recent result. The first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. In this picture, Rise Time has an index of 1 and Fall Time has an index of 4. If more that one column of results is displayed, the index increases row-by-row from left to right. The following commands shows how to perform a risetime measurement in Oscilloscope Mode, return the result's table index (in this example 4), and then remove the result from the table:

:MEASure:OSCilloscope:RISetime
…
…
:MEASure:OSCilloscope:RISetime:LOCation?  //  Returns the location of the risetime measurement.
:MEASure:OSCilloscope:LIST:REMove 4

Note

A measurement's :LOCation child command is also used to identify a measurement when configuring measurement limit testing.

The following table shows the various commands used to alter the different measurement results tables. Some measurement results tables, such as the JSA Results, cannot be modified. However, the :LOCation? child query is still used to return the measurement index.

Commands Used to Modify Table Results
Oscilloscope Mode
:OSCilloscope:LIST:CLEar
:OSCilloscope:LIST:REMove
:OSCilloscope:LIST:SELect
Eye/Mask Mode
:EYE:LIST:CLEar
:EYE:LIST:REMove
:EYE:LIST:SELect
Jitter Mode (jitter results)
:JITTer:LIST:CLEar
:JITTer:LIST:DEFault
:JITTer:LIST:REMove
:JITTer:LIST:SELect
Jitter Mode (noise results)
:AMPLitude:LIST:CLEar
:AMPLitude:LIST:DEFault
:AMPLitude:LIST:REMove
:AMPLitude:LIST:SELect
TDR/TDT Mode
:TDR:LIST:CLEar
:TDR:LIST:REMove
:TDR:LIST:SELect


:MEASure Subsystem Noise/Interference Commands

Noise/Interference measurements require Jitter Mode with the additional Advanced Amplitude Analysis/RIN/Q-Factor software license (86100D-300 or N1010A-300).

>>
Measurement | Command
BER Floor | AMPLitude:BERFloor
 | AMPLitude:BERFloor:LOCation?
 | AMPLitude:BERFloor:SOURce
 | AMPLitude:BERFloor:STATus?
 | AMPLitude:BERFloor:STATus:REASon?
BER Limit | AMPLitude:BERLimit
 | AMPLitude:BERLimit:LOCation?
 | AMPLitude:BERLimit:SOURce
 | AMPLitude:BERLimit:STATus?
 | AMPLitude:BERLimit:STATus:REASon?
Bounded Uncorrelated Interference (BUIrms), Ones | AMPLitude:BIROnes
 | AMPLitude:BIROnes:LOCation?
 | AMPLitude:BIROnes:SOURce
 | AMPLitude:BIROnes:STATus?
 | AMPLitude:BIROnes:STATus:REASon?
Bounded Uncorrelated Interference (BUIrms), Zeros | AMPLitude:BIRZeros
 | AMPLitude:BIRZeros:LOCation?
 | AMPLitude:BIRZeros:SOURce
 | AMPLitude:BIRZeros:STATus?
 | AMPLitude:BIRZeros:STATus:REASon?
Bounded Uncorrelated Interference (BUIδ-δ), Ones | AMPLitude:BUIOnes
 | AMPLitude:BUIOnes:LOCation?
 | AMPLitude:BUIOnes:SOURce
 | AMPLitude:BUIOnes:STATus?
 | AMPLitude:BUIOnes:STATus:REASon?
Bounded Uncorrelated Interference (BUIδ-δ), Zeros | AMPLitude:BUIZeros
 | AMPLitude:BUIZeros:LOCation?
 | AMPLitude:BUIZeros:SOURce
 | AMPLitude:BUIZeros:STATus?
 | AMPLitude:BUIZeros:STATus:REASon?
De-emphasis (PCIe) | AMPLitude:DEPCie
 | AMPLitude:DEPCie:LOCation?
 | AMPLitude:DEPCie:SOURce
 | AMPLitude:DEPCie:STATus?
 | AMPLitude:DEPCie:STATus:REASon?
Deterministic Interference (DI), Ones | AMPLitude:DIONes
 | AMPLitude:DIONes:LOCation?
 | AMPLitude:DIONes:SOURce
 | AMPLitude:DIONes:STATus?
 | AMPLitude:DIONes:STATus:REASon?
Deterministic Interference (DI), Zeros | AMPLitude:DIZeros
 | AMPLitude:DIZeros:LOCation?
 | AMPLitude:DIZeros:SOURce
 | AMPLitude:DIZeros:STATus?
 | AMPLitude:DIZeros:STATus:REASon?
Eye Opening (Vertical) | AMPLitude:EOPening
 | AMPLitude:EOPening:LOCation?
 | AMPLitude:EOPening:SOURce
 | AMPLitude:EOPening:STATus?
 | AMPLitude:EOPening:STATus:REASon?
Bit number of the highest one | AMPLitude:HONE
 | AMPLitude:HONE:LOCation?
 | AMPLitude:HONE:SOURce
 | AMPLitude:HONE:STATus?
 | AMPLitude:HONE:STATus:REASon?
Bit number of the highest zero | AMPLitude:HZERo
 | AMPLitude:HZERo:LOCation?
 | AMPLitude:HZERo:SOURce
 | AMPLitude:HZERo:STATus?
 | AMPLitude:HZERo:STATus:REASon?
Returns Inter-Symbol Interference (ISI) Histogram Samples | AMPLitude:ISIHist:SAMPles?
Inter-Symbol Interference (ISI), Ones | AMPLitude:ISIOnes
 | AMPLitude:ISIOnes:LOCation?
 | AMPLitude:ISIOnes:SOURce
 | AMPLitude:ISIOnes:STATus?
 | AMPLitude:ISIOnes:STATus:REASon?
Returns the ISI values for each measured edge | AMPLitude:ISIVsbit?
 | AMPLitude:ISIVsbit:BITS?
 | AMPLitude:ISIVsbit:HIGHest?
 | AMPLitude:ISIVsbit:LOWest?
Inter-Symbol Interference (ISI), Zeros | AMPLitude:ISIZeros
 | AMPLitude:ISIZeros:LOCation?
 | AMPLitude:ISIZeros:SOURce
 | AMPLitude:ISIZeros:STATus?
 | AMPLitude:ISIZeros:STATus:REASon?
Bit number of the lowest one | AMPLitude:LONE
 | AMPLitude:LONE:LOCation?
 | AMPLitude:LONE:SOURce
 | AMPLitude:LONE:STATus?
 | AMPLitude:LONE:STATus:REASon?
Bit number of the lowest zero | AMPLitude:LZERo
 | AMPLitude:LZERo:LOCation?
 | AMPLitude:LZERo:SOURce
 | AMPLitude:LZERo:STATus?
 | AMPLitude:LZERo:STATus:REASon?
One Level | AMPLitude:OLEVel
 | AMPLitude:OLEVel:LOCation?
 | AMPLitude:OLEVel:SOURce
 | AMPLitude:OLEVel:STATus?
 | AMPLitude:OLEVel:STATus:REASon?
Periodic Interference (PIδ-δ), Ones | AMPLitude:PIONes
 | AMPLitude:PIONes:LOCation?
 | AMPLitude:PIONes:SOURce
 | AMPLitude:PIONes:STATus?
 | AMPLitude:PIONes:STATus:REASon?
Periodic Interference (PIrms), Ones | AMPLitude:PIROnes
 | AMPLitude:PIROnes:LOCation?
 | AMPLitude:PIROnes:SOURce
 | AMPLitude:PIROnes:STATus?
 | AMPLitude:PIROnes:STATus:REASon?
Periodic Interference (PIrms), Zeros | AMPLitude:PIRZeros
 | AMPLitude:PIRZeros:LOCation?
 | AMPLitude:PIRZeros:SOURce
 | AMPLitude:PIRZeros:STATus?
 | AMPLitude:PIRZeros:STATus:REASon?
Periodic Interference (PIδ-δ), Zeros | AMPLitude:PIZeros
 | AMPLitude:PIZeros:LOCation?
 | AMPLitude:PIZeros:SOURce
 | AMPLitude:PIZeros:STATus?
 | AMPLitude:PIZeros:STATus:REASon?
Preshoot (PCIe) | AMPLitude:PPCie
 | AMPLitude:PPCie:LOCation?
 | AMPLitude:PPCie:SOURce
 | AMPLitude:PPCie:STATus?
 | AMPLitude:PPCie:STATus:REASon?
Q | AMPLitude:Q
 | AMPLitude:Q:LOCation?
 | AMPLitude:Q:SOURce
 | AMPLitude:Q:STATus?
 | AMPLitude:Q:STATus:REASon?
Relative Intensity Noise (RIN) | AMPLitude:RINoise
 | AMPLitude:RINoise:LOCation?
 | AMPLitude:RINoise:SOURce
 | AMPLitude:RINoise:STATus?
 | AMPLitude:RINoise:STATus:REASon?
Returns Random Noise (RN) Histogram Samples | AMPLitude:RNPIhist:SAMPles?
Random Noise (RN), Ones | AMPLitude:RNONes
 | AMPLitude:RNONes:LOCation?
 | AMPLitude:RNONes:SOURce
 | AMPLitude:RNONes:STATus?
 | AMPLitude:RNONes:STATus:REASon?
Random Noise (RN), Zeros | AMPLitude:RNZeros
 | AMPLitude:RNZeros:LOCation?
 | AMPLitude:RNZeros:SOURce
 | AMPLitude:RNZeros:STATus?
 | AMPLitude:RNZeros:STATus:REASon?
Signal Amplitude | AMPLitude:SAMPlitude
 | AMPLitude:SAMPlitude:LOCation?
 | AMPLitude:SAMPlitude:SOURce
 | AMPLitude:SAMPlitude:STATus?
 | AMPLitude:SAMPlitude:STATus:REASon?
Returns the current method used to separate any Bounded Uncorrelated Interference (BUI) from the Random Noise (RN) | AMPLitude:SMEThod?
Returns Total Interference (TI) Histogram Samples | AMPLitude:TIHist:SAMPles?
Total Interference (TI), Ones | AMPLitude:TIONes
 | AMPLitude:TIONes:LOCation?
 | AMPLitude:TIONes:SOURce
 | AMPLitude:TIONes:STATus?
 | AMPLitude:TIONes:STATus:REASon?
Total Interference (TI), Zeros | AMPLitude:TIZeros
 | AMPLitude:TIZeros:LOCation?
 | AMPLitude:TIZeros:SOURce
 | AMPLitude:TIZeros:STATus?
 | AMPLitude:TIZeros:STATus:REASon?
Uncorrelated Noise (UN), Ones | AMPLitude:UNONes
 | AMPLitude:UNONes:LOCation?
 | AMPLitude:UNONes:SOURce
 | AMPLitude:UNONes:STATus?
 | AMPLitude:UNONes:STATus:REASon?
Uncorrelated Noise (UN), Zeros | AMPLitude:UNZeros
 | AMPLitude:UNZeros:LOCation?
 | AMPLitude:UNZeros:SOURce
 | AMPLitude:UNZeros:STATus?
 | AMPLitude:UNZeros:STATus:REASon?
Zero Level | AMPLitude:ZLEVel
 | AMPLitude:ZLEVel:LOCation?
 | AMPLitude:ZLEVel:SOURce
 | AMPLitude:ZLEVel:STATus?
 | AMPLitude:ZLEVel:STATus:REASon?

More Information

  • Interference Components Tree
  • Learn More


:MEASure Subsystem Noise/Interference Definition Commands

Noise/Interference measurements require Jitter Mode with the additional Advanced Amplitude Analysis/RIN/Q-Factor software license (86100D-300 or N1010A-300).

  • AMPLitude:DEFine:ANALysis
  • AMPLitude:DEFine:LEVel
  • AMPLitude:DEFine:LEVel:CIDigits:LAGGing
  • AMPLitude:DEFine:LEVel:CIDigits:LEADing
  • AMPLitude:DEFine:LOCation?
  • AMPLitude:DEFine:RINoise:TYPe
  • AMPLitude:DEFine:RINoise:UNITs
  • AMPLitude:DEFine:RNComp
  • AMPLitude:DEFine:RNCValue:ONE
  • AMPLitude:DEFine:RNCValue:ZERO
  • AMPLitude:DEFine:RNSTabilize
  • AMPLitude:DEFine:RNSValue:GMRN
  • AMPLitude:DEFine:RNSValue:ONE
  • AMPLitude:DEFine:RNSValue:ZERO
  • AMPLitude:DEFine:UNITs
  • AMPLitude:SMEThod?
  • JITTer:DEFine:SMEThod

  • Learn More


:MEASure Subsystem Noise/Interference Results Table Commands

Noise/Interference measurements require Jitter Mode with the additional Advanced Amplitude Analysis/RIN/Q-Factor software license (86100D-300 or N1010A-300).

  • AMPLitude:LIST:CLEar
  • AMPLitude:LIST:DEFault
  • AMPLitude:LIST:REMove
  • AMPLitude:LIST:SELect

  • Learn More


:MEASure Subsystem Option JSA Commands

Use the following commands to query the results that are shown in the JSA/CRE pane.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

Measurement | Command
JSA Deterministic Jitter (DJrms) measurement | CRECovery:DJ
 | CRECovery:DJ:LOCation?
 | CRECovery:DJ:STATus?
 | CRECovery:DJ:STATus:REASon?
JSA Random Jitter (RJrms) measurement | CRECovery:RJ
 | CRECovery:RJ:LOCation?
 | CRECovery:RJ:STATus?
 | CRECovery:RJ:STATus:REASon?
JSA Total Jitter (TJrms) measurement | CRECovery:TJ
 | CRECovery:TJ:LOCation?
 | CRECovery:TJ:STATus?
 | CRECovery:TJ:STATus:REASon?
Measurement on JSA Memory | Command
JSA Deterministic Jitter (DJrms) measurement | JSAMemory:DJ
 | JSAMemory:DJ:STATus?
 | JSAMemory:DJ:STATus:REASon?
JSA Random Jitter (RJrms) measurement | JSAMemory:RJ
 | JSAMemory:RJ:STATus?
 | JSAMemory:RJ:STATus:REASon?
JSA Total Jitter (TJrms) measurement | JSAMemory:TJ
 | JSAMemory:TJ:STATus?
 | JSAMemory:TJ:STATus:REASon?

  • Learn More


:MEASure Subsystem Eye Boundary Configuration Commands

MEASUREMENTS AFFECTED

FlexDCA uses the eye boundaries during these measurements:

  • Eye Amplitude
  • Crossing %
  • Duty-Cycle Distortion
  • Eye Height
  • Signal to Noise Ratio
  • One Level
  • Zero Level
  • Rise Time
  • Fall Time

In Eye/Mask Mode, the left and right eye-diagram boundaries are used to define the central percentage of the bit period (time). The default value is 40% (left) and 60% (right) which identifies the central 20% of bit period. You can specify default values or enter your own values using the following three commands:

  • EBOundary:DEFault
  • EBOundary:LEFT
  • EBOundary:RIGHt

  • Learn More


:MEASure Subsystem Extinction Ratio Configuration Commands

These commands allow you to enter and apply an extinction ratio correction factor for Eye/Mask mode extinction-ratio measurements. Correction factors are used with 86105C and 86115D reference receiver filters and when an external photodetector is connected to an electrical channel. To perform a dark calibration which corrects for dark current in the channel's photodetector, use the :CALibrate:DARK:CHAN:STARt command. A dark calibration corrections is applied in addition to any extinction ratio carrection factor.

  • ERATio:CHAN<N>:ACFactor
  • ERATio:CHAN<N>:CFACtor

  • Learn More


:MEASure Subsystem Eye Commands

Example Program

An example program is provided that shows how to make eye-mask measurements with limit testing. Example are provided for C#.NET, Labview, Matlab, and Python. Look in the 86100D (or PC) installation folder: \Keysight\FlexDCA\Demo\Example Programs

To define the waveform's eye, use the Eye Boundary Configuration Commands, Top/Base Configuration Commands, and Threshold Configuration Commands.

For these commands, two identical nodes exist: :EYE and :CGRade. These nodes are equivalent and you can use either one at any time, but it is recommended that you consistently use :EYE. The :CGRade node is provided for legacy reasons. For example, the following two commands are equivalent:

:MEASure:EYE:FALLtime
:MEASure:CGRade:FALLtime

Measurement | Command
Average Power | {EYE | CGRade}:APOWer
 | {EYE | CGRade}:APOWer:LOCation?
 | {EYE | CGRade}:APOWer:SOURce
 | {EYE | CGRade}:APOWer:STATus?
 | {EYE | CGRade}:APOWer:STATus:REASon?
 | {EYE | CGRade}:APOWer:UNITs
Bit Rate | {EYE | CGRade}:BITRate
 | {EYE | CGRade}:BITRate:LOCation?
 | {EYE | CGRade}:BITRate:SOURce
 | {EYE | CGRade}:BITRate:STATus?
 | {EYE | CGRade}:BITRate:STATus:REASon?
Crossing Time | {EYE | CGRade}:ECTime
 | {EYE | CGRade}:ECTime:LOCation?
 | {EYE | CGRade}:ECTime:SOURce
 | {EYE | CGRade}:ECTime:STATus?
 | {EYE | CGRade}:ECTime:STATus:REASon?
Database Peak Hits | {EYE | CGRade}:PEAK
 | {EYE | CGRade}:PEAK:LOCation?
 | {EYE | CGRade}:PEAK:SOURce
 | {EYE | CGRade}:PEAK:STATus?
 | {EYE | CGRade}:PEAK:STATus:REASon?
Delta Time (Δ Time) | {EYE | CGRade}:DELTatime
 | {EYE | CGRade}:DELTatime:LOCation?
 | {EYE | CGRade}:DELTatime:SOURce
 | {EYE | CGRade}:DELTatime:STATus?
 | {EYE | CGRade}:DELTatime:STATus:REASon?
Duty Cycle Distortion (DCDtime or DCD%) | {EYE | CGRade}:DCDistortion
 | {EYE | CGRade}:DCDistortion:FORMat
 | {EYE | CGRade}:DCDistortion:LOCation?
 | {EYE | CGRade}:DCDistortion:SOURce
 | {EYE | CGRade}:DCDistortion:STATus?
 | {EYE | CGRade}:DCDistortion:STATus:REASon?
Extinction Ratio (ERDecibel, ER%, or ERratio) | {EYE | CGRade}:ERATio
 | {EYE | CGRade}:ERATio:UNITs
 | {EYE | CGRade}:ERATio:LOCation?
 | {EYE | CGRade}:ERATio:SOURce
 | {EYE | CGRade}:ERATio:STATus?
 | {EYE | CGRade}:ERATio:STATus:REASon?
Eye Amplitude | {EYE | CGRade}:AMPLitude
 | {EYE | CGRade}:AMPLitude:LOCation?
 | {EYE | CGRade}:AMPLitude:SOURce
 | {EYE | CGRade}:AMPLitude:STATus?
 | {EYE | CGRade}:AMPLitude:STATus:REASon?
Eye Crossing Percentage | {EYE | CGRade}:CROSsing
 | {EYE | CGRade}:CROSsing:LOCation?
 | {EYE | CGRade}:CROSsing:SOURce
 | {EYE | CGRade}:CROSsing:STATus?
 | {EYE | CGRade}:CROSsing:STATus:REASon?
Eye Height (amplitude or ratio) | {EYE | CGRade}:EHEight
 | {EYE | CGRade}:EHEight:FORMat
 | {EYE | CGRade}:EHEight:LOCation?
 | {EYE | CGRade}:EHEight:SOURce
 | {EYE | CGRade}:EHEight:STATus?
 | {EYE | CGRade}:EHEight:STATus:REASon?
Eye Width | {EYE | CGRade}:EWIDth
 | {EYE | CGRade}:EWIDth:FORMat
 | {EYE | CGRade}:EWIDth:LOCation?
 | {EYE | CGRade}:EWIDth:SOURce
 | {EYE | CGRade}:EWIDth:STATus?
 | {EYE | CGRade}:EWIDth:STATus:REASon?
Fall Time | {EYE | CGRade}:FALLtime
 | {EYE | CGRade}:FALLtime:LOCation?
 | {EYE | CGRade}:FALLtime:SOURce
 | {EYE | CGRade}:FALLtime:STATus?
 | {EYE | CGRade}:FALLtime:STATus:REASon?
Jitterrms or Jitterp-p | {EYE | CGRade}:JITTer
 | {EYE | CGRade}:JITTer:FORMat
 | {EYE | CGRade}:JITTer:LOCation?
 | {EYE | CGRade}:JITTer:SOURce
 | {EYE | CGRade}:JITTer:STATus?
 | {EYE | CGRade}:JITTer:STATus:REASon?
One Level | {EYE | CGRade}:OLEVel
 | {EYE | CGRade}:OLEVel:LOCation?
 | {EYE | CGRade}:OLEVel:SOURce
 | {EYE | CGRade}:OLEVel:STATus?
 | {EYE | CGRade}:OLEVel:STATus:REASon?
Rise Time | {EYE | CGRade}:RISetime
 | {EYE | CGRade}:RISetime:LOCation?
 | {EYE | CGRade}:RISetime:SOURce
 | {EYE | CGRade}:RISetime:STATus?
 | {EYE | CGRade}:RISetime:STATus:REASon?
Signal-to-Noise | {EYE | CGRade}:ESN
 | {EYE | CGRade}:ESN:LOCation?
 | {EYE | CGRade}:ESN:SOURce
 | {EYE | CGRade}:ESN:STATus?
 | {EYE | CGRade}:ESN:STATus:REASon?
TDEC | {EYE | CGRade}:TDEC
 | {EYE | CGRade}:TDEC:LOCation?
 | {EYE | CGRade}:TDEC:OMA:METHod
 | {EYE | CGRade}:TDEC:OMA:VALue
 | {EYE | CGRade}:TDEC:SOURce
 | {EYE | CGRade}:TDEC:STATus?
 | {EYE | CGRade}:TDEC:STATus:REASon?
Zero Level | {EYE | CGRade}:ZLEVel
 | {EYE | CGRade}:ZLEVel:LOCation?
 | {EYE | CGRade}:ZLEVel:SOURce
 | {EYE | CGRade}:ZLEVel:STATus?
 | {EYE | CGRade}:ZLEVel:STATus:REASon?

  • Learn More


:MEASure Subsystem PAM 4 Eye Commands

PAM-4 License Required

The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

With option PAM-N Analysis license, use the following commands to perform electrical and optical measurements on Pulse Amplitude Modulation (PAM-4) waveforms in Eye/Mask mode. Other commands are available for performing PAM-4 measurements in Oscilloscope mode.

Measurement Configuration Commands

  • PAM:AMPLitude:UNITs (Amplitude Units)
  • PAM:EYE:ESTiming (Receiver Sample Timing)
  • PAM:EYE:ELMethod (Eye Center Location)
  • PAM:EYE:PPERcent (Eye Level Width)
  • PAM:EYE:TIME:LTDefinition (Time of Level)
  • PAM:EYE:TIME:UNITs (Time Units)
Measurements Affected by Configuration Commands
PAM Measurement | :MEASure:PAM: Child Commands
 | EYE:ESTiming | EYE:ELMethod | EYE:PPERcent | EYE:TIME:LTDefinition | EYE:TIME:UNITs | AMPLitude:UNITs
Symbol definitions. ♦ = setting affects measurement. ◊ = setting may affect measurement.
EYE:PAM:LEVel (Levels) | ◊ | ◊ | ♦ | ♦ |  | ♦
EYE:PAM:PP (Levels Peak-Peak) | ◊ | ◊ | ♦ | ♦ |  | ♦
EYE:PAM:RMS (Levels RMS) | ◊ | ◊ | ♦ | ♦ |  | ♦
EYE:PAM:SKEW (Level Skews) | ♦ | ♦ | ♦ | ♦ | ♦ |
EYE:PAM:ELEVel (Eye Levels) | ♦ | ♦ | ♦ |  |  | ♦
EYE:PAM:ESKew (Eye Skews) | ♦ | ♦ | ♦ |  | ♦ |
EYE:PAM:EHeight (Eye Heights) | ♦ | ♦ | ♦ |  |  | ♦
EYE:PAM:EWidth (Eye Widths) | ♦ | ♦ |  |  | ♦ |
EYE:PAM:LINearity (Linearity) | ♦ | ♦ | ♦ | ♦ |  |

Measurement Commands

  • EYE:PAM:EHeight
  • EYE:PAM:EHeight:DEFine:EOPening
  • EYE:PAM:EHeight:DEFine:EOPening:PROBability
  • EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize
  • EYE:PAM:EHeight:DEFine:EOPening:RJSValue:EYE
  • EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize
  • EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel
  • EYE:PAM:EHeight:EYE
  • EYE:PAM:EHeight:LOCation?
  • EYE:PAM:EHeight:SOURce
  • EYE:PAM:EHeight:STATus?
  • EYE:PAM:EHeight:STATus:REASon?
  • EYE:PAM:ELEVel
  • EYE:PAM:ELEVel:EYE
  • EYE:PAM:ELEVel:LOCation?
  • EYE:PAM:ELEVel:SOURce
  • EYE:PAM:ELEVel:STATus?
  • EYE:PAM:ELEVel:STATus:REASon?
  • EYE:PAM:ESKew
  • EYE:PAM:ESKew:EYE
  • EYE:PAM:ESKew:LOCation?
  • EYE:PAM:ESKew:SOURce
  • EYE:PAM:ESKew:STATus?
  • EYE:PAM:ESKew:STATus:REASon?
  • EYE:PAM:EWidth
  • EYE:PAM:EWidth:DEFine:EOPening
  • EYE:PAM:EWidth:DEFine:EOPening:PROBability
  • EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize
  • EYE:PAM:EWIDth:DEFine:EOPening:RJSValue:EYE
  • EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize
  • EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel
  • EYE:PAM:EWidth:EYE
  • EYE:PAM:EWidth:LOCation?
  • EYE:PAM:EWidth:SOURce
  • EYE:PAM:EWidth:STATus?
  • EYE:PAM:EWidth:STATus:REASon?
  • EYE:PAM:LEVel
  • EYE:PAM:LEVel:LEVel
  • EYE:PAM:LEVel:LOCation?
  • EYE:PAM:LEVel:SOURce
  • EYE:PAM:LEVel:STATus?
  • EYE:PAM:LEVel:STATus:REASon?
  • EYE:PAM:LINearity
  • EYE:PAM:LINearity:LOCation
  • EYE:PAM:LINearity:SOURce
  • EYE:PAM:LINearity:STATus?
  • EYE:PAM:LINearity:STATus:REASon?
  • EYE:PAM:PP
  • EYE:PAM:PP:LEVel
  • EYE:PAM:PP:LOCation?
  • EYE:PAM:PP:SOURce
  • EYE:PAM:PP:STATus?
  • EYE:PAM:PP:STATus:REASon?
  • EYE:PAM:RMS
  • EYE:PAM:RMS:LEVel
  • EYE:PAM:RMS:LOCation?
  • EYE:PAM:RMS:SOURce
  • EYE:PAM:RMS:STATus?
  • EYE:PAM:RMS:STATus:REASon?
  • EYE:PAM:SKEW
  • EYE:PAM:SKEW:LEVel
  • EYE:PAM:SKEW:LOCation?
  • EYE:PAM:SKEW:SOURce
  • EYE:PAM:SKEW:STATus?
  • EYE:PAM:SKEW:STATus:REASon?

More Information

  • Overall PAM-4 measurement algorithm for Eye mode
  • Learn More


:MEASure Subsystem Advanced Eye Commands

Example Program

An example program is provided that shows how to make eye-mask measurements with limit testing. Example are provided for C#.NET, Labview, Matlab, and Python. Look in the 86100D (or PC) installation folder: \Keysight\FlexDCA\Demo\Example Programs

The commands documented in this topic are used to perform measurements that are enabled in the Option 402, Advanced Eye Analysis. Advanced eye provides the ability to Measure TJ (Total Jitter), DJ (Deterministic Jitter) and RJ (Random Jitter) on patterns longer than PRBS16, such as PRBS31, and to perform mask testing based on BER eye contours.

Requires Option 401, Advanced Eye Analysis Software license.

To define the waveform's eye, use the Eye Boundary Configuration Commands, Top/Base Configuration Commands, and Threshold Configuration Commands.

For these commands, two identical nodes exist: :EYE and :CGRade. These nodes are equivalent and you can use either one at any time, but it is recommended that you consistently use :EYE. The :CGRade node is provided for legacy reasons. For example, the following two commands are equivalent:

:MEASure:EYE:FALLtime
:MEASure:CGRade:FALLtime

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

DI (Deterministic Interference)

  • EYE:DI
  • EYE:DI:LEVel
  • EYE:DI:LOCation
  • EYE:DI:RNSTabilize
  • EYE:DI:RNSValue:LEVel
  • EYE:DI:SOURce
  • EYE:DI:STATus
  • EYE:DI:STATus:REASon

DJ (Deterministic Jitter)

  • EYE:DJ
  • EYE:DJ:EYE
  • EYE:DJ:LOCation?
  • EYE:DJ:RJSTabilize
  • EYE:DJ:RJSValue:EYE
  • EYE:DJ:SOURce
  • EYE:DJ:STATus?
  • EYE:DJ:STATus:REASon?

JN (J2, J5, J9)

  • EYE:JN
  • EYE:JN:EYE
  • EYE:JN:LOCation?
  • EYE:JN:RJSTabilize
  • EYE:JN:RJSValue:EYE
  • EYE:JN:SJN
  • EYE:JN:SOURce
  • EYE:JN:STATus?
  • EYE:JN:STATus:REASon?

RJ (Random Jitter)

  • EYE:RJ
  • EYE:RJ:EYE
  • EYE:RJ:LOCation?
  • EYE:RJ:RJSTabilize
  • EYE:RJ:RJSValue:EYE
  • EYE:RJ:SOURce
  • EYE:RJ:STATus?
  • EYE:RJ:STATus:REASon?

RN (Random Noise)

  • EYE:RN
  • EYE:RN:LEVel
  • EYE:RN:LOCation
  • EYE:RN:RNSTabilize
  • EYE:RN:RNSValue:LEVel
  • EYE:RN:SOURce
  • EYE:RN:STATus
  • EYE:RN:STATus:REASon

TI (Total Interference)

  • EYE:TI
  • EYE:TI:LEVel
  • EYE:TI:LOCation
  • EYE:TI:RNSTabilize
  • EYE:TI:RNSValue:LEVel
  • EYE:TI:SOURce
  • EYE:TI:STATus
  • EYE:TI:STATus:REASon
  • EYE:TI:TIBer

TJ (Total Jitter)

  • EYE:TJ
  • EYE:TJ:EYE
  • EYE:TJ:LOCation?
  • EYE:TJ:RJSTabilize
  • EYE:TJ:RJSValue:EYE
  • EYE:TJ:SOURce
  • EYE:TJ:STATus?
  • EYE:TJ:STATus:REASon?
  • EYE:TJ:TJBer

Deprecated Commands

  • EYE:DJ:RJSValue (deprecated A.05.30)
  • EYE:JN:RJSValue (deprecated A.05.30)
  • EYE:RJ:RJSValue (deprecated A.05.30)
  • EYE:TJ:RJSValue (deprecated A.05.30)

  • Learn More


:MEASure Subsystem Eye User Measurement Commands

Use Eye user measurement commands to create custom user-defined measurements that are based on Matlab or Python scripts. When the measurement is created, a button is automatically placed on Eye Mode's User toolbar.

License Required

User Opterators and User Defined Measurements are provided with the N1010A-201 Advanced Waveform Analysis license.

  • EYE:USER
  • EYE:USER:ABBReviation?
  • EYE:USER:CFILe
  • EYE:USER:CFILe:CLEar
  • EYE:USER:CFILe:RELoad
  • EYE:USER:CFLoaded?
  • EYE:USER:COMMents?
  • EYE:USER:LOCation?
  • EYE:USER:LSTatus?
  • EYE:USER:LSTatus:REASon?
  • EYE:USER:NAME?
  • EYE:USER:SOURce
  • EYE:USER:STATus?
  • EYE:USER:STATus:REASon?

  • Learn More


:MEASure Subsystem Eye Results Table Commands

To define the waveform's eye, use the Eye Boundary Configuration Commands, Top/Base Configuration Commands, and Threshold Configuration Commands.

For these commands, two identical nodes exist: :EYE and :CGRade. These nodes are equivalent and you can use either one at any time, but it is recommended that you consistently use :EYE. The :CGRade node is provided for legacy reasons. For example, the following two commands are equivalent:

:MEASure:EYE:FALLtime
:MEASure:CGRade:FALLtime

Results Table Commands

  • {EYE | CGRade}:LIST:CLEar
  • {EYE | CGRade}:LIST:REMove
  • {EYE | CGRade}:LIST:SELect

  • Learn More


:MEASure Subsystem Histogram Commands

Use the following commands to query the results that are shown in the Histogram pane.

Measurement Commands

  • HISTogram{1:4}:HITS?
  • HISTogram{1:4}:HITS:LOCation?
  • HISTogram{1:4}:HITS:STATus?
  • HISTogram{1:4}:HITS:STATus:REASon?
  • HISTogram{1:4}:M1S?
  • HISTogram{1:4}:M1S:LOCation?
  • HISTogram{1:4}:M1S:STATus?
  • HISTogram{1:4}:M1S:STATus:REASon?
  • HISTogram{1:4}:M2S?
  • HISTogram{1:4}:M2S:LOCation?
  • HISTogram{1:4}:M2S:STATus?
  • HISTogram{1:4}:M2S:STATus:REASon?
  • HISTogram{1:4}:M3S?
  • HISTogram{1:4}:M3S:LOCation?
  • HISTogram{1:4}:M3S:STATus?
  • HISTogram{1:4}:M3S:STATus:REASon?
  • HISTogram{1:4}:MEAN?
  • HISTogram{1:4}:MEAN:LOCation?
  • HISTogram{1:4}:MEAN:STATus?
  • HISTogram{1:4}:MEAN:STATus:REASon?
  • HISTogram{1:4}:MEDian?
  • HISTogram{1:4}:MEDian:LOCation?
  • HISTogram{1:4}:MEDian:STATus?
  • HISTogram{1:4}:MEDian:STATus:REASon?
  • HISTogram{1:4}:PEAK?
  • HISTogram{1:4}:PEAK:LOCation?
  • HISTogram{1:4}:PEAK:STATus?
  • HISTogram{1:4}:PEAK:STATus:REASon?
  • HISTogram{1:4}:PP?
  • HISTogram{1:4}:PP:LOCation?
  • HISTogram{1:4}:PP:STATus?
  • HISTogram{1:4}:PP:STATus:REASon?
  • HISTogram{1:4}:PPOSition?
  • HISTogram{1:4}:PPOSition:LOCation?
  • HISTogram{1:4}:PPOSition:STATus?
  • HISTogram{1:4}:PPOSition:STATus:REASon?
  • HISTogram{1:4}:SCALe?
  • HISTogram{1:4}:SCALe:LOCation?
  • HISTogram{1:4}:SCALe:STATus?
  • HISTogram{1:4}:SCALe:STATus:REASon?
  • HISTogram{1:4}:STDDev?
  • HISTogram{1:4}:STDDev:LOCation?
  • HISTogram{1:4}:STDDev:STATus?
  • HISTogram{1:4}:STDDev:STATus:REASon?

See Also

  • AMPLitude:ISIHist:SAMPles?
  • AMPLitude:RNPIhist:SAMPles?
  • AMPLitude:TIHist:SAMPles?
  • JITTer:DDJHist:SAMPles?
  • JITTer:RJPJhist:SAMPles?
  • JITTer:TJHist:SAMPles?
  • JITTer:DEFine:EDGe

  • Learn More


:MEASure Subsystem Jitter Commands

Jitter measurements require a Jitter Mode software license (86100D-200 or N1010A-200.

Example Program

An example program is provided that shows how to make jitter measurements with limit testing. Example are provided for C#.NET, Labview, Matlab, and Python. Look in the 86100D (or PC) installation folder:
\Keysight\FlexDCA\Demo\Example Programs

Measurement | Command
Bounded Uncorrelated Jitter (BUJδ - δ) | JITTer:BUJ
 | JITTer:BUJ:LOCation?
 | JITTer:BUJ:SOURce
 | JITTer:BUJ:STATus?
 | JITTer:BUJ:STATus:REASon?
Bounded Uncorrelated Jitter (BUJrms) | JITTer:BUJRms
 | JITTer:BUJRms:LOCation?
 | JITTer:BUJRms:SOURce
 | JITTer:BUJRms:STATus?
 | JITTer:BUJRms:STATus:REASon?
Duty Cycle Distortion (DCD) | JITTer:DCD
 | JITTer:DCD:LOCation?
 | JITTer:DCD:SOURce
 | JITTer:DCD:STATus?
 | JITTer:DCD:STATus:REASon?
Data-Dependent Jitter (DDJ) | JITTer:DDJ
 | JITTer:DDJ:LOCation?
 | JITTer:DDJ:SOURce
 | JITTer:DDJ:STATus?
 | JITTer:DDJ:STATus:REASon?
Returns DDJ Histogram Samples | JITTer:DDJHist:SAMPles?
Return DDJ values for each measured edge | JITTer:DDJVsbit?
 | JITTer:DDJVsbit:BITS?
 | JITTer:DDJVsbit:EARLiest?
 | JITTer:DDJVsbit:LATest?
Data Dependant Pulse Width Shrinkage (DDPWS) | JITTer:DDPWs
 | JITTer:DDPWs:LOCation?
 | JITTer:DDPWs:SOURce
 | JITTer:DDPWs:STATus?
 | JITTer:DDPWs:STATus:REASon?
Deterministic Jitter (DJ) | JITTer:DJ
 | JITTer:DJ:LOCation?
 | JITTer:DJ:SOURce
 | JITTer:DJ:STATus?
 | JITTer:DJ:STATus:REASon?
Returns an ordered list of edge bit numbers | JITTer:EBITs?
F/2 (also known as Even-Odd) jitter which occurs as the result of timing data with a half-rate clock. | JITTer:FOVer2
 | JITTer:FOVer2:LOCation?
 | JITTer:FOVer2:SOURce
 | JITTer:FOVer2:STATus?
 | JITTer:FOVer2:STATus:REASon?
Inter-Symbol Interference (ISI) | JITTer:ISI
 | JITTer:ISI:LOCation?
 | JITTer:ISI:SOURce
 | JITTer:ISI:STATus?
 | JITTer:ISI:STATus:REASon?
J2 and J9 | JITTer:JN
 | JITTer:JN:LOCation?
 | JITTer:JN:SOURce
 | JITTer:JN:STATus?
 | JITTer:JN:STATus:REASon?
Selects J2 and J9 measurement results for TJ associated with a specific bit error ratio (BER) | JITTer:JN:SJN
Displays or moves the jitter sampling level (Meas. Level) to the top of the Results table | JITTer:LEVel
 | JITTer:LEVel:LOCation?
 | JITTer:LEVel:SOURce
 | JITTer:LEVel:STATus?
 | JITTer:LEVel:STATus:REASon?
Returns each value in the pattern | JITTer:PATTern?
Periodic Jitter (PJδ - δ) | JITTer:PJ
 | JITTer:PJ:LOCation?
 | JITTer:PJ:SOURce
 | JITTer:PJ:STATus?
 | JITTer:PJ:STATus:REASon?
Periodic Jitter (PJrms) | JITTer:PJRMs
 | JITTer:PJRMs:LOCation?
 | JITTer:PJRMs:SOURce
 | JITTer:PJRMs:STATus?
 | JITTer:PJRMs:STATus:REASon?
Random Jitter (RJ) | JITTer:RJ
 | JITTer:RJ:LOCation?
 | JITTer:RJ:SOURce
 | JITTer:RJ:STATus?
 | JITTer:RJ:STATus:REASon?
Returns RJ and PJ Histogram Samples | JITTer:RJPJhist:SAMPles?
Returns the method used to separate any Bounded Uncorrelated Jitter (BUJ) from the Random Jitter (RJ) | JITTer:SMEThod?
Total Jitter (TJ) | JITTer:TJ
 | JITTer:TJ:LOCation?
 | JITTer:TJ:SOURce
 | JITTer:TJ:STATus?
 | JITTer:TJ:STATus:REASon?
Returns TJ Histogram Samples | JITTer:TJHist:SAMPles?
Uncorrelated Jitter (UJ) | JITTer:UJ
 | JITTer:UJ:LOCation?
 | JITTer:UJ:SOURce
 | JITTer:UJ:STATus?
 | JITTer:UJ:STATus:REASon?

More Information

  • Jitter Components Tree
  • Learn More


:MEASure Subsystem Jitter Definition Commands

Jitter measurements require a Jitter Mode software license (86100D-200 or N1010A-200.

  • JITTer:DEFine:EDGe
  • JITTer:DEFine:LEVel:CUSTom
  • JITTer:DEFine:LEVel:PERCent
  • JITTer:DEFine:LEVel:TYPe
  • JITTer:DEFine:RJComp
  • JITTer:DEFine:RJCValue
  • JITTer:DEFine:RJSTabilize
  • JITTer:DEFine:RJSValue
  • JITTer:DEFine:RJSValue:GMRJ
  • JITTer:DEFine:SIGNal
  • JITTer:DEFine:SIGNal:AUTodetect
  • JITTer:DEFine:SMEThod
  • JITTer:DEFine:TJBer
  • JITTer:DEFine:UNITs
  • JITTer:LJMode
  • JITTer:SMEThod?

  • Learn More


:MEASure Subsystem Jitter Results Table Commands

Jitter measurements require a Jitter Mode software license (86100D-200 or N1010A-200.

  • JITTer:LIST:CLEar
  • JITTer:LIST:DEFault
  • JITTer:LIST:REMove
  • JITTer:LIST:SELect

  • Learn More


:MEASure Subsystem Acquisition Commands

  • ACQuire:ECOunt?


:MEASure Subsystem Limit-Test Commands

  • LTESt:ACQuire:COUNt?
  • LTESt:MLIMit:FAILures?
  • LTESt:MLIMit:WAVeforms?


:MEASure Subsystem Limit-Test Limit-Lines Commands

The following limit-line queries allow you to return information on failed datapoints for limit lines. Limit lines are defined in ASCII files and are loaded and displayed using the :LLINe subsystem.

  • LLINe:FPOints?
  • LLINe:FPOints:STATus?
  • LLINe:FPOints:STATus:REASon?
  • LLINe:LINE:FPOints?
  • LLINe:LINE:FPOints:STATus?
  • LLINe:LINE:FPOints:STATus:REASon?
  • LLINe:LINE:MARGin?
  • LLINe:LINE:MARGin:STATus?
  • LLINe:LINE:MARGin:STATus:REASon?
  • LLINe:LINE:MLOCation?
  • LLINe:LINE:MLOCation:STATus?
  • LLINe:LINE:MLOCation:STATus:REASon?
  • LLINe:MARGin?
  • LLINe:MARGin:STATus?
  • LLINe:MARGin:STATus:REASon?
  • LLINe:MLOCation?
  • LLINe:MLOCation:STATus?
  • LLINe:MLOCation:STATus:REASon?

The following drawing shows two limit lines, with each limit line being defined in a separate file. Each limit line in this picture defines four points which results in three lines numbered from left to right. Limit line 1 is an upper (maximum) limit line where any data points above that the limit line results in a failed point. Limit line 2 is an lower (minimum) limit line where any data points below the limit line results in a failed point. Failed data points are shown in the color red. The failed-points margin is defined to be the largest excursion of all failed points into the fail region for a given limit line or individual line within a limit line. The margin is returned in the current amplitude units, with positive values returned for maximum limit lines and negative values for minimum limit lines. The time location of failed points margins can be queried.

Use the :MEASure:LLINe:FPOints? query to return the total number of failures for a given limit line. Use the :MEASure:LLINe:LINE:FPOints? query to return the total number of failures for a specific line within a limit line. Use the :MEASure:LLINe:MARGin? and :MEASure:LLINe:LINE:MARGin? queries to return margins. Use the :MEASure:LLINe:MLOCation? and :MEASure:LLINe:LINE: MLOCation ? queries to return the time value at a margin location.


:MEASure Subsystem Marker Commands

Use the following commands to query the results that are shown in the Marker pane.

Example Python Script

Click these links to an example script that uses marker queries.

  • Python 3.4 version
  • Python 2.7 version

Measurement Commands

  • MARKer:DX?
  • MARKer:DX:STATus?
  • MARKer:DX:STATus:REASon?
  • MARKer:DY?
  • MARKer:DY:STATus?
  • MARKer:DY:STATus:REASon?
  • MARKer:IDX?
  • MARKer:IDX:STATus?
  • MARKer:IDX:STATus:REASon?
  • MARKer:Y?
  • MARKer:Y:STATus?
  • MARKer:Y:STATus:REASon?

Deprecated Commands

  • MARKer:IXDelta? (deprecated A.03.00)
  • MARKer:IXDelta:STATus? (deprecated A.03.00)
  • MARKer:IXDelta:STATus:REASon? (deprecated A.03.00)
  • MARKer:XDELta? (deprecated A.03.00)
  • MARKer:XDELta:STATus? (deprecated A.03.00)
  • MARKer:XDELta:STATus:REASon? (deprecated A.03.00)
  • MARKer:YDELta? (deprecated A.03.00)
  • MARKer:YDELta:STATus? (deprecated A.03.00)
  • MARKer:YDELta:STATus:REASon? (deprecated A.03.00)

  • Learn More


:MEASure Subsystem Mask Test Commands

Use the following commands to query the results that are shown in the Mask Test pane.

Total Mask Hits

  • MTESt{1:16}:HITS?
  • MTESt{1:16}:HITS:LOCation?
  • MTESt{1:16}:HITS:STATus?
  • MTESt{1:16}:HITS:STATus:REASon?

Hit Ratio

  • MTESt{1:16}:HRatio?
  • MTESt{1:16}:HRatio:LOCation?
  • MTESt{1:16}:HRatio:STATus?
  • MTESt{1:16}:HRatio:STATus:REASon?

Mask Region (1 to 16)

  • MTESt{1:16}:HREGion{1:16}?
  • MTESt{1:16}:HREGion{1:16}:LOCation?
  • MTESt{1:16}:HREGion{1:16}:STATus?
  • MTESt{1:16}:HREGion{1:16}:STATus:REASon?

Margin

  • MTESt{1:16}:MARGin?
  • MTESt{1:16}:MARGin:LOCation?
  • MTESt{1:16}:MARGin:STATus?
  • MTESt{1:16}:MARGin:STATus:REASon?

Total Margin Hits

  • MTESt{1:16}:MHITs?
  • MTESt{1:16}:MHITs:LOCation?
  • MTESt{1:16}:MHITs:STATus?
  • MTESt{1:16}:MHITs:STATus:REASon?

Mask + Margin Region (1 to 16)

  • MTESt{1:16}:MHRegion{1:16}?
  • MTESt{1:16}:MHRegion{1:16}:LOCation?
  • MTESt{1:16}:MHRegion{1:16}:STATus?
  • MTESt{1:16}:MHRegion{1:16}:STATus:REASon?

Hit Ratio Confidence

  • MTESt{1:16}:MUNCertainty?
  • MTESt{1:16}:MUNCertainty:LOCation?
  • MTESt{1:16}:MUNCertainty:STATus?
  • MTESt{1:16}:MUNCertainty:STATus:REASon?

Samples/UI

  • MTESt{1:16}:NSAMples?
  • MTESt{1:16}:NSAMples:LOCation?
  • MTESt{1:16}:NSAMples:STATus?
  • MTESt{1:16}:NSAMples:STATus:REASon?

Waveform Count

  • MTESt{1:16}:NWAVeforms?
  • MTESt{1:16}:NWAVeforms:LOCation?
  • MTESt{1:16}:NWAVeforms:STATus?
  • MTESt{1:16}:NWAVeforms:STATus:REASon?

Total Margin Mask Violations

  • MTESt{1:16}:THITs?
  • MTESt{1:16}:THITs:LOCation?
  • MTESt{1:16}:THITs:STATus?
  • MTESt{1:16}:THITs:STATus:REASon?

Total Failures for Region

  • MTESt{1:16}:THRegion{1:16}?
  • MTESt{1:16}:THRegion{1:16}:LOCation?
  • MTESt{1:16}:THRegion{1:16}:STATus?
  • MTESt{1:16}:THRegion{1:16}:STATus:REASon?

  • Learn More


:MEASure Subsystem Oscilloscope Commands

To define the waveform's eye, use the Top/Base Configuration Commands and Threshold Configuration Commands. To define measurement regions, use the :REGions commands.

Measurement | Command
Average Power | OSCilloscope:APOWer
 | OSCilloscope:APOWer:LOCation?
 | OSCilloscope:APOWer:SOURce
 | OSCilloscope:APOWer:STATus?
 | OSCilloscope:APOWer:STATus:REASon?
 | OSCilloscope:APOWer:UNITs
Δ Time (Delta Time) | OSCilloscope:DELTatime
 | OSCilloscope:DELTatime:EDIRection{1|2}
 | OSCilloscope:DELTatime:ENUMber{1|2}
 | OSCilloscope:DELTatime:ETHReshold{1|2}
 | OSCilloscope:DELTatime:LOCation?
 | OSCilloscope:DELTatime:REGion
 | OSCilloscope:DELTatime:SOURce
 | OSCilloscope:DELTatime:STATus?
 | OSCilloscope:DELTatime:STATus:REASon?
Duty Cycle | OSCilloscope:DUTYcycle
 | OSCilloscope:DUTYcycle:LOCation?
 | OSCilloscope:DUTYcycle:REGion
 | OSCilloscope:DUTYcycle:SOURce
 | OSCilloscope:DUTYcycle:STATus?
 | OSCilloscope:DUTYcycle:STATus:REASon?
Fall Time | OSCilloscope:FALLtime
 | OSCilloscope:FALLtime:LOCation?
 | OSCilloscope:FALLtime:REGion
 | OSCilloscope:FALLtime:SOURce
 | OSCilloscope:FALLtime:STATus?
 | OSCilloscope:FALLtime:STATus:REASon?
Frequency | OSCilloscope:FREQuency
 | OSCilloscope:FREQuency:LOCation?
 | OSCilloscope:FREQuency:REGion
 | OSCilloscope:FREQuency:SOURce
 | OSCilloscope:FREQuency:STATus?
 | OSCilloscope:FREQuency:STATus:REASon?
Jitterrms or Jitterp-p | OSCilloscope:JITTer
 | OSCilloscope:JITTer:FORMat
 | OSCilloscope:JITTer:LOCation?
 | OSCilloscope:JITTer:SOURce
 | OSCilloscope:JITTer:STATus?
 | OSCilloscope:JITTer:STATus:REASon?
Negative Pulse Width | OSCilloscope:NWIDth
 | OSCilloscope:NWIDth:LOCation?
 | OSCilloscope:NWIDth:REGion
 | OSCilloscope:NWIDth:SOURce
 | OSCilloscope:NWIDth:STATus?
 | OSCilloscope:NWIDth:STATus:REASon?
Optical Modulation Amplitude (OMA) | OSCilloscope:OMAmplitude
 | OSCilloscope:OMAmplitude:LOCation?
 | OSCilloscope:OMAmplitude:REGion
 | OSCilloscope:OMAmplitude:SOURce
 | OSCilloscope:OMAmplitude:STATus?
 | OSCilloscope:OMAmplitude:STATus:REASon?
Overshoot | OSCilloscope:OVERshoot
 | OSCilloscope:OVERshoot:LOCation?
 | OSCilloscope:OVERshoot:REGion
 | OSCilloscope:OVERshoot:SOURce
 | OSCilloscope:OVERshoot:STATus?
 | OSCilloscope:OVERshoot:STATus:REASon?
PHASe | OSCilloscope:PHASe
 | OSCilloscope:PHASe:EDIRection
 | OSCilloscope:PHASe:ENUMber
 | OSCilloscope:PHASe:ETHReshold
 | OSCilloscope:PHASe:LOCation?
 | OSCilloscope:PHASe:REGion
 | OSCilloscope:PHASe:SOURce
 | OSCilloscope:PHASe:STATus?
 | OSCilloscope:PHASe:STATus:REASon?
Period | OSCilloscope:PERiod
 | OSCilloscope:PERiod:LOCation?
 | OSCilloscope:PERiod:REGion
 | OSCilloscope:PERiod:SOURce
 | OSCilloscope:PERiod:STATus?
 | OSCilloscope:PERiod:STATus:REASon?
Preshoot | OSCilloscope:PREShoot
 | OSCilloscope:PREShoot:LOCation?
 | OSCilloscope:PREShoot:REGion
 | OSCilloscope:PREShoot:SOURce
 | OSCilloscope:PREShoot:STATus?
 | OSCilloscope:PREShoot:STATus:REASon?
Positive Pulse Width | OSCilloscope:PWIDth
 | OSCilloscope:PWIDth:LOCation?
 | OSCilloscope:PWIDth:REGion
 | OSCilloscope:PWIDth:SOURce
 | OSCilloscope:PWIDth:STATus?
 | OSCilloscope:PWIDth:STATus:REASon?
Rise Time | OSCilloscope:RISetime
 | OSCilloscope:RISetime:LOCation?
 | OSCilloscope:RISetime:REGion
 | OSCilloscope:RISetime:SOURce
 | OSCilloscope:RISetime:STATus?
 | OSCilloscope:RISetime:STATus:REASon?
Time-at-Edge | OSCilloscope:TEDGe
 | OSCilloscope:TEDGe:DIRection
 | OSCilloscope:TEDGe:LOCation?
 | OSCilloscope:TEDGe:REGion
 | OSCilloscope:TEDGe:NUMBer
 | OSCilloscope:TEDGe:SOURce
 | OSCilloscope:TEDGe:STATus?
 | OSCilloscope:TEDGe:STATus:REASon?
 | OSCilloscope:TEDGe:THReshold
Time-at-Maximum | OSCilloscope:TMAXimum
 | OSCilloscope:TMAXimum:LOCation?
 | OSCilloscope:TMAXimum:REGion
 | OSCilloscope:TMAXimum:SOURce
 | OSCilloscope:TMAXimum:STATus?
 | OSCilloscope:TMAXimum:STATus:REASon?
Time-at-Minimum | OSCilloscope:TMINimum
 | OSCilloscope:TMINimum:LOCation?
 | OSCilloscope:TMINimum:REGion
 | OSCilloscope:TMINimum:SOURce
 | OSCilloscope:TMINimum:STATus?
 | OSCilloscope:TMINimum:STATus:REASon?
Time-at-Amplitude | OSCilloscope:TVOLt
 | OSCilloscope:TVOLt:EDIRection
 | OSCilloscope:TVOLt:ENUMber
 | OSCilloscope:TVOLt:LOCation?
 | OSCilloscope:TVOLt:REGion
 | OSCilloscope:TVOLt:SOURce
 | OSCilloscope:TVOLt:STATus?
 | OSCilloscope:TVOLt:STATus:REASon?
 | OSCilloscope:TVOLt:YVALue
Amplitude | OSCilloscope:VAMPlitude
 | OSCilloscope:VAMPlitude:LOCation?
 | OSCilloscope:VAMPlitude:REGion
 | OSCilloscope:VAMPlitude:SOURce
 | OSCilloscope:VAMPlitude:STATus?
 | OSCilloscope:VAMPlitude:STATus:REASon?
Average Amplitude (over single cycle or entire display) | OSCilloscope:VAVerage
 | OSCilloscope:VAVerage:AREa
 | OSCilloscope:VAVerage:LOCation?
 | OSCilloscope:VAVerage:REGion
 | OSCilloscope:VAVerage:SOURce
 | OSCilloscope:VAVerage:STATus?
 | OSCilloscope:VAVerage:STATus:REASon?
Waveform Base | OSCilloscope:VBASe
 | OSCilloscope:VBASe:LOCation?
 | OSCilloscope:VBASe:REGion
 | OSCilloscope:VBASe:SOURce
 | OSCilloscope:VBASe:STATus?
 | OSCilloscope:VBASe:STATus:REASon?
Amplitude-at-Lower | OSCilloscope:VLOWer
 | OSCilloscope:VLOWer:LOCation?
 | OSCilloscope:VLOWer:REGion
 | OSCilloscope:VLOWer:SOURce
 | OSCilloscope:VLOWer:STATus?
 | OSCilloscope:VLOWer:STATus:REASon?
Maximum | OSCilloscope:VMAXimum
 | OSCilloscope:VMAXimum:LOCation?
 | OSCilloscope:VMAXimum:REGion
 | OSCilloscope:VMAXimum:SOURce
 | OSCilloscope:VMAXimum:STATus?
 | OSCilloscope:VMAXimum:STATus:REASon?
Amplitude-at-Middle | OSCilloscope:VMIDdle
 | OSCilloscope:VMIDdle:LOCation?
 | OSCilloscope:VMIDdle:REGion
 | OSCilloscope:VMIDdle:SOURce
 | OSCilloscope:VMIDdle:STATus?
 | OSCilloscope:VMIDdle:STATus:REASon?
Minimum | OSCilloscope:VMINimum
 | OSCilloscope:VMINimum:LOCation?
 | OSCilloscope:VMINimum:REGion
 | OSCilloscope:VMINimum:SOURce
 | OSCilloscope:VMINimum:STATus?
 | OSCilloscope:VMINimum:STATus:REASon?
Peak-to-Peak Amplitude | OSCilloscope:VPP
 | OSCilloscope:VPP:LOCation?
 | OSCilloscope:VPP:REGion
 | OSCilloscope:VPP:SOURce
 | OSCilloscope:VPP:STATus?
 | OSCilloscope:VPP:STATus:REASon?
Vrms DC or Vrms AC (over single cycle or entire display) | OSCilloscope:VRMS
 | OSCilloscope:VRMS:AREa
 | OSCilloscope:VRMS:LOCation?
 | OSCilloscope:VRMS:REGion
 | OSCilloscope:VRMS:SOURce
 | OSCilloscope:VRMS:STATus?
 | OSCilloscope:VRMS:STATus:REASon?
 | OSCilloscope:VRMS:TYPe
Amplitude-at-Time | OSCilloscope:VTIMe
 | OSCilloscope:VTIMe:LOCation?
 | OSCilloscope:VTIMe:REGion
 | OSCilloscope:VTIMe:SOURce
 | OSCilloscope:VTIMe:STATus?
 | OSCilloscope:VTIMe:STATus:REASon?
 | OSCilloscope:VTIMe:TIMe
Waveform Top | OSCilloscope:VTOP
 | OSCilloscope:VTOP:LOCation?
 | OSCilloscope:VTOP:REGion
 | OSCilloscope:VTOP:SOURce
 | OSCilloscope:VTOP:STATus?
 | OSCilloscope:VTOP:STATus:REASon?
Amplitude-at-Upper | OSCilloscope:VUPPer
 | OSCilloscope:VUPPer:LOCation?
 | OSCilloscope:VUPPer:REGion
 | OSCilloscope:VUPPer:SOURce
 | OSCilloscope:VUPPer:STATus?
 | OSCilloscope:VUPPer:STATus:REASon?

  • Learn More


:MEASure Subsystem Oscilloscope User Measurement Commands

Use Oscilloscope user measurement commands to create custom user-defined measurements that are based on Matlab or Python scripts. When the measurement is created, a button is automatically placed on Oscilloscope Mode's User toolbar.

License Required

User Opterators and User Defined Measurements are provided with the N1010A-201 Advanced Waveform Analysis license.

  • OSCilloscope:USER
  • OSCilloscope:USER:ABBReviation?
  • OSCilloscope:USER:CFILe
  • OSCilloscope:USER:CFILe:CLEar
  • OSCilloscope:USER:CFILe:RELoad
  • OSCilloscope:USER:CFLoaded?
  • OSCilloscope:USER:COMMents?
  • OSCilloscope:USER:LOCation?
  • OSCilloscope:USER:LSTatus?
  • OSCilloscope:USER:LSTatus:REASon?
  • OSCilloscope:USER:NAME?
  • OSCilloscope:USER:REGion
  • OSCilloscope:USER:SOURce
  • OSCilloscope:USER:STATus?
  • OSCilloscope:USER:STATus:REASon?

  • Learn More


:MEASure Subsystem PAM 4 Oscilloscope Commands

PAM-4 License Required

The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

With option PAM-N Analysis license, use the following commands to perform electrical and optical measurements on Pulse Amplitude Modulation (PAM-4) waveforms in Oscilloscope mode. Other commands are available for performing PAM-4 measurements in Eye/Mask mode.

Measurement Configuration Commands

  • PAM:AMPLitude:UNITs (Amplitude Units)

Measurement Commands

  • OSCilloscope:PAM:LEVel
  • OSCilloscope:PAM:LEVel:LEVel
  • OSCilloscope:PAM:LEVel:LOCation?
  • OSCilloscope:PAM:LEVel:REGion
  • OSCilloscope:PAM:LEVel:SOURce
  • OSCilloscope:PAM:LEVel:STATus?
  • OSCilloscope:PAM:LEVel:STATus:REASon?
  • OSCilloscope:PAM:LINearity
  • OSCilloscope:PAM:LINearity:LOCation?
  • OSCilloscope:PAM:LINearity:REGion
  • OSCilloscope:PAM:LINearity:SOURce
  • OSCilloscope:PAM:LINearity:STATus?
  • OSCilloscope:PAM:LINearity:STATus:REASon?
  • OSCilloscope:PAM:RMS
  • OSCilloscope:PAM:RMS:LEVel
  • OSCilloscope:PAM:RMS:LOCation?
  • OSCilloscope:PAM:RMS:REGion
  • OSCilloscope:PAM:RMS:SOURce
  • OSCilloscope:PAM:RMS:STATus?
  • OSCilloscope:PAM:RMS:STATus:REASon?

  • Learn More


:MEASure Subsystem Oscilloscope Results Table Commands

To define the waveform's eye, use the Top/Base Configuration Commands and Threshold Configuration Commands. To define measurement regions, use the :REGions commands.

  • OSCilloscope:LIST:CLEar
  • OSCilloscope:LIST:REMove
  • OSCilloscope:LIST:SELect

  • Learn More


:MEASure Subsystem Measurement Region Commands

Example Python Script

Click these links to an example script that uses measurement regions.

  • Python 3.4 version
  • Python 2.7 version

The measurement region commands define a restricted range of input data that is used when performing Oscilloscope-Mode measurements. Up to eight regions can be defined using x-axis boundaries. Measurement regions can be applied only to Oscilloscope-Mode measurements. The only Oscilloscope-mode measurements that can not be applied to a measurement region are Jitter rms and Jitter p-p.

  • REGions:ALIGn
  • REGions:COUNt
  • REGions:REGion:X
  • REGions:STATe

  • Learn More


:MEASure Subsystem Top/Base Configuration Commands

MEASUREMENTS AFFECTED

FlexDCA uses the top/base definitions during these measurements:

Oscilloscope Mode:

  • Amplitude
  • Average
  • Waveform Base
  • Waveform Top
  • Duty Cycle
  • Fall Time
  • Frequency
  • Preshoot
  • Overshoot
  • Period
  • + Pulse Width
  • − Pulse Width
  • Rise Time
  • Δ Time
  • Time at Edge
  • Time at Amplitude
  • RMS
  • Amplitude at Lower
  • Amplitude at Middle
  • Amplitude at Lower
  • Optical Modulation Amplitude
  • Jitter

Eye/Mask Mode:

  • Duty Cycle Distortion
  • Rise Time
  • Fall Time

The following command is available to select the method used to define a waveform's top and base values.

  • TBASe:METHod

  • Learn More


:MEASure Threshold and Top/Base Configuration Commands

The following commands allow you to specify the upper, middle, and lower waveform threshold values.

  • THReshold:DISTal
  • THReshold:EREFerence
  • THReshold:MESial
  • THReshold:METHod
  • THReshold:PROXimal
  • THReshold:UNITs

In Oscilloscope and Eye/Mask Modes, waveform threshold levels can be set to standard percentages or to custom user definitions based on absolute amplitudes using the :MEASure:THReshold:METHod command. Custom values are specified, depending on waveform source, by the commands listed in the following table.

Commands to Enter Custom Threshold Levels
Level | Levels Based On
 | Percentage | Unit Amplitude
Upper Level | :MEASure:THReshold:DISTal | :CHANnel{N}:UDEFined:DISTal :DIFF{1:8}{A|C}:UNDEFined:DISTal :EMEMory{1:8}:UDEFined:DISTal :WMEMory{1:8}:UDEFined:DISTal :FUNCtion{1:16}:UDEFined:DISTal
Middle Level | :MEASure:THReshold:MESial | :CHANnel{N}:UDEFined:MESial :DIFF{1:8}{A|C}:UNDEFined:MESial :EMEMory{1:8}:UDEFined:MESial :WMEMory{1:8}:UDEFined:MESial :FUNCtion{1:16}:UDEFined:MESial
Lower Level | :MEASure:THReshold:PROXimal | :CHANnel{N}:UDEFined:PROXimal :DIFF{1:8}{A|C}:UNDEFined:PROXimal :EMEMory{1:8}:UDEFined:PROXimal :WMEMory{1:8}:UDEFined:PROXimal :FUNCtion{1:16}:UDEFined:PROXimal

Threshold levels definitions affect the measurements listed in the following table.

Measurements Affected by Threshold Levels Definitions
Oscilloscope Mode | Eye/Mask Mode
Average | Duty Cycle Distortion
Duty Cycle | Rise Time
Fall Time | Fall Time
Frequency |
Preshoot |
Overshoot |
Period |
+ Pulse Width |
− Pulse Width |
Rise Time |
Δ Time |
Time at Edge |
Time at Amplitude |
RMS |
Amplitude at Lower |
Amplitude at Middle |
Amplitude at Lower |
Optical Modulation Amplitude |
Jitter |

Top and Base Definitions

In Oscilloscope and Eye/Mask Modes, a waveform's top and base definitions for measurements can be set proportional to the signal amplitude or set to user-defined values using the :MEASure:TBASe:METHod command. Custom values are specified, depending on waveform source, by the commands listed in the following table.

Commands Used to Enter Top and Base Levels
Waveform Type | Commands
Channels | :CHANnel{N}:UDEFined:BASe :CHANnel{N}:UDEFined:TOP
Differential Waveforms | :DIFF{1:8}{A|C}:UDEFined:BASe :DIFF{1:8}{A|C}:UDEFined:TOP
Eye Memory | :EMEMory{1:8}:UDEFined:BASe :EMEMory{1:8}:UDEFined:TOP
Waveform Memory | :WMEMory{1:8}:UDEFined:BASe :WMEMory{1:8}:UDEFined:TOP
Function | :FUNCtion{1:16}:UDEFined:BASe :FUNCtion{1:16}:UDEFined:TOP

Top and base definitions affect the measurements listed in the following table.

Measurements Affected by Top and Base Definitions
Oscilloscope Mode | Eye/Mask Mode
Amplitude | Duty Cycle Distortion
Average | Rise Time
Waveform Base | Fall Time
Waveform Top |
Duty Cycle |
Fall Time |
Frequency |
Preshoot |
Overshoot |
Period |
+ Pulse Width |
− Pulse Width |
Rise Time |
Δ Time |
Time at Edge |
Time at Amplitude |
RMS |
Amplitude at Lower |
Amplitude at Middle |
Amplitude at Lower |
Optical Modulation Amplitude |
Jitter |

  • Learn More


:MEASure Subsystem TDEC Configuration Commands

The following commands allow you to specify the histogram width, target BER, modal noise facter, and mode partitian noise factor for TDEC measurement.

  • TDEC:HWIDth
  • TDEC:MNFactor
  • TDEC:MPNFactor
  • TDEC:PRESets
  • TDEC:PRESets:SELections
  • TDEC:TBER

  • Learn More


:MEASure Subsystem TDR Commands

FlexDCA Revision

TDR measurements require FlexDCA revision A.04.00 and above.

Measurement | Command
Delta Time | TDR:DELTatime
 | TDR:DELTatime:EDIRection
 | TDR:DELTatime:ENUMber
 | TDR:DELTatime:ETHReshold
 | TDR:DELTatime:LOCation?
 | TDR:DELTatime:REGion
 | TDR:DELTatime:SOURce
 | TDR:DELTatime:STATus?
 | TDR:DELTatime:STATus:REASon?
Excess Capacitance | TDR:ECAPacitance
 | TDR:ECAPacitance:LOCation?
 | TDR:ECAPacitance:REFerence:TYPE
 | TDR:ECAPacitance:REFerence:VALue
 | TDR:ECAPacitance:REGion
 | TDR:ECAPacitance:SOURce
 | TDR:ECAPacitance:STATus?
 | TDR:ECAPacitance:STATus:REASon?
Excess Inductance | TDR:EINDuctance
 | TDR:EINDuctance:LOCation?
 | TDR:EINDuctance:REFerence:TYPE
 | TDR:EINDuctance:REFerence:VALue
 | TDR:EINDuctance:REGion
 | TDR:EINDuctance:SOURce
 | TDR:EINDuctance:STATus?
 | TDR:EINDuctance:STATus:REASon?
Fall Time | TDR:FALLtime
 | TDR:FALLtime:LOCation?
 | TDR:FALLtime:REGion
 | TDR:FALLtime:SOURce
 | TDR:FALLtime:STATus?
 | TDR:FALLtime:STATus:REASon?
Risetime | TDR:RISetime
 | TDR:RISetime:LOCation?
 | TDR:RISetime:REGion
 | TDR:RISetime:SOURce
 | TDR:RISetime:STATus?
 | TDR:RISetime:STATus:REASon?
Time-at-Amplitude | TDR:TVOLt
 | TDR:TVOLt:EDIRection
 | TDR:TVOLt:ENUMber
 | TDR:TVOLt:LOCation?
 | TDR:TVOLt:REGion
 | TDR:TVOLt:SOURce
 | TDR:TVOLt:STATus?
 | TDR:TVOLt:STATus:REASon?
 | TDR:TVOLt:YVALue
Time-at-Edge | TDR:TEDGe
 | TDR:TEDGe:DIRection
 | TDR:TEDGe:LOCation?
 | TDR:TEDGe:NUMBer
 | TDR:TEDGe:REGion
 | TDR:TEDGe:SOURce
 | TDR:TEDGe:STATus?
 | TDR:TEDGe:STATus:REASon?
 | TDR:TEDGe:THReshold
Time-at-Maximum | TDR:TMAXimum
 | TDR:TMAXimum:LOCation?
 | TDR:TMAXimum:REGion
 | TDR:TMAXimum:SOURce
 | TDR:TMAXimum:STATus?
 | TDR:TMAXimum:STATus:REASon?
Time-at-Minimum | TDR:TMINimum
 | TDR:TMINimum:LOCation?
 | TDR:TMINimum:REGion
 | TDR:TMINimum:SOURce
 | TDR:TMINimum:STATus?
 | TDR:TMINimum:STATus:REASon?
Average | TDR:VAVerage
 | TDR:VAVerage:AREa
 | TDR:VAVerage:LOCation?
 | TDR:VAVerage:REGion
 | TDR:VAVerage:SOURce
 | TDR:VAVerage:STATus?
 | TDR:VAVerage:STATus:REASon?
Maximum | TDR:VMAXimum
 | TDR:VMAXimum:LOCation?
 | TDR:VMAXimum:REGion
 | TDR:VMAXimum:SOURce
 | TDR:VMAXimum:STATus?
 | TDR:VMAXimum:STATus:REASon?
Minimum | TDR:VMINimum
 | TDR:VMINimum:LOCation?
 | TDR:VMINimum:REGion
 | TDR:VMINimum:SOURce
 | TDR:VMINimum:STATus?
 | TDR:VMINimum:STATus:REASon?
Amplitude-at-Time | TDR:VTIMe
 | TDR:VTIMe:LOCation?
 | TDR:VTIMe:REGion
 | TDR:VTIMe:SOURce
 | TDR:VTIMe:STATus?
 | TDR:VTIMe:STATus:REASon?
 | TDR:VTIMe:TIMe

  • Learn More


:MEASure Subsystem TDR User Measurement Commands

Use TDR user measurement commands to create custom user-defined measurements that are based on Matlab or Python scripts. When the measurement is created, a button is automatically placed on TDR/TDT Mode's User toolbar.

License Required

User Opterators and User Defined Measurements are provided with the N1010A-201 Advanced Waveform Analysis license.

  • TDR:USER
  • TDR:USER:ABBReviation?
  • TDR:USER:CFILe
  • TDR:USER:CFILe:CLEar
  • TDR:USER:CFILe:RELoad
  • TDR:USER:CFLoaded?
  • TDR:USER:COMMents?
  • TDR:USER:LOCation?
  • TDR:USER:LSTatus?
  • TDR:USER:LSTatus:REASon?
  • TDR:USER:NAME?
  • TDR:USER:REGion
  • TDR:USER:SOURce
  • TDR:USER:STATus?
  • TDR:USER:STATus:REASon?

  • Learn More


:MEASure Subsystem TDR Results Table Commands

FlexDCA Revision

TDR measurements require FlexDCA revision A.04.00 and above.

  • TDR:LIST:CLEar
  • TDR:LIST:REMove
  • TDR:LIST:SELect

  • Learn More


:MEASure:ACQuire:ECOunt?

Query Syntax

:MEASure:ACQuire:ECOunt?

Description

Use this query to return the current waveform count number, when waveform smoothing is enabled (:ACQuire:SMOothing command). The current count can be helpful in instances where aqcuiring the specified number of waveforms (:ACQuire:ECOunt command) takes some time and you want to estimate the completion time.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:AMPLitude:BERFloor?

Command Syntax

:MEASure:AMPLitude:BERFloor

Query Syntax

:MEASure:AMPLitude:BERFloor?

Description

Moves the BER floor measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

The measured BER is the extrapolated BER at the center of the eye. If both amplitude and jitter analysis is active, it will take into account both the probability of timing errors (jitter) as well as the probability of amplitude errors (noise and interference). BER Floor is the predicted BER at intersection of the jitter and amplitude measurement locations within the eye. It accounts for both horizontal eye closure (jitter) and vertical eye closure (noise and interference). The BER floor is calculated by extrapolating the amplitude bathtub curve to the jitter measurement location and extrapolating the jitter bathtub curve to the amplitude measurement location. These floors are then added together to form the BER floor. If the floor is below 10−18, the signal is considered error free.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:BERFloor:SOURce CHAN1A
:MEASure:AMPLitude:BERFloor
:MEASure:AMPLitude:BERFloor?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:BERFloor:LOCation?

Query Syntax

:MEASure:AMPLitude:BERFloor:LOCation?

Description

Returns an index for the location of the BERFloor measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:BERFloor:SOURce

Command Syntax

:MEASure:AMPLitude:BERFloor:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:BERFloor:SOURce?

Description

Selects the source waveform on which to perform the BERFloor measurement.


:MEASure:AMPLitude:BERFloor:STATus?

Query Syntax

:MEASure:AMPLitude:BERFloor:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BERFloor measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:BERFloor:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:BERFloor:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BERFloor measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:BERLimit?

Command Syntax

:MEASure:AMPLitude:BERLimit

Query Syntax

:MEASure:AMPLitude:BERLimit?

Query Response

{AMPL | JITT | BAL | NLIM}

Description

Moves the BER limit measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table.

The query returns a string that reports whether the signal is limited by jitter, amplitude (noise and interference), or equally jitter and amplitude. BER limit indicates if the eye will close vertically before it closes horizontally or vice-versa. The BER limit is determined by extrapolating both the Jitter and Amplitude bathtub curves down to their respective BER floors. If the BER floors are within 10% (on a log scale) of each other, the system is considered balanced. If not, the limiting impairment is the one with the higher floor. If both BER floors are ≤ 1E-18, the BER limit cannot be determined and is listed in the Amplitude table as "Not Limited".

AMPL
Signal is limited by noise/interference.
JITT
Signal is limited by jitter.
BAL
Signal is limited by a balanced contribution of both jitter and noise/interference.
NLIM
The signal is not limited by jitter or noise/interference.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Note

For FlexDCA revision A.01.70 and above, this command displays and returns a status string instead of a statistical value.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:BERLimit:SOURce CHAN1A
:MEASure:AMPLitude:BERLimit
:MEASure:AMPLitude:BERLimit?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:BERLimit:LOCation?

Query Syntax

:MEASure:AMPLitude:BERLimit:LOCation?

Description

Returns an index for the location of the BERLimit measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:BERLimit:SOURce

Command Syntax

:MEASure:AMPLitude:BERLimit:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:BERLimit:SOURce?

Description

Selects the source waveform on which to perform the BERLimit measurement.


:MEASure:AMPLitude:BERLimit:STATus?

Query Syntax

:MEASure:AMPLitude:BERLimit:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BERLimit measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:BERLimit:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:BERLimit:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BERLimit measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:BIROnes

Command Syntax

:MEASure:AMPLitude:BIROnes

Query Syntax

:MEASure:AMPLitude:BIROnes?

Description

Moves the BUI (rms) measurement (Bounded Uncorrelated Interference) for logic level one to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form returns the measurement.

The following measurement commands are also available:

  • BUI (rms) for zero levels (:BUIZeros command)
  • BUI (δ-δ) for one levels (:BUIOnes command)
  • BUI (δ-δ) for zero levels (:BUIZeros command)

BUI and Periodic Jitter (PI) are one component of Deterministic Jitter (DI). Whether PI or BUI is reported depends on the spectral method used to separate any BUI from the Random Noise (RN). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices: Auto, Spectral, and Tail Fit.

  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

When Auto is selected, use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition. Use the :MEASure:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

More Information

  • Learn about listing measurements in the table
  • Interference Components Tree


:MEASure:AMPLitude:BIROnes:LOCation?

Query Syntax

:MEASure:AMPLitude:BIROnes:LOCation?

Description

Returns an index for the location of the BIROnes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BIROnes:SOURce

Command Syntax

:MEASure:AMPLitude:BIROnes:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:BIROnes:SOURce?

Description

Selects the source waveform on which to perform the BIROnes measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BIROnes:STATus?

Query Syntax

:MEASure:AMPLitude:BIROnes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BIROnes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BIROnes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:BIROnes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BIROnes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BIRZeros

Command Syntax

:MEASure:AMPLitude:BIRZeros

Query Syntax

:MEASure:AMPLitude:BIRZeros?

Description

Moves the BUI (rms) measurement (Bounded Uncorrelated Interference) for logic level zero to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form returns the measurement.

The following measurement commands are also available:

  • BUI (rms) for one levels (:BIROnes command)
  • BUI (δ-δ) for one levels (:BUIOnes command)
  • BUI (δ-δ) for zero levels (:BUIZeros command)

BUI and Periodic Jitter (PI) are one component of Deterministic Jitter (DI). Whether PI or BUI is reported depends on the spectral method used to separate any BUI from the Random Noise (RN). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices: Auto, Spectral, and Tail Fit.

  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

When Auto is selected, use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition. Use the :MEASure:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

More Information

  • Learn about listing measurements in the table
  • Interference Components Tree


:MEASure:AMPLitude:BIRZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:BIRZeros:LOCation?

Description

Returns an index for the location of the BIRZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BIRZeros:SOURce

Command Syntax

:MEASure:AMPLitude:BIRZeros:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:BIRZeros:SOURce?

Description

Selects the source waveform on which to perform the BIRZeros measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BIRZeros:STATus?

Query Syntax

:MEASure:AMPLitude:BIRZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BIRZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BIRZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:BIRZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BIRZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BUIOnes

Command Syntax

:MEASure:AMPLitude:BUIOnes

Query Syntax

:MEASure:AMPLitude:BUIOnes?

Description

Moves the BUI (δ-δ) measurement (Bounded Uncorrelated Interference) for logic level one to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form returns the measurement.

The following measurement commands are also available:

  • BUI (δ-δ) for zero levels (:BUIZeros command)
  • BUI (rms) for one levels (:BIROnes command)
  • BUI (rms) for zero levels (:BIRZeros command)

BUI and Periodic Jitter (PI) are one component of Deterministic Jitter (DI). Whether PI or BUI is reported depends on the spectral method used to separate any BUI from the Random Noise (RN). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices: Auto, Spectral, and Tail Fit.

  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

When Auto is selected, use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition. Use the :MEASure:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

More Information

  • Learn about listing measurements in the table
  • Interference Components Tree


:MEASure:AMPLitude:BUIOnes:LOCation?

Query Syntax

:MEASure:AMPLitude:BUIOnes:LOCation?

Description

Returns an index for the location of the BUIOnes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BUIOnes:SOURce

Command Syntax

:MEASure:AMPLitude:BUIOnes:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:BUIOnes:SOURce?

Description

Selects the source waveform on which to perform the BUIOnes measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BUIOnes:STATus?

Query Syntax

:MEASure:AMPLitude:BUIOnes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BUIOnes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BUIOnes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:BUIOnes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BUIOnes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BUIZeros?

Command Syntax

:MEASure:AMPLitude:BUIZeros

Query Syntax

:MEASure:AMPLitude:BUIZeros?

Description

Moves the BUI (δ-δ) measurement (Bounded Uncorrelated Interference) for logic level zero to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form returns the measurement.

The following measurement commands are also available:

  • BUI (δ-δ) for one levels (:BUIZeros command)
  • BUI (rms) for one levels (:BIROnes command)
  • BUI (rms) for zero levels (:BIRZeros command)

BUI and Periodic Jitter (PI) are one component of Deterministic Jitter (DI). Whether PI or BUI is reported depends on the spectral method used to separate any BUI from the Random Noise (RN). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices: Auto, Spectral, and Tail Fit.

  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

When Auto is selected, use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition. Use the :MEASure:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

More Information

  • Learn about listing measurements in the table
  • Interference Components Tree


:MEASure:AMPLitude:BUIZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:BUIZeros:LOCation?

Description

Returns an index for the location of the BUIZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BUIZeros:SOURce

Command Syntax

:MEASure:AMPLitude:BUIZeros:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:BUIZeros:SOURce?

Description

Selects the source waveform on which to perform the BUIZeros measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BUIZeros:STATus?

Query Syntax

:MEASure:AMPLitude:BUIZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BUIZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:BUIZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:BUIZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BUIZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:DEFine:ANALysis

Command Syntax

:MEASure:AMPLitude:DEFine:ANALysis  {ON | OFF | 1 | 0}

Query Syntax

:MEASure:AMPLitude:DEFine:ANALysis?

Query Response

{1 | 0}

Description

Turns amplitude analysis ON or OFF. Amplitude analysis must be turned on before interference measurements can be made.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:LEVel

Command Syntax

:MEASure:AMPLitude:DEFine:LEVel  {AVERage | CIDigits}

Query Syntax

:MEASure:AMPLitude:DEFine:LEVel?

Description

MEASUREMENTS AFFECTED

The one and zero level definition affects these measurements:

  • ABUI
  • BUI
  • TI
  • RN
  • DI
  • ISI
  • PI

Defines the one and zero levels as the average one and zero levels or in terms of a minimum number of consecutive identical digits (CID). This affects the measurements results listed in the sidebar. The results are reported for both one and zero levels.

AVERage
Selects definitions that are based on an average level with the one level is reported as the mean of the one level ISI histogram, and the zero level is reported as the mean of the zero level ISI histogram. This is the default setting.
CIDigits
Slects the one level defined as the average level of all ones that meet the CID requirements and the zero level defined as the average level of all zeros that meet the CID requirements. Measurements based on CID minimize the effects of ISI on the levels. Use :MEASure:AMPLitude:DEFine:LEVel:CIDigits:LEADing and :MEASure:AMPLitude:DEFine:LEVel:CIDigits:LAGGing to specify the minimum number of consecutive digits.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:LEVel:CIDigits:LAGGing

Command Syntax

:MEASure:AMPLitude:DEFine:LEVel:CIDigits:LAGGing  <digits>

<digits> is an int.

Query Syntax

:MEASure:AMPLitude:DEFine:LEVel:CIDigits:LAGGing?

Description

Enters the minimum number of lagging consecutive identical digits (CID) that are used to define one and zero levels. Use the :MEASure:AMPLitude:DEFine:LEVel command to select that one and zero levels are defined in terms of CIDs. Use :MEASure:AMPLitude:DEFine:LEVel:CIDigits:LEADing to set the minimum number of leading CIDs.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:LEVel:CIDigits:LEADing

Command Syntax

:MEASure:AMPLitude:DEFine:LEVel:CIDigits:LEADing  <digits>;

<digits> is an int.

Query Syntax

:MEASure:AMPLitude:DEFine:LEVel:CIDigits:LEADing?

Description

Enters the minimum number of leading consecutive identical digits (CID) that are used to define one and zero levels. Use the :MEASure:AMPLitude:DEFine:LEVel command to select that one and zero levels are defined in terms of CIDs. Use :MEASure:AMPLitude:DEFine:LEVel:CIDigits:LAGGing to set the minimum number of lagging CIDs.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:LOCation

Command Syntax

:MEASure:AMPLitude:DEFine:LOCation  <percent>

<percent> is an double.

Query Syntax

:MEASure:AMPLitude:DEFine:LOCation?

Description

Specifies the location within the unit interval at which the noise and interference will be measured. The location is specified as a percentage. 0% corresponds to the left crossing point, 100% corresponds to the right crossing point, and 50% (the default) corresponds to the center of the eye. The specified location must be within the range of 5.0% and 95.0%.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:RINoise:TYPe

Command Syntax

:MEASure:AMPLitude:DEFine:RINoise:TYPe{| {OLEVel | OMA}

Query Syntax

:MEASure:AMPLitude:DEFine:RINoise:TYPe?

Description

Configures the Relative Intensity Noise (RIN) measurement (:AMPLitude:RINoise) to be based on one of the following:

OLEVel
The one level.
OMA
The Optical Modulation Amplitude (OMA) measurement.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

  • Learn More


:MEASure:AMPLitude:DEFine:RINoise:UNITs

Command Syntax

:MEASure:AMPLitude:DEFine:RINoise:UNITs{| {DBHZ | DECibel}

Query Syntax

:MEASure:AMPLitude:DEFine:RINoise:UNITs{?

Description

Selects the method of normalizing a Relative Intensity Noise (RIN) measurement (:AMPLitude:RINoise). The following arguments can be used:

DECibel
Normalize the RIN value to the equivalent noise bandwidth of the sampling channel. Select this argument if the input channel has an optical reference filter.
DBHZ
Select this argument if the channel does not have a filter or the filter is not on. This is the default argument.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

  • Learn More


:MEASure:AMPLitude:DEFine:RNComp

Command Syntax

:MEASure:AMPLitude:DEFine:RNComp  {ON | OFF | 1 | 0}

Query Syntax

:MEASure:AMPLitude:DEFine:RNComp?

Query Response

{1 | 0}

Description

Turns on RN compensation which removes intrinsic oscilloscope noise from the measurement results. Use the :MEASure:AMPLitude:DEFine:RNCValue:ONE and :MEASure:AMPLitude:DEFine:RNCValue:ZERO commands to enter the RN one level and zero level compensation values. Depending on the type of signal that you are measuring enter the values in volts (electrical) or watts (optical). Estimate the Random Noise that is contributed by the 86100D by disconnecting all cables and signals from the oscilloscope's input and then measuring Vrms (AC) in Oscilloscope mode.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:RNCValue:ONE

Command Syntax

:MEASure:AMPLitude:DEFine:RNCValue:ONE  <value>

<value> is an double.

Query Syntax

:MEASure:AMPLitude:DEFine:RNCValue:ONE?

Description

Enters a measured RN compensation value for the one level. Use he :MEASure:AMPLitude:DEFine:RNCValue:ZERO command to enter the compensation for the zero level. Use the :MEASure:AMPLitude:DEFine:RNComp command to turn RN compensation on.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:RNCValue:ZERO

Command Syntax

:MEASure:AMPLitude:DEFine:RNCValue:ZERO  <compensation>

<compensation> is an double.

Query Syntax

:MEASure:AMPLitude:DEFine:RNCValue:ZERO?

Description

Enters a measured RN compensation value for the zero level. Use he :MEASure:AMPLitude:DEFine:RNCValue:ONE command to enter the compensation for the zero level. Use the :MEASure:AMPLitude:DEFine:RNComp command to turn RN compensation on.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:RNSTabilize

Command Syntax

:MEASure:AMPLitude:DEFine:RNSTabilize{? {ON | OFF | 1 | 0}

Query Response

{1 | 0}

Description

Selects RN stabilization, which locks (stabilizes) the value of the measured RN that is used in interference (noise) measurements. Use RN stabilization to prevent any uncorrelated non-Gaussian, non-periodic interference (noise) from falsely contributing to any measured RN value. Use the :MEASure:AMPLitude:DEFine:RNSValue:ONE and :MEASure:AMPLitude:DEFine:RNSValue:ZERO commands to enter the stabilization values in volts or watts. Use the :MEASure:AMPLitude:DEFine:RNSValue:GMRN command to automatically enter the current measured RN value. This RN value will be locked in subsequent jitter measurements.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

  • Learn More


:MEASure:AMPLitude:DEFine:RNSValue:GMRN

Command Syntax

:MEASure:AMPLitude:DEFine:RNSValue:GMRN

Description

Automatically enters the current measured RN value, when RN stabilization is set turned on (:MEASure:AMPLitude:DEFine:RNSTabliize).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:RNSValue:ONE

Command Syntax

:MEASure:AMPLitude:DEFine:RNSValue:ONE  <value>

<value> is an double.

Query Syntax

:MEASure:AMPLitude:DEFine:RNSValue:ONE?

Description

Enters an RN stabilization value for the one level. Use the :MEASure:AMPLitude:DEFine:RNSTabliize command to turn RN stabilization on. Manually entering the RN value requires a two-part measurement. First, remove any sources of uncorrelated non-Gaussian, non-periodic noise (for example, crosstalk or non-periodic electromagnetic interference). Then, set RN stabilization off and measure the RN. Then, turn RN stabilization on and reapply the sources of uncorrelated non-Gaussian, non-periodic jitter. One use of RN stabilization is to prevent crosstalk, from an adjacent channel, appearing as noise. Use the :MEASure:AMPLitude:DEFine:RNSValue:GMRN command to automatically enter the current measured RN value. This RN value will be locked in subsequent jitter measurements.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:RNSValue:ZERO

Command Syntax

:MEASure:AMPLitude:DEFine:RNSValue:ZERO  <value>

<value> is an double.

Query Syntax

:MEASure:AMPLitude:DEFine:RNSValue:ZERO?

Description

Enters an RN stabilization value for the zero level. Use the :MEASure:AMPLitude:DEFine:RNSTabliize command to turn RN stabilization on. Manually entering the RN value requires a two-part measurement. First, remove any sources of uncorrelated non-Gaussian, non-periodic noise (for example, crosstalk or non-periodic electromagnetic interference). Then, set RN stabilization off and measure the RN. Then, turn RN stabilization on and reapply the sources of uncorrelated non-Gaussian, non-periodic jitter. One use of RN stabilization is to prevent crosstalk, from an adjacent channel, appearing as noise. Use the :MEASure:AMPLitude:DEFine:RNSValue:GMRN command to automatically enter the current measured RN value. This RN value will be locked in subsequent jitter measurements.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEFine:UNITs

Command Syntax

:MEASure:AMPLitude:DEFine:UNITs  {VOLT | WATT | UAMPlitude}

Query Syntax

:MEASure:AMPLitude:DEFine:UNITs?

Description

Selects the noise/interference measurement units, which can be either volts, watts, or unit amplitude.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.


:MEASure:AMPLitude:DEPCie

Command Syntax

:MEASure:AMPLitude:DEPCie

Query Syntax

:MEASure:AMPLitude:DEPCie?

Description

Moves the De-emphasis (PCIe) measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. PCIe is a deliberatly introduced distortion on the preceding edge of a waveform transition. De-emphasis is often used to counter the effects of reduced transmission bandwidth, which tend to close eye-diagrams. This de-emphasis measurement is based on the PCI Express Gen 3 definition.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:DEPCie:SOURce CHAN1A
:MEASure:AMPLitude:DEPCie
:MEASure:AMPLitude:DEPCie?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:DEPCie:LOCation?

Query Syntax

:MEASure:AMPLitude:DEPCie:LOCation?

Description

Returns an index for the location of the DEPCie measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:DEPCie:SOURce

Command Syntax

:MEASure:AMPLitude:DEPCie:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:DEPCie:SOURce?

Description

Selects the source waveform on which to perform the DEPCie measurement.


:MEASure:AMPLitude:DEPCie:STATus?

Query Syntax

:MEASure:AMPLitude:DEPCie:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DEPCie measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:DEPCie:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:DEPCie:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DEPCie measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:DIONes

Command Syntax

:MEASure:AMPLitude:DIONes

Query Syntax

:MEASure:AMPLitude:DIONes?

Description

Moves the deterministic interference (DI) measurement for logic level one to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Uses the current noise and interference units. Use the :MEASure:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:DIONes:SOURce CHAN1A
:MEASure:AMPLitude:DIONes
:MEASure:AMPLitude:DIONes?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:DIONes:LOCation?

Query Syntax

:MEASure:AMPLitude:DIONes:LOCation?

Description

Returns an index for the location of the DIONes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:DIONes:SOURce

Command Syntax

:MEASure:AMPLitude:DIONes:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:DIONes:SOURce?

Description

Selects the source waveform on which to perform the DIONes measurement.


:MEASure:AMPLitude:DIONes:STATus?

Query Syntax

:MEASure:AMPLitude:DIONes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DIONes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:DIONes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:DIONes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DIONes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:DIZeros

Command Syntax

:MEASure:AMPLitude:DIZeros

Query Syntax

:MEASure:AMPLitude:DIZero?

Description

Moves the deterministic interference (DI) measurement for logic level zero to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Uses the current noise and interference units. Use the :MEASure:DEFine:LEVel command to specify whether the zerp levels are defined as the average zero levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:DIZeros:SOURce CHAN1A
:MEASure:AMPLitude:DIZeros
:MEASure:AMPLitude:DIZeros?

More Information

    • Learn More
    • Learn about listing measurements in the table


:MEASure:AMPLitude:DIZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:DIZeros:LOCation?

Description

Returns an index for the location of the DIZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:DIZeros:SOURce

Command Syntax

:MEASure:AMPLitude:DIZeros:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:DIZeros:SOURce?

Description

Selects the source waveform on which to perform the DIZeros measurement.


:MEASure:AMPLitude:DIZeros:STATus?

Query Syntax

:MEASure:AMPLitude:DIZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DIZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:DIZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:DIZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DIZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:EOPening

Command Syntax

:MEASure:AMPLitude:EOPening

Query Syntax

:MEASure:AMPLitude:EOPening?

Description

Moves the vertical eye opening measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. The eye opening is defined at the same bit error ratio as the total noise and total jitter measurments. Uses the current noise and interference units.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:EOPening:SOURce CHAN1A
:MEASure:AMPLitude:EOPening
:MEASure:AMPLitude:EOPening?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:EOPening:LOCation?

Query Syntax

:MEASure:AMPLitude:EOPening:LOCation?

Description

Returns an index for the location of the EOPening measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:EOPening:SOURce

Command Syntax

:MEASure:AMPLitude:EOPening:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:EOPening:SOURce?

Description

Selects the source waveform on which to perform the EOPening measurement.


:MEASure:AMPLitude:EOPening:STATus?

Query Syntax

:MEASure:AMPLitude:EOPening:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the EOPening measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:EOPening:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:EOPening:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed EOPening measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:HONE

Command Syntax

:MEASure:AMPLitude:HONE

Query Syntax

:MEASure:AMPLitude:HONE?

Description

Moves the highest bit number for ones measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the bit number. Use the HONE:LOCation? child command to return the location of the results in the results table. Use AMPLitude:HZERo to return the highest zero bit.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:HONE:SOURce CHAN1A
:MEASure:AMPLitude:HONE
:MEASure:AMPLitude:HONE?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:HONE:LOCation?

Query Syntax

:MEASure:AMPLitude:HONE:LOCation?

Description

Returns an index for the location of the HONE measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:HONE:SOURce

Command Syntax

:MEASure:AMPLitude:HONE:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:HONE:SOURce?

Description

Selects the source waveform on which to perform the HONE measurement.


:MEASure:AMPLitude:HONE:STATus?

Query Syntax

:MEASure:AMPLitude:HONE:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the HONE measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:HONE:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:HONE:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed HONE measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:HZERo

Command Syntax

:MEASure:AMPLitude:HZERo

Query Syntax

:MEASure:AMPLitude:HZERo?

Description

Moves the highest bit number for zeros measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the bit number. Use the HZERo:LOCation? child command to return the location of the results in the results table. Use AMPLitude:HONE to return the highest one bit.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:HZERo:SOURce CHAN1A
:MEASure:AMPLitude:HZERo
:MEASure:AMPLitude:HZERo?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:HZERo:LOCation?

Query Syntax

:MEASure:AMPLitude:HZERo:LOCation?

Description

Returns an index for the location of the HZERo measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:HZERo:SOURce

Command Syntax

:MEASure:AMPLitude:HZERo:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:HZERo:SOURce?

Description

Selects the source waveform on which to perform the HZERo measurement.


:MEASure:AMPLitude:HZERo:STATus?

Query Syntax

:MEASure:AMPLitude:HZERo:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the HZERo measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:HZERo:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:HZERo:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed HZERo measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:ISIHist:SAMPles?

Query Syntax

:MEASure:AMPLitude:ISIHist:SAMPles?

Description

Queries the number of histogram samples used to measure ISI. The number of samples returned is affected by the :MEASure:JITTer:DEFine:EDGe command, which selects jitter measurements based on rising edges, fallingedges, or both edges. For data signals, all edges are included by default. For clock signals, only rising edges are used by default.

If the measurement is unsuccessful, 9.91E+37 (NaN) is returned.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:ISIOnes

Command Syntax

:MEASure:AMPLitude:ISIOnes

Query Syntax

:MEASure:AMPLitude:ISIOnes?

Description

Moves the inter-symbol interference (ISI) measurement for logic level one to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Uses the current noise and interference units. Use the :MEASure:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:ISIOnes:SOURce CHAN1A
:MEASure:AMPLitude:ISIOnes
:MEASure:AMPLitude:ISIOnes?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:ISIOnes:LOCation?

Query Syntax

:MEASure:AMPLitude:ISIOnes:LOCation?

Description

Returns an index for the location of the ISIOnes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:ISIOnes:SOURce

Command Syntax

:MEASure:AMPLitude:ISIOnes:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:ISIOnes:SOURce?

Description

Selects the source waveform on which to perform the ISIOnes measurement.


:MEASure:AMPLitude:ISIOnes:STATus?

Query Syntax

:MEASure:AMPLitude:ISIOnes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ISIOnes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:ISIOnes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:ISIOnes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ISIOnes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:ISIVsbit?

Query Syntax

:MEASure:AMPLitude:ISIVsbit?

Description

Returns the ISI values for each measured edge as definite-length block data. ISI values are returned for only the edge types (one, zero, both) as specified by the command :DISPlay:AMPLitude:LEVel. Use the :MEASure:AMPLitude:ISIVsbit:BITS? query to return a list of bits corresponding to the returned values. Each ISI value is 32-bit floating point (4 bytes) returned in LSB (Least Significant Byte) first format. The data block is followed by a linefeed terminator character (0A hex).

Note

The ISI vs BIT graph does not need to be displayed before data can be returned from this query.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.

Child Commands

  • :BITS? returns a list of bits for which :ISIVsbit? has returned values.
  • :HIGHest? returns the values of the highest measured one or zero in the ISI vs. bit graph.
  • :LOWest? returns the values of the lowest measured one or zero in the ISI vs. bit graph.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:ISIVsbit:BITS?

Query Syntax

:MEASure:AMPLitude:ISIVsbit:BITS?

Description

Moves the measurement to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

Returns a list of bits for which :MEASure:AMPLitude:ISIVsbit? has returned values. The list is returned as (definite-length block data). Each bit value is a 32-bit integer (4 bytes) returned in LSB (Least Significant Byte) first format. The data block is followed by a linefeed termination character (0A hex).

Note

The ISI vs BIT graph does not need to be displayed before data can be returned from this query.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:ISIVsbit:HIGHest?

Query Syntax

:MEASure:AMPLitude:ISIVsbit:HIGHest {ONE | ZERO}?

Description

Moves the measurement to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

Returns comma-separated values (string) for the highest measured one or zero in the ISI vs. bit graph. The string includes the bit number followed by the ISI value, for example "70,-8.579983e-014". The ISI value has units of volts, Watts, or unit amplitude as specified by the :MEASure:AMPLitude:DEFine:UNITs command.

Note

The ISI vs BIT graph does not need to be displayed before data can be returned from this query.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:ISIVsbit:LOWest?

Query Syntax

:MEASure:AMPLitude:ISIVsbit:LOWest {ONE | ZERO}?

Description

Moves the measurement to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

Returns comma-separated values (string) for the lowest measured one or zero in the ISI vs. bit graph. The string includes the bit number followed by the ISI value, for example "70,-8.579983e-014". The ISI value has units of volts, Watts, or unit amplitude as specified by the :MEASure:AMPLitude:DEFine:UNITs command.

Note

The ISI vs BIT graph does not need to be displayed before data can be returned from this query.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:ISIZeros

Command Syntax

:MEASure:AMPLitude:ISIZeros

Query Syntax

:MEASure:AMPLitude:ISIZeros?

Description

Moves the inter-symbol interference (ISI) measurement for the logic level zero to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Uses the current noise and interference units. Use the :MEASure:DEFine:LEVel command to specify whether the zerp levels are defined as the average zero levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:ISIZeros:SOURce CHAN1A
:MEASure:AMPLitude:ISIZeros
:MEASure:AMPLitude:ISIZeros?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:ISIZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:ISIZeros:LOCation?

Description

Returns an index for the location of the ISIZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:ISIZeros:SOURce

Command Syntax

:MEASure:AMPLitude:ISIZeros:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:ISIZeros:SOURce?

Description

Selects the source waveform on which to perform the ISIZeros measurement.


:MEASure:AMPLitude:ISIZeros:STATus?

Query Syntax

:MEASure:AMPLitude:ISIZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ISIZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:ISIZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:ISIZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ISIZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:LIST:CLEar

Command Syntax

:MEASure:AMPLitude:LIST:CLEar

Description

Clears the entire active measurement list in the displayed Amplitude results table.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:LIST:CLEar


:MEASure:AMPLitude:LIST:DEFault

Command Syntax

:MEASure:AMPLitude:LIST:DEFault

Description

Resets the Amplitude results table to show the default active measurement list in the table.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:LIST:DEFault


:MEASure:AMPLitude:LIST:REMove

Command Syntax

:MEASure:AMPLitude:LIST:REMove <index>

<index> is an int.

Description

Removes the selected interference measurement from the active measurement list, which is displayed in the Amplitude results table. The argument is an index number that specifies the measurement to be removed. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:AMPLitude:Q:LOCation?.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Example Command Sequence

Read the location of the Q result in the table, send the REMove command with the returned value. In this case 2.

:SYSTem:MODE JITTer
:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:Q:LOCation?
…
…
:MEASure:AMPLitude:LIST:REMove 2


:MEASure:AMPLitude:LIST:SELect

Command Syntax

:MEASure:AMPLitude:LIST:SELect  <index>

<index> is an int.

Query Syntax

:MEASure:AMPLitude:LIST:SELect?

Description

Selects an measurement in the active measurement list, which is displayed in the Amplitude results table. Annotations for the selected measurement are placed on the displayed waveform at the level or coordinate used to calculate the final measurement result.

The argument is an index number that specifies the measurement to select. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:AMPLitude:Q:LOCation?.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Example Command Sequence

Read the measurement location in the active measurement list, send the SELect command using the returned value. In this case 2.

:SYSTem:MODE JITTer
:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:Q:LOCation?
…
…
:MEASure:AMPLitude:LIST:SELect 2


:MEASure:AMPLitude:LONE

Command Syntax

:MEASure:AMPLitude:LONE

Query Syntax

:MEASure:AMPLitude:LONE?

Description

Moves the lowest one bit number measurement to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the bit number.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:LONE:SOURce CHAN1A
:MEASure:AMPLitude:LONE
:MEASure:AMPLitude:LONE?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:LONE:LOCation?

Query Syntax

:MEASure:AMPLitude:LONE:LOCation?

Description

Returns an index for the location of the LONE measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:LONE:SOURce

Command Syntax

:MEASure:AMPLitude:LONE:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:LONE:SOURce?

Description

Selects the source waveform on which to perform the LONE measurement.


:MEASure:AMPLitude:LONE:STATus?

Query Syntax

:MEASure:AMPLitude:LONE:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the LONE measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:LONE:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:LONE:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed LONE measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:LZERo

Command Syntax

:MEASure:AMPLitude:LZERo

Query Syntax

:MEASure:AMPLitude:LZERo?

Description

Moves the lowest zero bit number measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the bit number.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:LZERo:SOURce CHAN1A
:MEASure:AMPLitude:LZERo
:MEASure:AMPLitude:LZERo?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:LZERo:LOCation?

Query Syntax

:MEASure:AMPLitude:LZERo:LOCation?

Description

Returns an index for the location of the LZERo measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:LZERo:SOURce

Command Syntax

:MEASure:AMPLitude:LZERo:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:LZERo:SOURce?

Description

Selects the source waveform on which to perform the LZERo measurement.


:MEASure:AMPLitude:LZERo:STATus?

Query Syntax

:MEASure:AMPLitude:LZERo:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the LZERo measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:LZERo:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:LZERo:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed LZERo measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:OLEVel

Command Syntax

:MEASure:AMPLitude:OLEVel

Query Syntax

:MEASure:AMPLitude:OLEVel?

Description

Moves the one level measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Always uses the vertical units of the channel. Use AMPLitude:ZLEVel? to query the zero level measurement.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:OLEVel:SOURce CHAN1A
:MEASure:AMPLitude:OLEVel
:MEASure:AMPLitude:OLEVel?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:OLEVel:LOCation?

Query Syntax

:MEASure:AMPLitude:OLEVel:LOCation?

Description

Returns an index for the location of the OLEVel measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:OLEVel:SOURce

Command Syntax

:MEASure:AMPLitude:OLEVel:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:OLEVel:SOURce?

Description

Selects the source waveform on which to perform the OLEVel measurement.


:MEASure:AMPLitude:OLEVel:STATus?

Query Syntax

:MEASure:AMPLitude:OLEVel:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the OLEVel measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:OLEVel:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:OLEVel:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed OLEVel measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:PIONes

Command Syntax

:MEASure:AMPLitude:PIONes

Query Syntax

:MEASure:AMPLitude:PIONes?

Description

Moves the dual-dirac periodic interference (PI δ-δ) measurement for logic level one to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

The following measurement commands are also available:

  • PI δ-δ for zero levels
  • PI rms for one levels
  • PI rms for zero levels

BUI and Periodic Jitter (PI) are one component of Deterministic Jitter (DI). Whether PI or BUI is reported depends on the spectral method used to separate any BUI from the Random Noise (RN). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices:

Auto
BUI or PI is reported in the results table. On each data acquisition cycle, both the spectral and tail-fit methods can be used to separate the BUI values from the RN. The decision to use the spectral or tail-fit method is made on a per-edge basis. So, the result may be a combination of spectral and tail-fit results. If tail fit is used in any case, the TF annotation is displayed in the heading of the Jitter results table. Otherwise, no annotation is displayed. Use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition.
Spectral
PI is reported in the results table. This is the standard method used in all FlexDCA versions previous to revision A.02.50 to decompose the jitter and interference components. This method is best used when it is known that BUI is not present on the signal. This is the default method used.
Tail Fit
BUI is reported in the results table. The tail-fit method is exclusively used to separate the BUI from the RN directly from the histogram. The TF annotation is displayed in the heading of the Jitter results table. Unless troubleshooting, do not select this method as it is less accurate than using Auto or Spectral.

Use the :MEASure:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:PIONes:SOURce CHAN1A
:MEASure:AMPLitude:PIONes
:MEASure:AMPLitude:PIONes?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:PIONes:LOCation?

Query Syntax

:MEASure:AMPLitude:PIONes:LOCation?

Description

Returns an index for the location of the PIONes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:PIONes:SOURce

Command Syntax

:MEASure:AMPLitude:PIONes:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:PIONes:SOURce?

Description

Selects the source waveform on which to perform the PIONes measurement.


:MEASure:AMPLitude:PIONes:STATus?

Query Syntax

:MEASure:AMPLitude:PIONes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PIONes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:PIONes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:PIONes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PIONes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:PIROnes

Command Syntax

:MEASure:AMPLitude:PIROnes

Query Syntax

:MEASure:AMPLitude:PIROnes?

Description

Moves the periodic interference (PI rms) measurement for logic level one to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

The following measurement commands are also available:

  • PI rms for zero levels
  • PI δ-δ for one levels
  • PI δ-δ for zero levels

BUI and Periodic Jitter (PI) are one component of Deterministic Jitter (DI). Whether PI or BUI is reported depends on the spectral method used to separate any BUI from the Random Noise (RN). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices:

Auto
BUI or PI is reported in the results table. On each data acquisition cycle, both the spectral and tail-fit methods can be used to separate the BUI values from the RN. The decision to use the spectral or tail-fit method is made on a per-edge basis. So, the result may be a combination of spectral and tail-fit results. If tail fit is used in any case, the TF annotation is displayed in the heading of the Jitter results table. Otherwise, no annotation is displayed. Use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition.
Spectral
PI is reported in the results table. This is the standard method used in all FlexDCA versions previous to revision A.02.50 to decompose the jitter and interference components. This method is best used when it is known that BUI is not present on the signal. This is the default method used.
Tail Fit
BUI is reported in the results table. The tail-fit method is exclusively used to separate the BUI from the RN directly from the histogram. The TF annotation is displayed in the heading of the Jitter results table. Unless troubleshooting, do not select this method as it is less accurate than using Auto or Spectral.

Uses the current noise and interference units. Use the :MEASure:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:PIROnes:SOURce CHAN1A
:MEASure:AMPLitude:PIROnes
:MEASure:AMPLitude:PIROnes?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:PIROnes:LOCation?

Query Syntax

:MEASure:AMPLitude:PIROnes:LOCation?

Description

Returns an index for the location of the PIROnes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:PIROnes:SOURce

Command Syntax

:MEASure:AMPLitude:PIROnes:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:PIROnes:SOURce?

Description

Selects the source waveform on which to perform the PIROnes measurement.


:MEASure:AMPLitude:PIROnes:STATus?

Query Syntax

:MEASure:AMPLitude:PIROnes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PIROnes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:PIROnes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:PIROnes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PIROnes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:PIRZeros

Command Syntax

:MEASure:AMPLitude:PIRZeros

Query Syntax

:MEASure:AMPLitude:PIRZeros?

Description

Moves the periodic interference (PI rms) measurement for logic level zero to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

The following measurement commands are also available:

  • PI rms for one levels
  • PI δ-δ for one levels
  • PI δ-δ for zero levels

BUI and Periodic Jitter (PI) are one component of Deterministic Jitter (DI). Whether PI or BUI is reported depends on the spectral method used to separate any BUI from the Random Noise (RN). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices:

Auto
BUI or PI is reported in the results table. On each data acquisition cycle, both the spectral and tail-fit methods can be used to separate the BUI values from the RN. The decision to use the spectral or tail-fit method is made on a per-edge basis. So, the result may be a combination of spectral and tail-fit results. If tail fit is used in any case, the TF annotation is displayed in the heading of the Jitter results table. Otherwise, no annotation is displayed. Use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition.
Spectral
PI is reported in the results table. This is the standard method used in all FlexDCA versions previous to revision A.02.50 to decompose the jitter and interference components. This method is best used when it is known that BUI is not present on the signal. This is the default method used.
Tail Fit
BUI is reported in the results table. The tail-fit method is exclusively used to separate the BUI from the RN directly from the histogram. The TF annotation is displayed in the heading of the Jitter results table. Unless troubleshooting, do not select this method as it is less accurate than using Auto or Spectral.

Uses the current noise and interference units. Use the :MEASure:DEFine:LEVel command to specify whether the zerp levels are defined as the average zero levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

:STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:PIRZeros:SOURce CHAN1A
:MEASure:AMPLitude:PIRZeros
:MEASure:AMPLitude:PIRZeros?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:PIRZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:PIRZeros:LOCation?

Description

Returns an index for the location of the PIRZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:PIRZeros:SOURce

Command Syntax

:MEASure:AMPLitude:PIRZeros:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:PIRZeros:SOURce?

Description

Selects the source waveform on which to perform the PIRZeros measurement.


:MEASure:AMPLitude:PIRZeros:STATus?

Query Syntax

:MEASure:AMPLitude:PIRZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PIRZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:PIRZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:PIRZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PIRZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:PIZeros

Command Syntax

:MEASure:AMPLitude:PIZeros

Query Syntax

:MEASure:AMPLitude:PIZeros?

Description

Moves the dual-dirac periodic interference (PI) measurement for logic level zero to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

The following measurement commands are also available:

  • PI δ-δ for one levels
  • PI rms for one levels
  • PI rms for zero levels

BUI and Periodic Jitter (PI) are one component of Deterministic Jitter (DI). Whether PI or BUI is reported depends on the spectral method used to separate any BUI from the Random Noise (RN). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices:

Auto
BUI or PI is reported in the results table. On each data acquisition cycle, both the spectral and tail-fit methods can be used to separate the BUI values from the RN. The decision to use the spectral or tail-fit method is made on a per-edge basis. So, the result may be a combination of spectral and tail-fit results. If tail fit is used in any case, the TF annotation is displayed in the heading of the Jitter results table. Otherwise, no annotation is displayed. Use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition.
Spectral
PI is reported in the results table. This is the standard method used in all FlexDCA versions previous to revision A.02.50 to decompose the jitter and interference components. This method is best used when it is known that BUI is not present on the signal. This is the default method used.
Tail Fit
BUI is reported in the results table. The tail-fit method is exclusively used to separate the BUI from the RN directly from the histogram. The TF annotation is displayed in the heading of the Jitter results table. Unless troubleshooting, do not select this method as it is less accurate than using Auto or Spectral.

Use the :MEASure:DEFine:LEVel command to specify whether the zerp levels are defined as the average zero levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:PIZeros:SOURce CHAN1A
:MEASure:AMPLitude:PIZeros
:MEASure:AMPLitude:PIZeros?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:PIZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:PIZeros:LOCation?

Description

Returns an index for the location of the PIZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:PIZeros:SOURce

Command Syntax

:MEASure:AMPLitude:PIZeros:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:PIZeros:SOURce?

Description

Selects the source waveform on which to perform the PIZeros measurement.


:MEASure:AMPLitude:PIZeros:STATus?

Query Syntax

:MEASure:AMPLitude:PIZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PIZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:PIZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:PIZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PIZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:PPCie

Command Syntax

:MEASure:AMPLitude:PPCie

Query Syntax

:MEASure:AMPLitude:PPCie?

Description

Moves the Preshoot (PCIe) measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. PCIe is a deliberatly introduced distortion on the preceding edge of a waveform transition. Preshoot is often used to counter the effects of reduced transmission bandwidth, which tend to close eye-diagrams. This preshoot measurement is based on the PCI Express Gen 3 definition. You can view the preshoot measurement annotations in the Jitter Mode's Waveform panel.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:PPCie:SOURce CHAN1A
:MEASure:AMPLitude:PPCie
:MEASure:AMPLitude:PPCie?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:PPCie:LOCation?

Query Syntax

:MEASure:AMPLitude:PPCie:LOCation?

Description

Returns an index for the location of the PPCie measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:PPCie:SOURce

Command Syntax

:MEASure:AMPLitude:PPCie:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:PPCie:SOURce?

Description

Selects the source waveform on which to perform the PPCie measurement.


:MEASure:AMPLitude:PPCie:STATus?

Query Syntax

:MEASure:AMPLitude:PPCie:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PPCie measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:PPCie:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:PPCie:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PPCie measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:Q

Command Syntax

:MEASure:AMPLitude:Q

Query Syntax

:MEASure:AMPLitude:Q?

Description

Moves the Q measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:Q:SOURce CHAN1A
:MEASure:AMPLitude:Q
:MEASure:AMPLitude:Q?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:Q:LOCation?

Query Syntax

:MEASure:AMPLitude:Q:LOCation?

Description

Returns an index for the location of the Q measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:Q:SOURce

Command Syntax

:MEASure:AMPLitude:Q:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:Q:SOURce?

Description

Selects the source waveform on which to perform the Q measurement.


:MEASure:AMPLitude:Q:STATus?

Query Syntax

:MEASure:AMPLitude:Q:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the Q measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:Q:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:Q:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed Q measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:RINoise

Command Syntax

:MEASure:AMPLitude:RINoise

Query Syntax

:MEASure:AMPLitude:RINoise?

Description

Moves the Relative Intensity Noise (RIN) measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.RIN is a measure of the noise-to-signal ratio of an optical source. Because this is a measurement specific to an optical signal, the Jitter Mode's Amplitude panel only lists the RIN measurement when the channel units are set to Watts. Use the :MEASure:AMPLitude:DEFine:RINoise:TYPe command to configure the measurement to be based on the one level or based on Optical Modulation Amplitude (OMA) measurement. If the input channel has an optical reference filter, use the :MEASure:AMPLitude:DEFine:RINoise:UNITs command to normalize the RIN value to the equivalent noise bandwidth of the sampling channel.

Note

The RIN measurement is only available for optical channels. Attempting this measurement on an electrical channel results in this message.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:RINoise:SOURce CHAN2A
:MEASure:AMPLitude:DEFine:RINoise:TYPe OMA
:MEASure:AMPLitude:DEFine:RINoise:UNITs DECibel
:MEASure:AMPLitude:RINoise
:MEASure:AMPLitude:RINoise?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:RINoise:LOCation?

Query Syntax

:MEASure:AMPLitude:RINoise:LOCation?

Description

Returns an index for the location of the RINoise measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:RINoise:SOURce

Command Syntax

:MEASure:AMPLitude:RINoise:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:RINoise:SOURce?

Description

Selects the source waveform on which to perform the RINoise measurement.


:MEASure:AMPLitude:RINoise:STATus?

Query Syntax

:MEASure:AMPLitude:RINoise:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RINoise measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:RINoise:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:RINoise:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed RINoise measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:RNONes

Command Syntax

:MEASure:AMPLitude:RNONes

Query Syntax

:MEASure:AMPLitude:RNONes?

Description

Moves the random noise (RN) measurement to the top of the table. Displays the measurement if it is not already shown on the Amplitude table. The query form of the command returns the measured value. Uses the current noise and interference units. Use the :MEASure:AMPLitude:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:RNONes:SOURce CHAN1A
:MEASure:AMPLitude:RNONes?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:RNONes:LOCation?

Query Syntax

:MEASure:AMPLitude:RNONes:LOCation?

Description

Returns an index for the location of the RNONes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:RNONes:SOURce

Command Syntax

:MEASure:AMPLitude:RNONes:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:RNONes:SOURce?

Description

Selects the source waveform on which to perform the RNONes measurement.


:MEASure:AMPLitude:RNONes:STATus?

Query Syntax

:MEASure:AMPLitude:RNONes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RNONes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:RNONes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:RNONes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed RNONes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:RNPIhist:SAMPles?

Query Syntax

:MEASure:AMPLitude:RNPIhist:SAMPles?

Description

Queries the number of samples in the histogram that were used to measure RN. The number of samples returned is affected by the :MEASure:JITTer:DEFine:EDGe command, which selects jitter measurements based on rising edges, fallingedges, or both edges. For data signals, all edges are included by default. For clock signals, only rising edges are used by default.

If the measurement is unsuccessful, 9.91E+37 (NaN) is returned.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:RNZeros

Command Syntax

:MEASure:AMPLitude:RNZeros

Query Syntax

:MEASure:AMPLitude:RNZeros?

Description

Moves the random noise (RN) measurement to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Uses the current noise and interference units. Use the :MEASure:AMPLitude:DEFine:LEVel command to specify whether the zero levels are defined as the average zero levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:RNZeros:SOURce CHAN1A
:MEASure:AMPLitude:RNZeros
:MEASure:AMPLitude:RNZeros?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:RNZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:RNZeros:LOCation?

Description

Returns an index for the location of the RNZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:RNZeros:SOURce

Command Syntax

:MEASure:AMPLitude:RNZeros:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:RNZeros:SOURce?

Description

Selects the source waveform on which to perform the RNZeros measurement.


:MEASure:AMPLitude:RNZeros:STATus?

Query Syntax

:MEASure:AMPLitude:RNZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RNZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:RNZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:RNZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed RNZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:SAMPlitude

Command Syntax

:MEASure:AMPLitude:SAMPlitude

Query Syntax

:MEASure:AMPLitude:SAMPlitude?

Description

Moves the signal amplitude measurement to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Always uses the vertical units of the channel.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:SAMPlitude:SOURce CHAN1A
:MEASure:AMPLitude:SAMPlitude?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:SAMPlitude:LOCation?

Query Syntax

:MEASure:AMPLitude:SAMPlitude:LOCation?

Description

Returns an index for the location of the SAMPlitude measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:SAMPlitude:SOURce

Command Syntax

:MEASure:AMPLitude:SAMPlitude:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:SAMPlitude:SOURce?

Description

Selects the source waveform on which to perform the SAMPlitude measurement.


:MEASure:AMPLitude:SAMPlitude:STATus?

Query Syntax

:MEASure:AMPLitude:SAMPlitude:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the SAMPlitude measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:SAMPlitude:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:SAMPlitude:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed SAMPlitude measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:SMEThod?

Query Syntax

:MEASure:AMPLitude:SMEThod?

Description

For the current data acquisition, this query returns the current method used to separate any Bounded Uncorrelated Interference (BUI) from the Random Noise (RN), as shown in the Interference Components Tree. The following list shows the two possible query responses:

SPECtral
The spectral method is the standard method that all FlexDCA versions previous to revision A.02.50 have used to decompose the jitter and interference components. This method is best used when no BUJ or BUI is known to be present on the signal. This is the default method used.
TFIT
The tail-fit method is exclusively used to separate the BUJ and BUI from the RJ and RN directly from the histogram. The TF annotation is displayed in the heading of the Jitter and Amplitude results table. Unless troubleshooting, do not use this method as it is less accurate than using AUTO or SPECtral.
  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

Use the :MEASure:JITTer:DEFine:SMEThod command to specify the separation method used: AUTO, SPECtral, or TFIT (tail fit). When the AUTO method is selected, on each data acquisition cycle, both the spectral and tail-fit methods are used to separate the BUI values from the RN. The results are compared and, if they vary due to the presense of BUI, the results of the tail-fit method are listed in the Amplitude results table. Otherwise, the spectral method results are listed. Depending on the data acquired, this can change on each successive data acquisition. When the tail-fit method is used, the annotation TF is displayed on the heading of the Amplitude results table. If the spectral method is used, no annotation is displayed. AUTO is the default method used.

Use the :MEASure:JITTer:SMEThod? query to return the current method used to separate any Bounded Uncorrelated Jitter (BUJ) from the Random Jitter (RJ).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:TIHist:SAMPles?

Query Syntax

:MEASure:AMPLitude:TIHist:SAMPles?

Description

Queries the number of samples in the histogram that were used to measure TI. The number of samples returned is affected by the :MEASure:JITTer:DEFine:EDGe command, which selects jitter measurements based on rising edges, fallingedges, or both edges. For data signals, all edges are included by default. For clock signals, only rising edges are used by default.

If the measurement is unsuccessful, 9.91E+37 (NaN) is returned.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:AMPLitude:TIONes

Command Syntax

:MEASure:AMPLitude:TIONes

Query Syntax

:MEASure:AMPLitude:TIONes?

Description

Moves the total interference (TI) measurement for logic level one to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Uses the current noise and interference units. Use the :MEASure:AMPLitude:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:TIONes:SOURce CHAN1A
:MEASure:AMPLitude:TIONes
:MEASure:AMPLitude:TIONes?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:TIONes:LOCation?

Query Syntax

:MEASure:AMPLitude:TIONes:LOCation?

Description

Returns an index for the location of the TIONes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:TIONes:SOURce

Command Syntax

:MEASure:AMPLitude:TIONes:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:TIONes:SOURce?

Description

Selects the source waveform on which to perform the TIONes measurement.


:MEASure:AMPLitude:TIONes:STATus?

Query Syntax

:MEASure:AMPLitude:TIONes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TIONes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:TIONes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:TIONes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TIONes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:TIZeros

Command Syntax

:MEASure:AMPLitude:TIZeros

Query Syntax

:MEASure:AMPLitude:TIZeros?

Description

Moves the total interference (TI) measurement for logic level zero to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Uses the current noise and interference units. Use the :MEASure:AMPLitude:DEFine:LEVel command to specify whether the zerp levels are defined as the average zero levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID).

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:TIZeros:SOURce CHAN1A
:MEASure:AMPLitude:TIZeros?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:TIZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:TIZeros:LOCation?

Description

Returns an index for the location of the TIZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:TIZeros:SOURce

Command Syntax

:MEASure:AMPLitude:TIZeros:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:TIZeros:SOURce?

Description

Selects the source waveform on which to perform the TIZeros measurement.


:MEASure:AMPLitude:TIZeros:STATus?

Query Syntax

:MEASure:AMPLitude:TIZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TIZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:TIZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:TIZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TIZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:UNONes

Command Syntax

:MEASure:AMPLitude:UNONes

Query Syntax

:MEASure:AMPLitude:UNONes?

Description

Moves the uncorrelated noise (UN) measurement for logic level one to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. UN is the total of Random Noise (RN) that is unpredictable and not data related and Asynchronous Periodic Noise (APN) that is periodic noise that is uncorrelated to the data rate. Uses the current noise and interference units. Use the :MEASure:AMPLitude:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID). Use the :UNZeros sibling command to return UN for logic level zero.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:RNONes:SOURce CHAN1A
:MEASure:AMPLitude:RNONes?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:UNONes:LOCation?

Query Syntax

:MEASure:AMPLitude:UNONes:LOCation?

Description

Returns an index for the location of the UNONes measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:UNONes:SOURce

Command Syntax

:MEASure:AMPLitude:UNONes:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:UNONes:SOURce?

Description

Selects the source waveform on which to perform the UNONes measurement.


:MEASure:AMPLitude:UNONes:STATus?

Query Syntax

:MEASure:AMPLitude:UNONes:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the UNONes measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:UNONes:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:UNONes:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed UNONes measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:UNZeros

Command Syntax

:MEASure:AMPLitude:UNZeros

Query Syntax

:MEASure:AMPLitude:UNZeros?

Description

Moves the uncorrelated noise (UN) measurement for logic level zero to the top of the table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. UN is the total of Random Noise (RN) that is unpredictable and not data related and Asynchronous Periodic Noise (APN) that is periodic noise that is uncorrelated to the data rate. Uses the current noise and interference units. Use the :MEASure:AMPLitude:DEFine:LEVel command to specify whether the one levels are defined as the average one levels or whether they are specified in terms of a minimum number of consecutive identical digits (CID). Use the :UNONes sibling command to return UN for logic level one.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:RNZeros:SOURce CHAN1A
:MEASure:AMPLitude:RNZeros
:MEASure:AMPLitude:RNZeros?

  • Learn about listing measurements in the table


:MEASure:AMPLitude:UNZeros:LOCation?

Query Syntax

:MEASure:AMPLitude:UNZeros:LOCation?

Description

Returns an index for the location of the UNZeros measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:UNZeros:SOURce

Command Syntax

:MEASure:AMPLitude:UNZeros:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:UNZeros:SOURce?

Description

Selects the source waveform on which to perform the UNZeros measurement.


:MEASure:AMPLitude:UNZeros:STATus?

Query Syntax

:MEASure:AMPLitude:UNZeros:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the UNZeros measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:UNZeros:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:UNZeros:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed UNZeros measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:AMPLitude:ZLEVel

Command Syntax

:MEASure:AMPLitude:ZLEVel

Query Syntax

:MEASure:AMPLitude:ZLEVel?

Description

Moves the zero level measurement to the top of the Amplitude table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Always uses the vertical units of the channel. Use :MEASure:AMPLitude:OLEVel? to query the one level measurement.

Requires Jitter Mode with additional Advanced Amplitude Analysis/RIN/Q-Factor license.

Note

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:AMPLitude:DEFine:ANALysis ON
:MEASure:AMPLitude:ZLEVel:SOURce CHAN1A
:MEASure:AMPLitude:ZLEVel?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:AMPLitude:ZLEVel:LOCation?

Query Syntax

:MEASure:AMPLitude:ZLEVel:LOCation?

Description

Returns an index for the location of the ZLEVel measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:AMPLitude:ZLEVel:SOURce

Command Syntax

:MEASure:AMPLitude:ZLEVel:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:AMPLitude:ZLEVel:SOURce?

Description

Selects the source waveform on which to perform the ZLEVel measurement.


:MEASure:AMPLitude:ZLEVel:STATus?

Query Syntax

:MEASure:AMPLitude:ZLEVel:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ZLEVel measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:AMPLitude:ZLEVel:STATus:REASon?

Query Syntax

:MEASure:AMPLitude:ZLEVel:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ZLEVel measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:ANNotations:STATe

Command Syntax

:MEASure:ANNotations:STATe {ON | OFF}

Query Syntax

:MEASure:ANNotations:STATe?

Description

Turns on or off the display of measurement annotations on the displayed waveform. This command also affects the appearance of annotations on screen captures.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:CRECovery:DJ?

Query Syntax

:MEASure:CRECovery:DJ?

Description

Queries the JSA DJ (rms) measurement, which is a band-limited Deterministic Jitter measurement. Specify the integration limits using the :CRECovery:JSANalysis:INTegrate:F command.

License Required

Jitter Spectrum Analysis (JSA) requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Child Commands

  • :LOCation? returns the index for the JSA deterministic jitter DJ (rms) measurement's displayed results. The index is used to select the measurement for limit testing using the :LTESt:MEASure:CRECovery:LOCation<location>:STATe command. The returned location index is not used to clear or remove the measurement result as with other measurements in the :MEASure subsystem.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:CRECovery:DJ?

  • Learn about listing measurements in the table


:MEASure:CRECovery:DJ:LOCation?

Query Syntax

:MEASure:CRECovery:DJ:LOCation?

Description

Returns an index for the location of the JSA deterministic jitter DJ (rms) measurement results in the active measurement list. The index is used to select the measurement for limit testing using the :LTESt:MEASure:CRECovery:LOCation<location>:STATe command. The returned location index is not used to clear or remove the measurement result as with other measurements in the :MEASure subsystem.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:CRECovery:DJ:STATus?

Query Syntax

:MEASure:CRECovery:DJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JSA deterministic jitter DJ (rms) measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:CRECovery:DJ:STATus:REASon?

Query Syntax

:MEASure:CRECovery:DJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JSA deterministic jitter DJ (rms) measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:CRECovery:RJ?

Query Syntax

:MEASure:CRECovery:RJ?

Description

Queries the JSA RJ (rms) measurement, which is a band-limited Deterministic Jitter measurement. Specify the integration limits using the :CRECovery:JSANalysis:INTegrate:F command.

License Required

Jitter Spectrum Analysis (JSA) requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Child Commands

  • :LOCation?returns the index for the JSA random jitter TJ (rms) measurement's displayed results. The index is used to select the measurement for limit testing using the :LTESt:MEASure:CRECovery:LOCation<location>:STATe command. The returned location index is not used to clear or remove the measurement result as with other measurements in the :MEASure subsystem.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:CRECovery:RJ?

  • Learn about listing measurements in the table


:MEASure:CRECovery:RJ:LOCation?

Query Syntax

:MEASure:CRECovery:RJ:LOCation?

Description

Returns an index for the location of the JSA random jitter RJ (rms) measurement results in the active measurement list. The index is used to select the measurement for limit testing using the :LTESt:MEASure:CRECovery:LOCation<location>:STATe command. The returned location index is not used to clear or remove the measurement result as with other measurements in the :MEASure subsystem.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:CRECovery:RJ:STATus?

Query Syntax

:MEASure:CRECovery:RJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JSA random jitter RJ (rms) measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:CRECovery:RJ:STATus:REASon?

Query Syntax

:MEASure:CRECovery:RJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JSA random jitter RJ (rms) measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:CRECovery:TJ?

Query Syntax

:MEASure:CRECovery:TJ?

Description

Queries the JSA TJ (rms) measurement, which is a band-limited Deterministic Jitter measurement. Specify the integration limits using the :CRECovery:JSANalysis:INTegrate:F command.

License Required

Jitter Spectrum Analysis (JSA) requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Child Commands

  • :LOCation? returns the index for the JSA total jitter TJ (rms) measurement's displayed results. The index is used to select the measurement for limit testing using the :LTESt:MEASure:CRECovery:LOCation<location>:STATe command. The returned location index is not used to clear or remove the measurement result as with other measurements in the :MEASure subsystem.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:CRECovery:TJ?

  • Learn about listing measurements in the table


:MEASure:CRECovery:TJ:LOCation?

Query Syntax

:MEASure:CRECovery:TJ:LOCation?

Description

Returns an index for the location of the JSA total jitter TJ (rms) measurement results in the active measurement list. The index is used to select the measurement for limit testing using the :LTESt:MEASure:CRECovery:LOCation<location>:STATe command. The returned location index is not used to clear or remove the measurement result as with other measurements in the :MEASure subsystem.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:CRECovery:TJ:STATus?

Query Syntax

:MEASure:CRECovery:TJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JSA total jitter TJ (rms) measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:CRECovery:TJ:STATus:REASon?

Query Syntax

:MEASure:CRECovery:TJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JSA total jitter TJ (rms) measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.


:MEASure:EBOundary:DEFault

Command Syntax

:MEASure:EBOundary:DEFault

Description

MEASUREMENTS AFFECTED

FlexDCA uses the eye boundaries during these measurements:

  • Eye Amplitude
  • Crossing %
  • Duty-Cycle Distortion
  • Eye Height
  • Signal to Noise Ratio
  • One Level
  • Zero Level
  • Rise Time
  • Fall Time

Sets the percentage of the bit period (time) for the eye boundary's left and right sides to their default value. The default value is 40% (left) and 60% (right) which identifies the central 20% of bit period. To define custom values, use the :MEASure:EYE:EBOundary:LEFT and :MEASure:EYE:EBOundary:RIGHt commands.

  • Learn More


:MEASure:EBOundary:LEFT

Command Syntax

:MEASure:EBOundary:LEFT  <percent>

<percent> is a double.

Query Syntax

:MEASure:EBOundary:LEFT?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the eye boundaries during these measurements:

  • Eye Amplitude
  • Crossing %
  • Duty-Cycle Distortion
  • Eye Height
  • Signal to Noise Ratio
  • One Level
  • Zero Level
  • Rise Time
  • Fall Time

Sets the percentage of the bit period (time) for the eye boundary's left side in Eye/Mask Mode. This setting determines what portion of the eye diagram is used to generate histograms for eye diagram amplitude measurements. The default values of 40% (left) and 60% (right) which identifies the central 20% of bit period. To set the eye boundary's right side, use the :MEASure:{EYE | CGRade}:EBOundary:RIGHt command.

  • Learn More


:MEASure:EBOundary:RIGHt

Command Syntax

:MEASure:EBOundary:RIGHt  <percent>

<percent> is a double.

Query Syntax

:MEASure:EBOundary:RIGHt?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the eye boundaries during these measurements:

  • Eye Amplitude
  • Crossing %
  • Duty-Cycle Distortion
  • Eye Height
  • Signal to Noise Ratio
  • One Level
  • Zero Level
  • Rise Time
  • Fall Time

Sets the percentage of the bit period (time) for the eye boundary's left side in Eye/Mask Mode. This setting determines what portion of the eye diagram is used to generate histograms for eye diagram amplitude measurements. The default values of 40% (left) and 60% (right) which identifies the central 20% of bit period. To set the eye boundary's left side, use the :MEASure:{EYE | CGRade}:EBOundary:LEFT command.

  • Learn More


:MEASure:ERATio:CHANnel<N>:ACFactor

Command Syntax

:MEASure:ERATio:CHANnel<N>:ACFactor  {ON | OFF

Query Syntax

:MEASure:ERATio:CHANnel<N>:ACFactor?

Description

Applies an extinction ratio correction factor for Eye/Mask mode extinction-ratio measurements. To turn on an extinction ratio measurement, use the :MEASure:EYE: ERATio command. A separate correction factor value can be entered for each channel using the :MEASure:ERATio:CHANnel<N>:CFACtor command. Correction factors are used with 86105C and 86115D reference receiver filters and when an external photodetector is connected to an electrical channel. To perform a dark calibration which corrects for dark current in the channel's photodetector, use the :CALibrate:DARK:CHANnel:STARt command. A dark calibration corrections is applied in addition to any extinction ratio carrection factor.

On 86105C and 86115D modules, selecting a filter for the optical channel automatically enters the extinction ratio correction factor with a recommended value. This recommended value is not applied until :ACFactor is set to ON. Select a filter using the :CHANnel<N>FSELect and :CHANnel<N>FILTer commands. Correction factor values are subtracted from the measured extinction ratio. For example, if a module's channel reports extinction ratio measurements that are too high, you would need to enter a positive correction factor value. If the extinction ratio measurements that are too low, enter a negative correction factor value.

Correction factor values always represent a percentage of the measured value regardless of the extinction ratio measurement units that are selected.

Note

Although extinction ratio measurements can be made when the color-grade (instead of gray-scale) persistence is used, correction factor values are never applied to the measured values.

  • Learn More


:MEASure:ERATio:CHANnel<N>:CFACtor

Command Syntax

:MEASure:ERATio:CHANnel<N>:CFACtor  <factor>

<factor> is a double.

Query Syntax

:MEASure:ERATio:CHANnel<N>:CFACtor?

Description

Enters an extinction ratio factor. To apply the extinction ratio factor, use the :MEASure:ERATio:ACFactor command.

  • Learn More


:MEASure:EYE:AMPLitude

Command Syntax

:MEASure:{EYE | CGRade}:AMPLitude

Query Syntax

:MEASure:{EYE | CGRade}:AMPLitude?

Description

Moves the Eye amplitude measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Eye amplitude is the difference between the logic 1 level and the logic 0 level histogram mean values of an eye diagram. This measurement is made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:AMPLitude:SOURce CHAN1A
:MEASure:{EYE | CGRade}:AMPLitude
:MEASure:{EYE | CGRade}:AMPLitude?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:AMPLitude:LOCation?

Query Syntax

:MEASure:EYE:AMPLitude:LOCation?

Description

Returns an index for the location of the AMPLitude measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:AMPLitude:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:AMPLitude:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:AMPLitude:SOURce?

Description

Selects the source waveform on which to perform the AMPLitude measurement.


:MEASure:EYE:AMPLitude:STATus?

Query Syntax

:MEASure:EYE:AMPLitude:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the AMPLitude measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:AMPLitude:STATus:REASon?

Query Syntax

:MEASure:EYE:AMPLitude:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed AMPLitude measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:APOWer

Command Syntax

:MEASure:{EYE | CGRade}:APOWer

Query Syntax

:MEASure:{EYE | CGRade}:APOWer?

Description

Moves the Average Power measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Average Power is the true average component of an optical signal. A waveform annotation label is placed on the average power result. Since the average power is calculated over the entire display graticule, this label tracks the average power result across the graticule. This measurement is commonly used when identifying the fundamental parameters of a lightwave transmitter. However, it differs from other measurements because it does not rely on the waveform display in order to determine the measurement. You can measure the average power of an eye diagram. Average power is a measure of the true average component of an optical signal.

Note

The average power measurement is only available when using the modules with integrated optical detectors (optical/electrical modules). Average power measurements cannot be made on simulated channels.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :UNITs selects the units of measurement.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:APOWer:SOURce CHAN2B
:MEASure:{EYE | CGRade}:APOWer:UNITs
:MEASure:{EYE | CGRade}:APOWer
:MEASure:{EYE | CGRade}:APOWer?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:APOWer:LOCation?

Query Syntax

:MEASure:{EYE | CGRade}:APOWer:LOCation?

Description

Returns an index for the location of the APOWer measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:APOWer:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:APOWer:SOURce CHANnel{N}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:{EYE | CGRade}:APOWer:SOURce?

Description

Selects the source waveform on which to perform the APOWer measurement.

Note

The average power measurement is only available when using the modules with integrated optical detectors (optical/electrical modules). Average power measurements cannot be made on simulated channels.


:MEASure:EYE:APOWer:STATus?

Query Syntax

:MEASure:{EYE | CGRade}:APOWer:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the APOWer measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:APOWer:STATus:REASon?

Query Syntax

:MEASure:{EYE | CGRade}:APOWer:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed APOWer measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:APOWer:UNITs

Command Syntax

:MEASure:{EYE | CGRade}:APOWer:UNITs  {WATT | DBM}

Query Syntax

:MEASure:{EYE | CGRade}:APOWer:UNITs?

Description

Selects the units of measurement for the average power measurement (APOWer).

  • Learn about listing measurements in the table


:MEASure:EYE:BITRate

Command Syntax

:MEASure:{EYE | CGRade}:BITRate

Query Syntax

:MEASure:{EYE | CGRade}:BITRate?

Description

Moves the Bit Rate measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Bit rate is the inverse of bit period (1/bit period). The bit period is a measure of the horizontal opening of an eye diagram at the crossing points of the eye. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use the :MEASure:THReshold:METHod command to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:BITRate:SOURce CHAN1A
:MEASure:{EYE | CGRade}:BITRate
:MEASure:{EYE | CGRade}:BITRate?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:BITRate:LOCation?

Query Syntax

:MEASure:EYE:BITRate:LOCation?

Description

Returns an index for the location of the BITRate measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:BITRate:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:BITRate:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:BITRate:SOURce?

Description

Selects the source waveform on which to perform the BITRate measurement.


:MEASure:EYE:BITRate:STATus?

Query Syntax

:MEASure:EYE:BITRate:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BITRate measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:BITRate:STATus:REASon?

Query Syntax

:MEASure:EYE:BITRate:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BITRate measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:COMPlete

Command Syntax

:MEASure:{EYE | CGRade}:COMPlete <peak hits>

<peak hits> is an integer.

Query Syntax

:MEASure:{EYE | CGRade}:COMPlete?

Returns the current setting for color grade completion.

Description

Sets the peak numbers-of-hits required in the color grade database before a color grade measurement is made on the data. This completion criteria is also by auto skew. So, if auto skew fails to make the bit rate measurement or the time of the crossing points (both needed to compute the skew), it may be necessary to increase the color grade completion criterion. Increasing the value increases the time for auto skew to complete, allowing it to collect more data points before executing the bit rate and crossing time measurements

A color grade measurement query will return 9.99999E+37 until the measurement is complete.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Child Commands

  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

:SOURce specifies the source waveform on which to perform the measurement.

:STATus? queries the measurement status.

:STATus:REASon? query to determine why a measurement failed.

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:CROSsing

Command Syntax

:MEASure:{EYE | CGRade}:CROSsing

Query Syntax

:MEASure:{EYE | CGRade}:CROSsing?

Description

Moves the Crossing Percentage measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Crossing percentage is a measure of the amplitude of the crossing points relative to the one level and zero level. The one and zero level measurements are made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:CROSsing:SOURce CHAN1A
:MEASure:{EYE | CGRade}:CROSsing
:MEASure:{EYE | CGRade}:CROSsing?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:CROSsing:LOCation?

Query Syntax

:MEASure:EYE:CROSsing:LOCation?

Description

Returns an index for the location of the CROSsing measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:CROSsing:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:CROSsing:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:CROSsing:SOURce?

Description

Selects the source waveform on which to perform the CROSsing measurement.


:MEASure:EYE:CROSsing:STATus?

Query Syntax

:MEASure:EYE:CROSsing:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the CROSsing measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:CROSsing:STATus:REASon?

Query Syntax

:MEASure:EYE:CROSsing:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed CROSsing measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:DCDistortion

Command Syntax

:MEASure:{EYE | CGRade}:DCDistortion

Query Syntax

:MEASure:{EYE | CGRade}:DCDistortion?

Description

Moves the Duty Cycle Distortion measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Duty Cycle Distortion is a measure of the time separation between the rising edge and falling edge at the 50% level of the eye diagram (middle threshold). Duty Cycle Distortion is caused by ones having a different duration than zeros. You can choose to view duty cycle distortion expressed as time or percentage (DCDFormat) of the time difference relative to the full bit period. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings.

Child Commands

  • :FORMat sets the format to time or percent.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:EYE:DCDistortion:SOURce CHAN1A
:MEASure:EYE:DCDistortion:DCDFormat TIME
:MEASure:EYE:DCDistortion
:MEASure:EYE:DCDistortion?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:DCDistortion:FORMat

Command Syntax

:MEASure:{EYE | CGRade}:DCDistortion:FORMat  {TIME | PERCent}

Query Syntax

:MEASure:{EYE | CGRade}:DCDistortion:FORMat?

Description

Sets the format of the :DCDistortion measurement to either time or percent. Set the format before turning the measurement on.

Example Command Sequence

:MEASure:EYE:DCDistortion:SOURce CHAN1A
:MEASure:EYE:DCDistortion:DCDFormat TIME
:MEASure:EYE:DCDistortion
:MEASure:EYE:DCDistortion?

  • Learn More


:MEASure:EYE:DCDistortion:LOCation?

Query Syntax

:MEASure:EYE:DCDistortion:LOCation?

Description

Returns an index for the location of the DCDistortion measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:DCDistortion:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:DCDistortion:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:DCDistortion:SOURce?

Description

Selects the source waveform on which to perform the DCDistortion measurement.


:MEASure:EYE:DCDistortion:STATus?

Query Syntax

:MEASure:EYE:DCDistortion:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DCDistortion measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:DCDistortion:STATus:REASon?

Query Syntax

:MEASure:EYE:DCDistortion:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DCDistortion measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:DELTatime

Command Syntax

:MEASure:{EYE | CGRade}:DELTatime

Query Syntax

:MEASure:{EYE | CGRade}:DELTatime?

Description

Moves the Δ Time (Delta Time) measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Use Delta Time to measure the time differences between two waveforms as measured at the first crossing points. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use the :MEASure:THReshold:METHod command to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:DELTatime:SOURce CHAN1A
:MEASure:{EYE | CGRade}:DELTatime
:MEASure:{EYE | CGRade}:DELTatime?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:DELTatime:LOCation?

Query Syntax

:MEASure:EYE:DELTatime:LOCation?

Description

Returns an index for the location of the DELTatime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:DELTatime:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:DELTatime:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:DELTatime:SOURce?

Description

Selects the source waveform on which to perform the DELTatime measurement.


:MEASure:EYE:DELTatime:STATus?

Query Syntax

:MEASure:EYE:DELTatime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DELTatime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:DELTatime:STATus:REASon?

Query Syntax

:MEASure:EYE:DELTatime:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DELTatime measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:DI

Command Syntax

:MEASure:EYE:DI

Query Syntax

:MEASure:EYE:DI?

Description

Performs an Advanced Eye Deterministic Interference (DI) measurement in Eye/Mask mode on NRZ or PAM-4 signals. DI is the amount of vertical interference on a signal that is due to deterministic causes. Since the measurement is made on an eye diagram, the pattern itself can be of any type or length, such as PRBS31. (Jitter Mode is limited to making measurements on patterns up to PRBS16.) The corresponding jitter measurement is Deterministic Jitter (DJ). The DI measurement result is reported for both One and Zero levels. If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

DI is measured using the following steps:

  1. The instrument measures Random Noise (RN), Periodic Interference (PI), and Inter-Symbol Interference (ISI).
  2. The ISI histogram for the one level is convolved with the histogram of the one level RN and PI data, and the same is done for the zero level data. These histograms are referred to as the Total Interference (TI) histograms.
  3. Using the measured value of RN, a dual-dirac model is fit to the TI histogram. The model is fit at a probability of 10E-3 divided by the pattern length.

The random and deterministic components, RI and RN, are determined by analyzing the crossing regions of the eye and measuring random jitter using a Q-scale approach. Separation of RN is made in the presence of all DI components using this method. Total Jitter (TI) is measured at the probabilities specified by :MEASure:EYE:TI:TIBer. To measure RN, use the :MEASure:EYE:RN command. To measure TJ, use the :MEASure:EYE:TI command.

The query form of the command returns the measured DI. If the measurement is already on, the measurement listing is moved to the top of the displayed results table.

To increase measurement accuracy, use RN stabilization:

  1. In Jitter Mode, measure Random Noise (RN) on the signal while using a short pattern.
  2. Switch to Eye/Mask Mode
  3. Use the :MEASure:EYE:DI:RNSTabilize to turn on RN stabilization and :MEASure:EYE:DI:RNSValue commands to specify the short-pattern RJ result measured in step 1.
  4. Switch to a long pattern.
  5. Measure DI, RN, and TI.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

Child Commands

  • :LEVel selects the eye level on which to perform the DI measurement.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :RNSTabilize turns on RN stabilization.
  • :RNSValue enters the RN stabilization value.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

See Also

  • :MEASure:EYE:RN
  • :MEASure:EYE:TI

More Information

  • Advanced Eye Commands
  • Learn about listing measurements in the table
  • Programming Home
  • Subsystem Home

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:EYE:DI:SOURce CHAN1A
:MEASure:EYE:DI?


:MEASure:EYE:DI:LEVel

Command Syntax

:MEASure:EYE:DI:LEVel {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:EYE:DI:LEVel?

Description

Selects the eye diagram's level on which to perform the DI measurement. The LEVel0 and LEVel1 arguments apply to NRZ and PAM-4 signals. The LEVel2 and LEVel3 arguments apply only to PAM-4 signals. If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

Argument | Description
LEVel3 | Selects level 3
LEVel2 | Selects level 2
LEVel1 | Selects level 1
LEVel0 | Selects level 0

License Required

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:DI:LOCation?

Query Syntax

:MEASure:EYE:DI:LOCation?

Description

Returns an index for the location of the DI measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:DI:RNSTabilize

Command Syntax

:MEASure:EYE:DI:RNSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:DI:RNSTabilize?

Description

Turns on or off RN stabilization for the DI measurement. When RN stabilization is on, use the :MEASure:EYE:DI:RNSValue command to enter the RN value. To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. The following list shows that the eye mode DI, Jn, RN, and TI measurements each have RNSTabilize and RNSValue child commands. Because the RNSTabilize commands control the same setting, you can use any of the four commands to turn RN stabilization on or off. Also, because the RNSValue commands enter or query the same variable, you can use any of the four commands to change or query the RN value.

Linked RN Stabilization (On / Off) Commands

The following list shows that linked RNSTabilize commands the DI, RN, and TI measurements. The RNSTabilize command for any of these three measurements turns RN stabilization on or off for all three measurements (DI, RN, and TI).

  • :MEASure:EYE:DI:RNSTabilize
  • :MEASure:EYE:RN:RNSTabilize
  • :MEASure:EYE:TI:RNSTabilize

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:DI:RNSValue:LEVel{0|1|2|3}

Command Syntax

:MEASure:EYE:DI:RNSValue:LEVel{0|1|2|3} <random_noise>

<random_noise> is a double.

Query Syntax

:MEASure:EYE:DI:RNSValue:LEVel{0|1|2|3}?

Description

For a DI measurement, sets the value of RN used for RN stabilization for the selected eye level. PAM-4 signals have four possible levels: 0, 1, 2, and 3. NRZ signals has two possible levels: 0 and 1. There are actually four commands, one for each eye level on the signal.

  • :MEASure:EYE:DI:RNSValue:LEVel3 (for PAM-4 only)
  • :MEASure:EYE:DI:RNSValue:LEVel2 (for PAM-4 only)
  • :MEASure:EYE:DI:RNSValue:LEVel1 (for NRZ and PAM-4)
  • :MEASure:EYE:DI:RNSValue:LEVel0 (for NRZ and PAM-4)

To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. Use the :MEASure:EYE:DI:RNSTabilize command to turn on or off the use of RN stabilization.

Command | Description
RNSValue:LEVel3 | Applies to level 3.
RNSValue:LEVel2 | Applies to level 2.
RNSValue:LEVel1 | Applies to level 1.
RNSValue:LEVel0 | Applies to level 0.

Linked RN Stabilization (On / Off) Commands

The following commands are equivalent. Turn on setting on and they are all turned on.

  • :MEASure:EYE:DI:RNSTabilize
  • :MEASure:EYE:RN:RNSTabilize
  • :MEASure:EYE:TI:RNSTabilize

Linked RN Value Commands

The RNSValue:LEVel commands for the same eye level are equivalent. Use one of a commands to enter a value for one level on a measurement and it is changed for the other three measurements. For example, enter the level two value for a DI measurement and the level two value is also entered for RN and TI measurements.

  • :MEASure:EYE:DI:RNSValue:LEVel2
  • :MEASure:EYE:RN:RNSValue:LEVel2
  • :MEASure:EYE:TI:RNSValue:LEVel2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:DI:SOURce

Command Syntax

:MEASure:EYE:DI:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:DI:SOURce?

Description

Selects the source waveform on which to perform the DI measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:DI:STATus?

Query Syntax

:MEASure:EYE:DI:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DI measurement. Use the STATus:REASon? query to determine the reason for a invalid or questionable measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:DI:STATus:REASon?

Query Syntax

:MEASure:EYE:DI:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DI measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:DJ

Command Syntax

:MEASure:EYE:DJ

Query Syntax

:MEASure:EYE:DJ?

Description

Performs an Advanced Eye Deterministic Jitter (DJ) measurement in Eye/Mask mode. To selects the eye in an NRZ or PAM-4 eye diagram on which to perform the measurement, use the :MEASURE:EYE:DJ:EYE command. Since the measurement is made on an eye diagram, the pattern itself can be of any type or length, such as PRBS31. (Jitter Mode is limited to making measurements on patterns up to PRBS16.) The random and deterministic components, RJ and DJ, are determined by analyzing the crossing regions of the eye and measuring random jitter using a Q-scale approach. Separation of RJ is made in the presence of all DJ components using this method. Total Jitter (TJ) is measured at the probabilities specified by :MEASure:EYE:TJ:TJBer. To measure RJ, use the :MEASure:EYE:RJ command. To measure TJ, use the :MEASure:EYE:TJ command.

The query form of the command returns the measured DJ. If the measurement is already on, the measurement listing is moved to the top of the displayed results table.

To increase measurement accuracy, use RJ stabilization:

  1. In Jitter Mode, measure Random Jitter (RJ) on the signal while using a short pattern.
  2. Switch to Eye/Mask Mode
  3. Use the :MEASure:EYE:DJ:RJSTabilize to turn on RJ stabilization and :MEASure:EYE:DJ:RJSValue commands to specify the short-pattern RJ result measured in step 1.
  4. Switch to a long pattern.
  5. Measure DJ, RJ, and TJ.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :EYE selects the eye on which to perform the measurement
  • :RJSTabilize turns on RJ stabilization.
  • :RJSValue enters the RJ stabilization value.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

See Also

  • :MEASure:EYE:RJ
  • :MEASure:EYE:TJ
  • :MEASure:EYE:TJ:TJBer
  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:DJ:RJSValue

More Information

  • Advanced Eye Commands
  • Learn about listing measurements in the table
  • Programming Home
  • Subsystem Home

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:EYE:DJ:SOURce CHAN1A
:MEASure:EYE:DJ?


:MEASure:EYE:DJ:EYE

Command Syntax

:MEASure:EYE:DJ:EYE {EYE0 | EYE1 | EYE2}

Query Syntax

:MEASure:EYE:DJ:EYE?

Description

Selects the eye in an NRZ or PAM-4 eye diagram on which to perform the DJ measurement. The EYE0 and EYE1 arguments apply to NRZ and PAM-4 signals. The EYE2 argument applies only to PAM-4 signals. If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

Argument | Description
EYE2 | Selects eye 2/3
EYE1 | Selects eye 1/2
EYE0 | Selects eye 0/1

License Required

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:DJ:LOCation?

Query Syntax

:MEASure:EYE:DJ:LOCation?

Description

Returns an index for the location of the DJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:DJ:RJSTabilize

Command Syntax

:MEASure:EYE:DJ:RJSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:DJ:RJSTabilize?

Description

Turns on or off RJ stabilization. When RJ stabilization is on, use the :MEASure:EYE:DJ:RJSValue command to enter the RJ value. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. The following lists show that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use any of the four commands to change or query the RJ value.

Equivalent RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Equivalent RJ Value Commands

  • :MEASure:EYE:DJ:RJSValue
  • :MEASure:EYE:JN:RJSValue
  • :MEASure:EYE:RJ:RJSValue
  • :MEASure:EYE:TJ:RJSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:DJ:RJSValue:EYE{0|1|2}

Command Syntax

:MEASure:EYE:DJ:RJSValue:EYE{0|1|2} <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:DJ:RJSValue:EYE{0|1|2}?

Description

For Random Jitter (RJ) stabilization, sets the value of RJ for the selected eye. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :MEASure:EYE:DJ:RJSTabilize command to turn on or off the use of RJ stabilization.

The following table shows that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off.

Command | Description
:EYE2 | Applies to eye 2/3.
:EYE1 (or :EYE) | Applies to eye 1/2.
:EYE0 | Applies to eye 0/1.

Linked RJ Stabilization (On / Off) Commands

The following commands are equivalent. Turn on setting on and they are all turned on.

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Linked RJ Value Commands

The RJSValue:EYE commands for the same eye number are equivalent. Use one of a command to enter a value for one level on a measurement and it is changed for the other three measurements. For example, enter the value of a DJ measurement one Eye 2 and the value is entered for JN, RM, and TJ measurements.

  • :MEASure:EYE:DJ:RJSValue:EYE2
  • :MEASure:EYE:JN:RJSValue:EYE2
  • :MEASure:EYE:RJ:RJSValue:EYE2
  • :MEASure:EYE:TJ:RJSValue:EYE2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:DJ:SOURce

Command Syntax

:MEASure:EYE:DJ:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:DJ:SOURce?

Description

Selects the source waveform on which to perform the DJ measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:DJ:STATus?

Query Syntax

:MEASure:EYE:DJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:DJ:STATus:REASon?

Query Syntax

:MEASure:EYE:DJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:ECTime

Command Syntax

:MEASure:{EYE | CGRade}:ECTime

Query Syntax

:MEASure:{EYE | CGRade}:ECTime?

Description

Moves the Crossing time measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Crossing time is a measure of time from the horizontal reference point to the eye diagram's crossing point. The horizontal reference point defines a specific delay value relative to the trigger event and is marked by the gray triangle shown on the top left or top center edge of the graticule. Crossing time is the time when the crossing data point was sampled, relative to the trigger event. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use the :MEASure:THReshold:METHod command to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:ECTime:SOURce CHAN1A
:MEASure:{EYE | CGRade}:ECTime
:MEASure:{EYE | CGRade}:ECTime?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:ECTime:LOCation?

Query Syntax

:MEASure:EYE:ECTime:LOCation?

Description

Returns an index for the location of the ECTime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:ECTime:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:ECTime:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:ECTime:SOURce?

Description

Selects the source waveform on which to perform the ECTime measurement.


:MEASure:EYE:ECTime:STATus?

Query Syntax

:MEASure:EYE:ECTime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ECTime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:ECTime:STATus:REASon?

Query Syntax

:MEASure:EYE:ECTime:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ECTime measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:EHEight

Command Syntax

:MEASure:{EYE | CGRade}:EHEight

Query Syntax

:MEASure:{EYE | CGRade}:EHEight?

Description

Moves the Eye height measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Eye height is a measure of the vertical opening of an eye diagram. An ideal eye opening would be measured from the one level to the zero level. However, noise on the eye will cause the eye to close. The eye height measurement determines eye closure due to noise. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings.

Child Commands

  • :FORMat sets the measurement format.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:EHEight:SOURce CHAN1A
:MEASure:{EYE | CGRade}:EHEight
:MEASure:{EYE | CGRade}:EHEight?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:EHEight:FORMat

Command Syntax

:MEASure:{EYE | CGRade}:EHEight:FORMat {AMPLitude | RATio}

Query Syntax

:MEASure:{EYE | CGRade}:EHEight:FORMat?

Description

Sets the measurement format of the :EHEight measurement to either the current amplitude units or as a ratio. Set the format before turning the measurement on.

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:EHEight:LOCation?

Query Syntax

:MEASure:EYE:EHEight:LOCation?

Description

Returns an index for the location of the EHEight measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:EHEight:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:EHEight:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:EHEight:SOURce?

Description

Selects the source waveform on which to perform the EHEight measurement.


:MEASure:EYE:EHEight:STATus?

Query Syntax

:MEASure:EYE:EHEight:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the EHEight measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:EHEight:STATus:REASon?

Query Syntax

:MEASure:EYE:EHEight:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed EHEight measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:ERATio

Command Syntax

:MEASure:{EYE | CGRade}:ERATio

Query Syntax

:MEASure:{EYE | CGRade}:ERATio?

Description

Moves the extinction ratio measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Extinction ratio is the ratio of the one level and the zero level of an eye diagram of an optical signal. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :UNITs selects the units of measurement for the :ERATio measurement
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:ERATio:SOURce CHAN1A
:MEASure:{EYE | CGRade}:ERATio
:MEASure:{EYE | CGRade}:ERATio?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:ERATio:LOCation?

Query Syntax

:MEASure:EYE:ERATio:LOCation?

Description

Returns an index for the location of the ERATio measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:ERATio:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:ERATio:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:ERATio:SOURce?

Description

Selects the source waveform on which to perform the ERATio measurement.


:MEASure:EYE:ERATio:STATus?

Query Syntax

:MEASure:EYE:ERATio:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ERATio measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:ERATio:STATus:REASon?

Query Syntax

:MEASure:EYE:ERATio:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ERATio measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:ERATio:UNITs

Command Syntax

:MEASure:{EYE | CGRade}:ERATio:UNITs  {DECibel | PERCent | RATio}

Query Syntax

:MEASure:{EYE | CGRade}:ERATio:UNITs?

Description

Selects the units of measurement for the extinction ratio measurement (:MEASure:EYE:ERATio).


:MEASure:EYE:ESN

Command Syntax

:MEASure:{EYE | CGRade}:ESN

Query Syntax

:MEASure:{EYE | CGRade}:ESN?

Description

Moves the Signal-to-Noise measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Signal-to-Noise is a ratio of the signal difference between one level and zero level relative to the noise present at both levels. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings..

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:ESN:SOURce CHAN1A
:MEASure:{EYE | CGRade}:ESN
:MEASure:{EYE | CGRade}:ESN?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:ESN:LOCation?

Query Syntax

:MEASure:EYE:ESN:LOCation?

Description

Returns an index for the location of the ESN measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:ESN:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:ESN:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:ESN:SOURce?

Description

Selects the source waveform on which to perform the ESN measurement.


:MEASure:EYE:ESN:STATus?

Query Syntax

:MEASure:EYE:ESN:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ESN measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:ESN:STATus:REASon?

Query Syntax

:MEASure:EYE:ESN:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ESN measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:EWIDth

Command Syntax

:MEASure:{EYE | CGRade}:EWIDth

Query Syntax

:MEASure:{EYE | CGRade}:EWIDth?

Description

Moves the Eye Width measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Eye Width is a measure of the horizontal opening of an eye diagram. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use the :MEASure:THReshold:METHod command to change the definition of the waveform's threshold.

Child Commands

  • :FORMat sets the measurement format.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:EWIDth:SOURce CHAN1A
:MEASure:{EYE | CGRade}:EWIDth
:MEASure:{EYE | CGRade}:EWIDth?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:EWIDth:FORMat

Command Syntax

:MEASure:{EYE | CGRade}:EWIDth:FORMat  {TIME | RATio}

Query Syntax

:MEASure:{EYE | CGRade}:EWIDth:FORMat?

Description

Selects the format of the :EWIDth measurement to either time or a ratio. Set the format before turning the measurement on.

  • Learn More


:MEASure:EYE:EWIDth:LOCation?

Query Syntax

:MEASure:EYE:EWIDth:LOCation?

Description

Returns an index for the location of the EWIDth measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:EWIDth:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:EWIDth:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:EWIDth:SOURce?

Description

Selects the source waveform on which to perform the EWIDth measurement.


:MEASure:EYE:EWIDth:STATus?

Query Syntax

:MEASure:EYE:EWIDth:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the EWIDth measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:EWIDth:STATus:REASon?

Query Syntax

:MEASure:EYE:EWIDth:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed EWIDth measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:FALLtime

Command Syntax

:MEASure:{EYE | CGRade}:FALLtime

Query Syntax

:MEASure:{EYE | CGRade}:FALLtime?

Description

Moves the Fall Time measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Fall Time is a measure of the mean transition time of the data on the downward slope of an eye diagram. The data crosses through the following three data thresholds: the upper, middle, and lower thresholds, as well as through the eye crossing points. The default setting for the threshold levels are the 10% to 90% points on the transition. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use the :MEASure:THReshold:METHod command to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:FALLtime:SOURce CHAN1A
:MEASure:{EYE | CGRade}:FALLtime
:MEASure:{EYE | CGRade}:FALLtime?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:FALLtime:LOCation?

Query Syntax

:MEASure:EYE:FALLtime:LOCation?

Description

Returns an index for the location of the FALLtime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:FALLtime:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:FALLtime:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:FALLtime:SOURce?

Description

Selects the source waveform on which to perform the FALLtime measurement.


:MEASure:EYE:FALLtime:STATus?

Query Syntax

:MEASure:EYE:FALLtime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the FALLtime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:FALLtime:STATus:REASon?

Query Syntax

:MEASure:EYE:FALLtime:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed FALLtime measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:JITTer

Command Syntax

:MEASure:{EYE | CGRade}:JITTer

Query Syntax

:MEASure:{EYE | CGRade}:JITTer?

Description

Moves the Jitter measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Jitter is the measure of the time variances of the rising and falling edges of an eye diagram, as these edges affect the crossing point of the eye. Use the FORMat child command to select the jitter format: RMS or peak-to-peak. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :EBOundary:LEFT and :EBOundary:RIGHt command to change the eye boundary settings from their default setting.

Child Commands

  • :FORMat selects the format of the :JITTer measurement.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:JITTer:SOURce CHAN1A
:MEASure:{EYE | CGRade}:JITTer RMS
:MEASure:{EYE | CGRade}:JITTer
:MEASure:{EYE | CGRade}:JITTer?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:JITTer:FORMat

Command Syntax

:MEASure:{EYE | CGRade}:JITTer:FORMat  {PP | RMS}

Query Syntax

:MEASure:{EYE | CGRade}:JITTer:FORMat?

Description

Selects the format of the :JITTer measurement: peak-to-peak or RMS. Set the format before turning the measurement on. Jitterp-p is equal to the full width of the histogram at the eye crossing point.

JitterRMS is defined as 1σ (standard deviation) of the crossing point histogram.

  • Learn More


:MEASure:EYE:JITTer:LOCation?

Query Syntax

:MEASure:EYE:JITTer:LOCation?

Description

Returns an index for the location of the JITTer measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:JITTer:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:JITTer:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:JITTer:SOURce?

Description

Selects the source waveform on which to perform the JITTer measurement.


:MEASure:EYE:JITTer:STATus?

Query Syntax

:MEASure:EYE:JITTer:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JITTer measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:JITTer:STATus:REASon?

Query Syntax

:MEASure:EYE:JITTer:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JITTer measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:JN

Command Syntax

:MEASure:EYE:JN

Query Syntax

:MEASure:EYE:JN?

Description

Performs an Advanced Eye J2, J5, or J9 measurement, which measures the total jitter associated with a specific bit error ratio (BER). To selects the eye in an NRZ or PAM-4 eye diagram on which to perform the measurement, use the :MEASURE:EYE:JN:EYE command. The following table lists each measurement with the BER value at which the measurement is made. Use the :MEASure:EYE:JN:SJN command to select a J2, J5, or J9 measurement. Moves the measurement result to the top of the Results table, if it is already shown on the table. The query form of the command returns the measured value.

Measurement and Associated BER
Measurement | BER
J2 | 2.5E-3 (2.5 x 10–3)
J5 | 2.5E-6 (2.5 x 10–6)
J9 | 2.5E-10 (2.5 x 10–10)

To increase measurement accuracy, use the following steps:

  1. In Jitter Mode, measure Random Jitter (RJ) on a shorter pattern.
  2. Switch to Eye/Mask Mode
  3. Use the :MEASure:EYE:JN:RJSTabilize and :MEASure:EYE:JN:RJSValue commands to specify the short-pattern RJ result to be used for the DJ, RJ, and TJ measurements.
  4. Switch to a long pattern.
  5. Measure JN.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :EYE selects the eye on which to perform the measurement
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :RJSTabilize enters a specific RJ value to use when making a J2, J5, or J9 measurement.
  • :RJSValue enters the value of RJ used for RJ stabilization.
  • :SJN selects a J2, J5, or J9 measurement.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

See Also

  • :MEASure:EYE:DJ
  • :MEASure:EYE:RJ
  • :MEASure:EYE:TJ

More Information

  • Advanced Eye Commands
  • Learn about listing measurements in the table
  • Programming Home
  • Subsystem Home

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:EYE:RJ:SOURce CHAN1A
:MEASure:EYE:RJ?


:MEASure:EYE:JN:EYE

Command Syntax

:MEASure:EYE:JN:EYE {EYE0 | EYE1 | EYE2}

Query Syntax

:MEASure:EYE:JN:EYE?

Description

Selects the eye in an NRZ or PAM-4 eye diagram on which to perform the JN measurement. The EYE0 and EYE1 arguments apply to NRZ and PAM-4 signals. The EYE2 argument applies only to PAM-4 signals. If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

Argument | Description
EYE2 | Selects eye 2/3
EYE1 | Selects eye 1/2
EYE0 | Selects eye 0/1

License Required

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:JN:LOCation?

Query Syntax

:MEASure:EYE:JN:LOCation?

Description

Returns an index for the location of the JN measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:JN:RJSTabilize

Command Syntax

:MEASure:EYE:JN:RJSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:JN:RJSTabilize?

Description

Turns on or off RJ stabilization. When RJ stabilization is on, use the :MEASure:EYE:JN:RJSValue command to enter the RJ value. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. The following lists show that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use any of the four commands to change or query the RJ value.

Equivalent RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Equivalent RJ Value Commands

  • :MEASure:EYE:DJ:RJSValue
  • :MEASure:EYE:JN:RJSValue
  • :MEASure:EYE:RJ:RJSValue
  • :MEASure:EYE:TJ:RJSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:JN:RJSValue:EYE{0|1|2}

Command Syntax

:MEASure:EYE:JN:RJSValue:EYE{0|1|2} <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:JN:RJSValue:EYE{0|1|2}?

Description

For Random Jitter (RJ) stabilization, sets the value of RJ for the selected eye. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :MEASure:EYE:JN:RJSTabilize command to turn on or off the use of RJ stabilization.

The following table shows that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off.

Command | Description
:EYE2 | Applies to eye 2/3.
:EYE1 (or :EYE) | Applies to eye 1/2.
:EYE0 | Applies to eye 0/1.

Linked RJ Stabilization (On / Off) Commands

The following commands are equivalent. Turn on setting on and they are all turned on.

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Linked RJ Value Commands

The RJSValue:EYE commands for the same eye number are equivalent. Use one of a command to enter a value for one level on a measurement and it is changed for the other three measurements. For example, enter the value of a DJ measurement one Eye 2 and the value is entered for JN, RM, and TJ measurements.

  • :MEASure:EYE:DJ:RJSValue:EYE2
  • :MEASure:EYE:JN:RJSValue:EYE2
  • :MEASure:EYE:RJ:RJSValue:EYE2
  • :MEASure:EYE:TJ:RJSValue:EYE2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:JN:SJN

Command Syntax

:MEASure:EYE:JN:SJN {J2 | J5 | J9}

Query Syntax

:MEASure:EYE:JN:SJN?

Description

Selects a J2, J5, or J9 measurement results for TJ associated with a specific bit error ratio (BER).

J2
Associates TJ with a measurement BER of of 2.5 x 10−3.
J5
Associates TJ with a measurement BER of of 2.5 x 6−6.
J9
Associates TJ with a measurement BER of of 2.5 x 10–10.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:JN:SOURce

Command Syntax

:MEASure:EYE:JN:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:JN:SOURce?

Description

Selects the source waveform on which to perform the JN measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:JN:STATus?

Query Syntax

:MEASure:EYE:JN:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JN measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:JN:STATus:REASon?

Query Syntax

:MEASure:EYE:JN:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:LIST:CLEar

Command Syntax

:MEASure:{EYE | CGRade}:LIST:CLEar

Description

Clears the entire active measurement list in the displayed Results table.

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:EYE:LIST:CLEar


:MEASure:EYE:LIST:REMove

Command Syntax

:MEASure:EYE:LIST:REMove <index>

<index> is an int.

Description

Removes the selected interference measurement from the active measurement list, which is displayed in the Results table. Argument <N> is an index number that specifies the measurement to be removed. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:EYE:FALLtime:LOCation?.

Example Command Sequence

Read the location of the Falltime result in the table, send the REMove command with the returned value. In this case 2.

:SYSTem:MODE EYE
:MEASure:EYE:FALLtime:LOCation?
…
…
:MEASure:EYE:LIST:REMove 2


:MEASure:EYE:LIST:SELect

Command Syntax

:MEASure:{EYE | CGRade}:LIST:SELect  <index>

<index> is an int.

Query Syntax

:MEASure:{EYE | CGRade}:LIST:SELect?

Description

Selects an measurement in the active measurement list, which is displayed in the Results table. Annotations for the selected measurement are placed on the displayed waveform at the level or coordinate used to calculate the final measurement result.

The argument is an index number that specifies the measurement to select. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:EYE:FALLtime:LOCation?.

Example Command Sequence

Read the measurement location in the active measurement list, send the SELect command using the returned value. In this case 2.

:SYSTem:MODE EYE
:MEASure:EYE:FALLtime:LOCation?
…
…
:MEASure:EYE:LIST:SELect 2


:MEASure:EYE:OLEVel

Command Syntax

:MEASure:{EYE | CGRade}:OLEVel

Query Syntax

:MEASure:{EYE | CGRade}:OLEVel?

Description

Moves the One Level measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. One Level is a measure of the mean value of the logical 1 of an eye diagram. This measurement is made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:EYE:OLEVel:SOURce CHAN1A
:MEASure:EYE:OLEVel
:MEASure:EYE:OLEVel?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:OLEVel:LOCation?

Query Syntax

:MEASure:EYE:OLEVel:LOCation?

Description

Returns an index for the location of the OLEVel measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:OLEVel:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:OLEVel:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:OLEVel:SOURce?

Description

Selects the source waveform on which to perform the OLEVel measurement.


:MEASure:EYE:OLEVel:STATus?

Query Syntax

:MEASure:EYE:OLEVel:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the OLEVel measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:OLEVel:STATus:REASon?

Query Syntax

:MEASure:EYE:OLEVel:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed OLEVel measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:PAM:EHeight

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EHeight

Query Syntax

:MEASure:EYE:PAM:EHeight?

Description

Starts Eye/Mask mode's Eye Height measurement. Eye Height measures the vertical opening for the selected eye of a PAM-4 signal. Select the eye to be measured using the :EYE child command. To measure the eye height for all of the eyes on a PAM-4 signal, you must send this command once for each eye as there is no command for simultaneously measuring all eyes.

For each eye, the eye height is derived from eye boundaries that are located based on zero data "hits" or at an eye opening probability (:DEFine:EOPening child command). The probability defines the ratio of total hits in a waveform database column that can occur in the eye's opening. The probablility can be set from 1 x 10–1 to 1 x 10–9 using the :DEFine:EOPening:PROBability child command. The default probability is 1 x 10–2. No extrapolation is used to determine Eye Widths at a specified probability.

Specify the measurement units with the :MEASure:EYE:PAM:AMPLitude:UNITs command.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:EYE:PAM:EHeight:DEFine:EOPening | – | Selects the method used to determine the eye-opening.
:MEASure:EYE:PAM:EHeight:DEFine:EOPening:PROBability | – | Sets the eye-opening probability for the measurement.
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
:MEASure:PAM:EYE:PPERcent | Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
:MEASure:PAM:AMPLitude:UNITs | Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Child Commands

  • :DEFine:EOPening selects method to determine eye opening.
  • :DEFine:EOPening:PROBability sets probability target.
  • :DEFine:EOPening:RJSTabilize turns on or off RJ stabilization.
  • :DEFine:EOPening:RJSValue enters the value of RJ used for RJ stabilization.
  • :DEFine:EOPening:RNSTabilize turns on or off RN stabilization.
  • :DEFine:EOPening:RNSValue sets the value of RN used for RN stabilization.
  • :EYE selects the eye to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:EYE:PAM:EHEight:SOURce CHAN1A
:MEASure:PAM:AMPLitude:UNITs PERCent
:MEASure:EYE:PAM:EHeight:DEFine:EOPening ZHITs
:MEASure:EYE:PAM:EHEight:EYE EYE2
:MEASure:EYE:PAM:EHEight
:MEASure:EYE:PAM:EHEight?

More Information

  • Eye Heights measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:EHeight:DEFine:EOPening

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EHeight:DEFine:EOPening {ZHITs | PROBability}

Query Syntax

:MEASure:EYE:PAM:EHeight:DEFine:EOPening?

Description

Selects the method used to determine the eye-opening: zero hits (ZHITs) or probability (PROBabilitly). If probability is selected, use the :DEFine:EOPening:PROBability child command to enter the probability. The entered measurement-hit probability establishes the contour of an eye's opening. The default value is 1 x 10–18.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EHeight:DEFine:EOPening:PROBability

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

EYE:PAM:EHeight:DEFine:EOPening:PROBability <probability>

<probability> is a double.

Query Syntax

EYE:PAM:EHeight:DEFine:EOPening:PROBability?

Description

Sets the eye-opening probability for the Eye Height measurement. The entered measurement-hit probability establishes the contour of an eye's opening. The probablility can be set from 1 x 10–1 to 1 x 10–9. The default probability is 1 x 10–2. No extrapolation is used to determine Eye Widths at a specified probability. To select to use a probability target instead of zero data hits, use the :DEFine:EOPening parent command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize?

Description

Turns on or off RJ stabilization for PAM-4 Eye Height and Eye Width measurements. When RJ stabilization is on, use the :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSValue command to enter the RJ value. To determine the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument.

The following lists shows that the stabilization and value settings are linked for PAM-4 Eye Heights and Eye Widths measurements. Because the RJSTabilize commands control the same setting, you can use either of the two commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use either of the two commands to change or query the RJ value.

Linked RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize

Linked RJ Value Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSValue
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSValue:EYE{0|1|2}

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EHeigh:DEFine:EOPening:RJSValue:EYE{0|1|2} <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:PAM:EHeigh:DEFine:EOPening:RJSValue:EYE{0|1|2}?

Description

For Random Jitter (RJ) stabilization, sets the value of RJ for the selected eye on Eye Width and Eye Height measurements. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument. Use the :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize command to turn on or off the use of RJ stabilization.

Command | Description
:EYE2 | Applies to eye 2/3.
:EYE1 (or :EYE) | Applies to eye 1/2.
:EYE0 | Applies to eye 0/1.

Linked RJ Stabilization (On / Off) Commands

The Eye Width and Eye Height RJSTablilize are equivalent.

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize

Linked RJ Value Commands

The RJSValue:EYE commands for the same eye level for Eye Width and Eye Height measurements are equivalent. Use one of a commands to enter a value for one level on a measurement and it is changed on both measurements. For example, enter the eye two value for an Eye Height measurement and the eye two value is also entered for for an Eye Width measurement.

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSValue:EYE2
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue:EYE2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize?

Description

Turns on or off RN stabilization for the PAM-4 EHeight measurement. When RN stabilization is on, use the :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue command to enter the RN value. To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. The following lists show the linked RNSTabilize and RNSValue commands for EHeight and EWIDth. For example, setting RN stabilization on for EHeight also turns it on for EWIDth.

Linked PAM-4 Stabilization (On / Off) Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize

Linked PAM-4 Value Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel{0|1|2|3}

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel{0|1|2|3} <random_noise>

<random_noise> is a double.

Query Syntax

:MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue?

Description

For a PAM-4 Eye Height measurement, sets the value of RN used for RN stabilization for the selected eye level. PAM-4 signals have four possible levels: 0, 1, 2, and 3. NRZ signals has two possible levels: 0 and 1. There are actually four commands, one for each eye level on the signal.

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel3 (for PAM-4 only)
  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel2 (for PAM-4 only)
  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel1 (for NRZ and PAM-4)
  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel0 (for NRZ and PAM-4)

To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. Use the :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize command to turn on or off the use of RN stabilization.

Command | Description
RNSValue:LEVel3 | Applies to level 3.
RNSValue:LEVel2 | Applies to level 2.
RNSValue:LEVel1 | Applies to level 1.
RNSValue:LEVel0 | Applies to level 0.

The following lists show the linked RNSTabilize and RNSValue commands for EHeight and EWIDth. For example, setting RN stabilization on for EHeight also turns it on for EWIDth.

Linked RN Stabilization (On / Off) Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize

Linked RN Value Commands

The RNSValue:LEVel commands for the same eye level for Eye Width and Eye Height measurements are equivalent. Use one of a commands to enter a value for one level on a measurement and it is changed on both measurements. For example, enter the level two value for an Eye Height measurement and the level two value is also entered for for an Eye Width measurement.

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel2
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:PAM:EHeight:EYE

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EHeight:EYE {EYE0 | EYE1 | EYE2}

Query Syntax

:MEASure:EYE:PAM:EHeight:EYE?

Description

Selects the eye of a PAM-4 or NRZ signal for which the eye height will be measured. The actual measurement is made with the :EHeight parent command is sent. PAM-4 signals have 3 possible eyes: 0, 1, and 2. NRZ signals have one possible eye: 0.

Arguments | Description
EYE2 | Selects Eye 2/3.
EYE1 | Selects Eye 1/2.
EYE0 | Selects Eye 0/1.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EHeight:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:EHeight:LOCation?

Description

Returns an location index of the EHEight measurement for PAM4 or NRZ signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EHeight:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EHeight:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:EHeight:SOURce?

Description

Selects the source waveform on which to perform the EHEight measurement for PAM4 or NRZ signals. The source must be an eye diagram.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EHeight:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:EHeight:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the EHEight measurement for PAM4 or NRZ signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EHeight:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:EHeight:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed EHEight measurement for PAM4 or NRZ signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ELEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:ELEVel

Query Syntax

:MEASure:EYE:PAM:ELEVel?

Description

Starts Eye/Mask mode's Eye Level measurement where the center amplitude of the selected eye (vertical center) of a PAM-4 signal is measured. Select the eye to be measured using the :EYE child command. To measure the eye levels for all of the eyes on a PAM-4 signal, you must send this command once for each eye as there is no command for simultaneously measuring all eye levels. The query form of the command returns the measured value. Sources can be any displayed PAM-4 or NRZ waveform from a channel, differential channel, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
:MEASure:PAM:EYE:PPERcent | Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
:MEASure:PAM:AMPLitude:UNITs | Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Child Commands

  • :EYE selects the eye to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:EYE:PAM:ELEVel:SOURce CHAN1A
:MEASure:PAM:AMPLitude:UNITs PERCent
:MEASure:EYE:PAM:ELEVel:EYE EYE2
:MEASure:EYE:PAM:ELEVel
:MEASure:EYE:PAM:ELEVel?

More Information

  • Eye Levels measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:ELEVel:EYE

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:ELEVel:EYE {EYE0 | EYE1 | EYE2}

Description

Selects the eye of a PAM-4 or NRZ signal for which the eye levels will be measured. The actual measurement is made with the :ELEVel parent command is sent. PAM-4 signals have 3 possible eyes: 0, 1, and 2. NRZ signals have one possible eye: 0.

Arguments | Description
EYE2 | Selects Eye 2/3.
EYE1 | Selects Eye 1/2.
EYE0 | Selects Eye 0/1.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ELEVel:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:ELEVel:LOCation?

Description

Returns an location index of the ELEVel measurement for PAM4 or NRZ signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ELEVel:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:ELEVel:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:ELEVel:SOURce?

Description

Selects the source waveform on which to perform the ELEVel measurement for PAM4 or NRZ signals. The source must be an eye diagram.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ELEVel:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:ELEVel:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ELEVel measurement for PAM4 or NRZ signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ELEVel:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:ELEVel:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ELEVel measurement for PAM4 or NRZ signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ESKew

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:ESKew

Query Syntax

:MEASure:EYE:PAM:ESKew?

Description

Starts Eye/Mask mode's Eye Skews measurement where the skew (seconds or UI) of an eye is measured on a PAM-4 signal. Select the eye to be measured using the :EYE child command. To measure the eye skews for all of the eyes on a PAM-4 signal, you must send this command once for each eye as there is no command for simultaneously measuring all eye skews.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
:MEASure:PAM:EYE:PPERcent | Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
:MEASure:PAM:EYE:TIME:UNITs | Time Units | Sets the time units measurement: seconds or unit intervals.

Child Commands

  • :EYE selects the eye to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:EYE:PAM:ESKew:SOURce CHAN1A
:MEASure:EYE:PAM:TIME:UNITs UINTerval
:MEASure:EYE:PAM:ESKew:EYE EYE1
:MEASure:EYE:PAM:ESKew
:MEASure:EYE:PAM:ESKew?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Eye Skews measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:ESKew:EYE

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:ESKew:EYE {EYE0 | EYE1 | EYE2}

Query Syntax

:MEASure:EYE:PAM:ESKew:EYE?

Description

Selects the eye of a PAM-4 or NRZ signal for which the eye skews will be measured. The actual measurement is made with the :ESKew parent command is sent. PAM-4 signals have 3 possible eyes: 0, 1, and 2. NRZ signals have one possible eye: 0.

Arguments | Description
EYE2 | Selects Eye 2/3.
EYE1 | Selects Eye 1/2.
EYE0 | Selects Eye 0/1.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ESKew:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:ESKew:LOCation?

Description

Returns an location index of the ESKew measurement for PAM4 or NRZ signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ESKew:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:ESKew:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:ESKew:SOURce?

Description

Selects the source waveform on which to perform the ESKew measurement for PAM4 or NRZ signals. The source must be an eye diagram.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ESKew:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:ESKew:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ESKew measurement for PAM4 or NRZ signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:ESKew:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:ESKew:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ESKew measurement for PAM4 or NRZ signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EWIDth

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EWIDth

Query Syntax

:MEASure:EYE:PAM:EWIDth?

Description

Starts Eye/Mask mode's Eye Width measurement. Eye Width measures the horizontal opening for the selected eye of a PAM-4 signal. Select the eye to be measured using the :EYE child command. To measure the eye width for all of the eyes on a PAM-4 signal, you must send this command once for each eye as there is no command for simultaneously measuring all eyes.

For each eye, the eye width is derived from eye boundaries that are located based on zero data "hits" or at an eye opening probability (:DEFine:EOPening child command). The probability defines the ratio of total hits in a waveform database column that can occur in the eye's opening. The probablility can be set from 1 x 10–1 to 1 x 10–9 using the :DEFine:EOPening:PROBability child command. The default probability is 1 x 10–2. No extrapolation is used to determine Eye Widths at a specified probability.

Specify the measurement units with the :MEASure:PAM:TIME:UNITs command.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:EYE:PAM:EWIDth:DEFine:EOPening | – | Selects the method used to determine the eye-opening.
:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:PROBability | – | Sets the eye-opening probability for the measurement.
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
:MEASure:PAM:EYE:TIME:UNITs | Time Units | Sets the time units for measurement: seconds or unit intervals.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Child Commands

  • :DEFine:EOPening selects method to determine eye opening.
  • :DEFine:EOPening:PROBability sets probability target.
  • :DEFine:EOPening:RJSTabilize turns on or off RJ stabilization.
  • :DEFine:EOPening:RJSValue enters the value of RJ used for RJ stabilization.
  • :DEFine:EOPening:RNSTabilize turns on or off RN stabilization.
  • :DEFine:EOPening:RNSValue sets the value of RN used for RN stabilization.
  • :EYE selects the eye to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:EYE:PAM:EWIDth:SOURce CHAN1A
:MEASure:PAM:TIME:UNITs SECond
:MEASure:EYE:PAM:EWIDth:DEFine:EOPening ZHITs
:MEASure:EYE:PAM:EWIDth:EYE EYE2
:MEASure:EYE:PAM:EWIDth
:MEASure:EYE:PAM:EWIDth?

More Information

  • Eye Widths measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:EWIDth:DEFine:EOPening

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

EYE:PAM:EWIDth:DEFine:EOPening {ZHITs | PROBability}

Query Syntax

EYE:PAM:EWIDth:DEFine:EOPening?

Description

Selects the method used to determine the eye-opening: zero hits (ZHITs) or probability (PROBabilitly). If probability is selected, use the :DEFine:EOPening:PROBability child command to enter the probability. The entered measurement-hit probability establishes the contour of an eye's opening. The default value is 1 x 10–18.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:PROBability

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

EYE:PAM:EWIDth:DEFine:EOPening:PROBability <probability>

<probability> is a double.

Query Syntax

EYE:PAM:EWIDth:DEFine:EOPening:PROBability?

Description

Sets the eye-opening probability for the Eye Widths measurement. The entered measurement-hit probability establishes the contour of an eye's opening. The probablility can be set from 1 x 10–1 to 1 x 10–9. The default probability is 1 x 10–2. No extrapolation is used to determine Eye Widths at a specified probability. To select to use a probability target instead of zero data hits, use the :DEFine:EOPening parent command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize?

Description

Turns on or off RJ stabilization for PAM-4 Eye Width and Eye Height measurements. When RJ stabilization is on, use the :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue command to enter the RJ value. To determine the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument.

The following lists shows that the stabilization settings are linked for PAM-4 Eye Heights and Eye Widths measurements. Because the RJSTabilize commands control the same setting, you can use either of the two commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use either of the two commands to change or query the RJ value.

Linked RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize

Linked RJ Value Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSValue
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue:EYE{0|1|2}

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue:EYE{0|1|2} <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue:EYE{0|1|2}?

Description

For Random Jitter (RJ) stabilization, sets the value of RJ for the selected eye on Eye Width and Eye Height measurements. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument. Use the :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize command to turn on or off the use of RJ stabilization.

Command | Description
:EYE2 | Applies to eye 2/3.
:EYE1 (or :EYE) | Applies to eye 1/2.
:EYE0 | Applies to eye 0/1.

Linked RJ Stabilization (On / Off) Commands

The Eye Width and Eye Height RJSTablilize are equivalent.

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSTabilize
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSTabilize

Linked RJ Value Commands

The RJSValue:EYE commands for the same eye level for Eye Width and Eye Height measurements are equivalent. Use one of a commands to enter a value for one level on a measurement and it is changed on both measurements. For example, enter the eye two value for an Eye Height measurement and the eye two value is also entered for for an Eye Width measurement.

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RJSValue:EYE2
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RJSValue:EYE2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize?

Description

Turns on or off RN stabilization for the PAM-4 EWIDth measurement. When RN stabilization is on, use the :MEASure:EYE:PAM:EHWIDth:DEFine:EOPening:RNSValue command to enter the RN value. To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. The following lists show the linked RNSTabilize and RNSValue commands for EHeight and EWIDth. For example, setting RN stabilization on for EWIDth also turns it on for EHeight.

Linked PAM-4 Stabilization (On / Off) Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize

Linked PAM-4 Value Commands

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel{0|1|2|3}

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel{0|1|2|3} <random_noise>

<random_noise> is a double.

Query Syntax

:MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue?

Description

For a PAM-4 Eye Width measurement, sets the value of RN used for RN stabilization for the selected eye level. PAM-4 signals have four possible levels: 0, 1, 2, and 3. NRZ signals has two possible levels: 0 and 1. There are actually four commands, one for each eye level on the signal.

  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel3 (for PAM-4 only)
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel2 (for PAM-4 only)
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel1 (for NRZ and PAM-4)
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel0 (for NRZ and PAM-4)

To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. Use the :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize command to turn on or off the use of RN stabilization.

Command | Description
RNSValue:LEVel3 | Applies to level 3.
RNSValue:LEVel2 | Applies to level 2.
RNSValue:LEVel1 | Applies to level 1.
RNSValue:LEVel0 | Applies to level 0.

Linked RN Stabilization (On / Off) Commands

The following commands are equivalent. Turn one setting on and both are turned on.

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSTabilize
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSTabilize

Linked RN Value Commands

The RNSValue:LEVel commands for the same eye level for Eye Width and Eye Height measurements are equivalent. Use one of a commands to enter a value for one level on a measurement and it is changed on both measurements. For example, enter the level two value for an Eye Height measurement and the level two value is also entered for for an Eye Width measurement.

  • :MEASure:EYE:PAM:EHeight:DEFine:EOPening:RNSValue:LEVel2
  • :MEASure:EYE:PAM:EWIDth:DEFine:EOPening:RNSValue:LEVel2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:PAM:EWIDth:EYE

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EWIDth:EYE {EYE0 | EYE1 | EYE2}

Query Syntax

:MEASure:EYE:PAM:EWIDth:EYE?

Description

Selects the eye of a PAM-4 or NRZ signal for which the eye widths will be measured. The actual measurement is made with the :EWIDth parent command is sent. PAM-4 signals have 3 possible eyes: 0, 1, and 2. NRZ signals have one possible eye: 0.

Arguments | Description
EYE2 | Selects Eye 2/3.
EYE1 | Selects Eye 1/2.
EYE0 | Selects Eye 0/1.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EWIDth:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:EWIDth:LOCation?

Description

Returns an location index of the EWIDth measurement for PAM4 or NRZ signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EWIDth:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:EWIDth:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:EWIDth:SOURce?

Description

Selects the source waveform on which to perform the EWidth measurement for PAM4 or NRZ signals. The source must be an eye diagram..

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EWIDth:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:EWIDth:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the EWIDth measurement for PAM4 or NRZ signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:EWIDth:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:EWIDth:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed EWIDth measurement for PAM4 or NRZ signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:LEVel

Query Syntax

:MEASure:EYE:PAM:LEVel?

Description

In Eye/Mask mode, measures all four amplitude levels (0, 1, 2, 3) of a PAM-4 eye diagram. On NRZ signals, this measurement will measure the zero or one levels. Before sending this command, select the actual level to be measured using the :LEVel child command. To measure all the levels on a signal, you must send this command once for each level as there is no command for simultaneously measuring all levels. The query form of the command returns the measured value. Sources can be any displayed PAM-4 or NRZ waveform from a channel, differential channel, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode. Depending on measurement conditions, this command may not affect the measurement.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height. Depending on measurement conditions, this command may not affect the measurement.
:MEASure:PAM:EYE:PPERcent | Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
:MEASure:PAM:EYE:TIME:LTDefinition | Time of Level | Specifies the method used to locate the time at which to measure an eye's level.
:MEASure:PAM:AMPLitude:UNITs | Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Child Commands

  • :LEVel selects the level to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE EYE
:CHAN1A:SIGNal:TYPE:AUTO OFF  //  Specify signal type, if needed.
:CHAN1A:SIGNal:TYPE PAM4
:SYSTem:AUToscale
:MEASure:EYE:PAM:LEVel:SOURce CHAN1A
:MEASure:EYE:PAM:LEVel LEVel2  //  Select logic level to be measured.
:MEASure:EYE:PAM:LEVel  //  Measure and return value.
:MEASure:EYE:PAM:LEVel?

More Information

  • Levels measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:LEVel:LEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:LEVel:LEVel {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:EYE:PAM:LEVel:LEVel?

Description

Selects the level of a PAM-4 or NRZ signal that will be measured when the :LEVel parent command is sent. PAM-4 signals have four possible levels: 0, 1, 2, and 4. NRZ signals has two possible levels: 0 and 1.

Arguments | Description
LEVel3 | Selects level 3.
LEVel2 | Selects level 2.
LEVel1 | Selects level 1.
LEVel0 | Selects level 0.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LEVel:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:LEVel:LOCation?

Description

Returns an location index of the LEVel measurement for PAM4 signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LEVel:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:LEVel:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:LEVel:SOURce?

Description

Selects the source waveform on which to perform the LEVel measurement for PAM4 or NRZ signals.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LEVel:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:LEVel:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the LEVel measurement for PAM4 signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LEVel:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:LEVel:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed LEVel measurement for PAM4 signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LINearity

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:LINearity

Query Syntax

:MEASure:EYE:PAM:LINearity?

Description

Starts Eye/Mask mode's Linearity measurement, which measures the linearity RLM (Ratio Level Mismatch) between all four amplitude levels (0, 1, 2, 3) of a PAM-4 eye diagram. Linearity is a measure of the variance in amplitude separation (distribution) between the different PAM-4 levels.

Examples of PAM Signal Linearity
Good Linearity | Poor Linearity
V3-2 = V2-1 = V1-0 | V3-2 ≠ V2-1 ≠ V1-0

PAM linearity is measured as:

If the four levels measurements are the following values:

  • L3 = 14.6 mV
  • L2 = 7.5 mV
  • L1 = –8.0 mV
  • L0 = –15.2 mV

then, the linearity will be:

which is equal to 0.715.

The linearity ratio is always equal to or less than 1.0. The value 1.0 indicates that the separations between all levels are equal. For non-compliant measurements, you can use a PRBS signal. For compliant measurements, you will need to use compliance linearity pattern that is called out in the relevant standard.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height.
:MEASure:PAM:EYE:PPERcent | Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
:MEASure:PAM:EYE:TIME:LTDefinition | Time of Level | Specifies the method used to locate the time at which to measure an eye's level.

Note

The linearity measurement in eye mode will not yield the same value as the linearity measurement in oscilloscope mode. This is due to the oscilloscope mode measurement being made at the center of individual bits, while eye mode measurements are made on the center of all acquired bits at once.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE EYE
:CHAN1A:SIGNal:TYPE:AUTO OFF  //  Specify signal type, if needed.
:CHAN1A:SIGNal:TYPE PAM4
:SYSTem:AUToscale
:MEASure:EYE:PAM:LINearity:SOURce CHAN1A
:MEASure:EYE:PAM:LINearity  //  Measure and return value.
:MEASure:EYE:PAM:LINearity?

More Information

  • Learn more about the Linearity measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:LINearity:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:LINearity:LOCation?

Description

Returns an location index of the LINearity measurement for PAM4 signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LINearity:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:LINearity:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:LINearity:SOURce?

Description

Selects the source waveform on which to perform the PAM:LINearity measurement for PAM4 or NRZ signals. The source must be a displayed single-valued waveform.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LINearity:RM:STATus?

:MEASure:EYE:PAM:LINearity:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:LINearity:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PAM:LINearity measurement for PAM4 signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:LINearity:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:LINearity:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PAM:LINearity measurement for PAM4 signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:PP

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:PP

Query Syntax

:MEASure:EYE:PAM:PP?

Description

Starts Eye/Mask mode's Level RMS measurement, which measures the "thickness" of a selected level of a PAM-4 eye diagram. On NRZ signals, the thickness of both level zero and one are measured. Select the actual level to be measured using the :LEVel child command. To measure all the levels on a signal, you must send this command once for each level as there is no command for simultaneously measuring all levels. The query form of the command returns the measured value. Sources can be any displayed PAM-4 or NRZ waveform from a channel, differential channel, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode. Depending on measurement conditions, this command may not affect the measurement.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height. Depending on measurement conditions, this command may not affect the measurement.
:MEASure:PAM:EYE:PPERcent | Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
:MEASure:PAM:EYE:TIME:LTDefinition | Time of Level | Specifies the method used to locate the time at which to measure an eye's level.
:MEASure:PAM:AMPLitude:UNITs | Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.

FlexDCA Revision

Requires FlexDCA revision A.04.53 and above.

Child Commands

  • :LEVel selects the level to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE EYE
:CHAN1A:SIGNal:TYPE:AUTO OFF  //  Specify signal type, if needed.
:CHAN1A:SIGNal:TYPE PAM4
:SYSTem:AUToscale
:MEASure:EYE:PAM:PP:SOURce CHAN1A
:MEASure:EYE:PAM:PP:LEVel LEVel2  //  Select logic level to be measured.
:MEASure:EYE:PAM:PP  //  Measure and return value.
:MEASure:EYE:PAM:PP?

More Information

  • Levels RMS measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:PP:LEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:PP:LEVel {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:EYE:PAM:PP:LEVel?

Description

Selects the level of a PAM-4 or NRZ signal that will be measured when the :LEVel parent command is sent. PAM-4 signals have four possible levels: 0, 1, 2, and 4. NRZ signals has two possible levels: 0 and 1.

Arguments | Description
LEVel3 | Selects level 3.
LEVel2 | Selects level 2.
LEVel1 | Selects level 1.
LEVel0 | Selects level 0.

FlexDCA Revision

Requires FlexDCA revision A.04.53 and above.


:MEASure:EYE:PAM:PP:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:PP:LOCation?

Description

Returns an location index of the levels peak-to-peak measurement for PAM4 and NRZ signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.53 and above.


:MEASure:EYE:PAM:PP:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:PP:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:PP:SOURce?

Description

Selects the source waveform on which to perform the levels peak-to-peak measurement for PAM4 or NRZ signals. The source must be an eye diagram.

FlexDCA Revision

Requires FlexDCA revision A.04.53 and above.


:MEASure:EYE:PAM:PP:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:PP:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the levels peak-to-peak measurement for PAM4 or NRZ signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.53 and above.


:MEASure:EYE:PAM:PP:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:PP:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed levels peak-to-peak measurement for PAM4 or NRZ signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.53 and above.


:MEASure:EYE:PAM:RMS

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:RMS

Query Syntax

:MEASure:EYE:PAM:RMS?

Description

Starts Eye/Mask mode's Level RMS measurement, which measures the "thickness" of a selected level of a PAM-4 eye diagram. On NRZ signals, the thickness of both level zero and one are measured. Select the actual level to be measured using the :LEVel child command. To measure all the levels on a signal, you must send this command once for each level as there is no command for simultaneously measuring all levels. The query form of the command returns the measured value. Sources can be any displayed PAM-4 or NRZ waveform from a channel, differential channel, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode. Depending on measurement conditions, this command may not affect the measurement.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform: at maximum eye width or maximum eye height. Depending on measurement conditions, this command may not affect the measurement.
:MEASure:PAM:EYE:PPERcent | Eye Level Width | Defines the timespan (in percentage of symbol width) over which an eye's amplitude level is measured.
:MEASure:PAM:EYE:TIME:LTDefinition | Time of Level | Specifies the method used to locate the time at which to measure an eye's level.
:MEASure:PAM:AMPLitude:UNITs | Amplitude Units | Sets the amplitude units for measurement: volts, Watts, or percent.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Child Commands

  • :LEVel selects the level to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE EYE
:CHAN1A:SIGNal:TYPE:AUTO OFF  //  Specify signal type, if needed.
:CHAN1A:SIGNal:TYPE PAM4
:SYSTem:AUToscale
:MEASure:EYE:PAM:RMS:SOURce CHAN1A
:MEASure:EYE:PAM:RMS:LEVel LEVel2  //  Select logic level to be measured.
:MEASure:EYE:PAM:RMS  //  Measure and return value.
:MEASure:EYE:PAM:RMS?

More Information

  • Levels RMS measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:RMS:LEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:RMS:LEVel {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:EYE:PAM:RMS:LEVel?

Description

Selects the level of a PAM-4 or NRZ signal that will be measured when the :LEVel parent command is sent. PAM-4 signals have four possible levels: 0, 1, 2, and 4. NRZ signals has two possible levels: 0 and 1.

Arguments | Description
LEVel3 | Selects level 3.
LEVel2 | Selects level 2.
LEVel1 | Selects level 1.
LEVel0 | Selects level 0.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:RMS:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:RMS:LOCation?

Description

Returns an location index of the levels RMS measurement for PAM4 and NRZ signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:RMS:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:RMS:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:RMS:SOURce?

Description

Selects the source waveform on which to perform the levels RMS measurement for PAM4 or NRZ signals. The source must be an eye diagram.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:RMS:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:RMS:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the levels RMS measurement for PAM4 or NRZ signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:RMS:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:RMS:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed levels RMS measurement for PAM4 or NRZ signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:SKEW

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:SKEW

Query Syntax

:MEASure:EYE:PAM:SKEW?

Description

Starts Eye/Mask mode's Level Skews measurement, which measures the skew (seconds or UI) of a selected level of a PAM-4 eye diagram relative to the average center time of all levels. On NRZ signals, this measurement will measure the level one and zero skew relative to each other. Before sending this command, select the actual level to be measured using the :LEVel child command. To measure all the levels on a signal, you must send this command once for each level as there is no command for simultaneously measuring all level skews. This measurement is affected by the settings in the PAM-N Analysis Setup dialog box. The query form of the command returns the measured value. Sources can be any displayed PAM-4 or NRZ waveform from a channel, differential channel, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1.

Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:EYE:ESTiming | Receiver Sample Timing | Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode.
:MEASure:PAM:EYE:ELMethod | Eye Center Location | Selects the basis for determining the location of an eye's center on the waveform.
:MEASure:PAM:EYE:PPERcent | Eye Level Width | Defines the timespan over which an eye's amplitude level is measured.
:MEASure:PAM:EYE:TIME:LTDefinition | Time of Level | Specifies the method used to locate the time at which to measure an eye's level.
:MEASure:PAM:EYE:TIME:UNITs | Time Units | Sets the time units for measurement.

Child Commands

  • :LEVel selects the level to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE EYE
:CHAN1A:SIGNal:TYPE:AUTO OFF  //  Specify signal type, if needed.
:CHAN1A:SIGNal:TYPE PAM4
:SYSTem:AUToscale
:MEASure:EYE:PAM:SKEW:SOURce CHAN1A
:MEASure:EYE:PAM:SKEW:LEVel LEVel2  //  Select logic level to be measured.
:MEASure:EYE:PAM:SKEW  //  Measure and return value.
:MEASure:EYE:PAM:SKEW?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Levels Skews measurement algorithm
  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode


:MEASure:EYE:PAM:SKEW:LEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:SKEW:LEVel  {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:EYE:PAM:SKEW:LEVel?

Description

Selects the level of a PAM-4 or NRZ signal that will be measured when the :LEVel parent command is sent. PAM-4 signals have four possible levels: 0, 1, 2, and 4. NRZ signals has two possible levels: 0 and 1.

Arguments | Description
LEVel3 | Selects level 3.
LEVel2 | Selects level 2.
LEVel1 | Selects level 1.
LEVel0 | Selects level 0.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode
  • Autoscale and Signal-Types


:MEASure:EYE:PAM:SKEW:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:SKEW:LOCation?

Description

Returns an location index of the SKEW measurement for PAM4 signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:SKEW:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:EYE:PAM:SKEW:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PAM:SKEW:SOURce?

Description

Selects the source waveform on which to perform the SKEW measurement for PAM4 or NRZ signals. The source must be an eye diagram.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:SKEW:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:SKEW:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the SKEW measurement for PAM4 signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PAM:SKEW:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:EYE:PAM:SKEW:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed SKEW measurement for PAM4 signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:EYE:PEAK

Command Syntax

:MEASure:{EYE | CGRade}:PEAK

Query Syntax

:MEASure:{EYE | CGRade}:PEAK?

Description

Moves the database Peak Hits measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. The "Peak" annotation label is displayed which identifies the location of the measurement. The following picture shows the annotation which moves to reflect changes in the location of the peak hits. The database is 521 points high by 751 points wide and is used for histograms, mask testing, and color grade-gray scale displays. Behind each database point is a counter which is incremented each time a pixel is hit by data from a displayed waveform, color-grade memory, or function. Query this command to return the peak value recorded in any of the database counters. The maximum count (saturation) for each counter is unlikely to occur as it is greater than 2 giga-hits. Sources can be any displayed waveform, color-grade memory, or function.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:CGRade:PEAK:SOURce CHAN1A
:MEASure:CGRade:PEAK
:MEASure:CGRade:PEAK?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:PEAK:LOCation?

Query Syntax

:MEASure:EYE:PEAK:LOCation?

Description

Returns an index for the location of the PEAK measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:PEAK:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:PEAK:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:PEAK:SOURce?

Description

Selects the source waveform on which to perform the PEAK measurement.


:MEASure:EYE:PEAK:STATus?

Query Syntax

:MEASure:EYE:PEAK:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PEAK measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:PEAK:STATus:REASon?

Query Syntax

:MEASure:EYE:PEAK:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PEAK measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:RISetime

Command Syntax

:MEASure:{EYE | CGRade}:RISetime

Query Syntax

:MEASure:{EYE | CGRade}:RISetime?

Description

Moves the Rise time measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Rise time is a measure of the mean transition time of the data on the upward slope of an eye diagram. The data crosses through the following three thresholds: the lower, middle, and upper thresholds, as well as through the eye crossing point. The default setting for the threshold levels are the 10% to 90% points on the transition. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use the :MEASure:THReshold:METHod command to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:RISetime:SOURce CHAN1A
:MEASure:{EYE | CGRade}:RISetime
:MEASure:{EYE | CGRade}:RISetime?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:RISetime:LOCation?

Query Syntax

:MEASure:EYE:RISetime:LOCation?

Description

Returns an index for the location of the RISetime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:RISetime:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:RISetime:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:RISetime:SOURce?

Description

Selects the source waveform on which to perform the RISetime measurement.


:MEASure:EYE:RISetime:STATus?

Query Syntax

:MEASure:EYE:RISetime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RISetime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:RISetime:STATus:REASon?

Query Syntax

:MEASure:EYE:RISetime:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed RISetime measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:EYE:RJ

Command Syntax

:MEASure:EYE:RJ

Query Syntax

:MEASure:EYE:RJ?

Description

Performs an Advanced Eye Random Jitter (RJ) measurement in Eye/Mask mode. To selects the eye in an NRZ or PAM-4 eye diagram on which to perform the measurement, use the :MEASURE:EYE:RJ:EYE command. Since the measurement is made on an eye diagram, the pattern itself can be of any type or length, such as PRBS31. (Jitter Mode is limited to making measurements on patterns up to PRBS16.) The random and deterministic components, RJ and DJ, are determined by analyzing the crossing regions of the eye and measuring random jitter using a Q-scale approach. Separation of RJ is made in the presence of all DJ components using this method. Total Jitter (TJ) is measured at the probabilities specified by :MEASure:EYE:TJ:TJBer. To measure DJ, use the :MEASure:EYE:DJ command. To measure TJ, use the :MEASure:EYE:TJ command.

The query form of the command returns the measured RJ. If the measurement is already on, the measurement listing is moved to the top of the displayed results table.

To increase measurement accuracy, use the following steps:

  1. In Jitter Mode, measure Random Jitter (RJ) on a shorter pattern.
  2. Switch to Eye/Mask Mode
  3. Use the :MEASure:EYE:DJ:RJSTabilize and :MEASure:EYE:DJ:RJSValue commands to specify the short-pattern RJ result to be used for the DJ, RJ, and TJ measurements.
  4. Switch to a long pattern.
  5. Measure DJ, RJ, and TJ.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :EYE selects the eye on which to perform the measurement
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :RJSTabilize turns on RJ stabilization.
  • :RJSValue enters the RJ stabilization value.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

See Also

  • :MEASure:EYE:DJ
  • :MEASure:EYE:TJ
  • :MEASure:EYE:TJ:TJBer
  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:DJ:RJSValue

More Information

  • Advanced Eye Commands
  • Learn about listing measurements in the table
  • Programming Home
  • Subsystem Home

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:EYE:RJ:SOURce CHAN1A
:MEASure:EYE:RJ?


:MEASure:EYE:RJ:EYE

Command Syntax

:MEASure:EYE:RJ:EYE {EYE0 | EYE1 | EYE2}

Query Syntax

:MEASure:EYE:RJ:EYE?

Description

Selects the eye in an NRZ or PAM-4 eye diagram on which to perform the RJ measurement. The EYE0 and EYE1 arguments apply to NRZ and PAM-4 signals. The EYE2 argument applies only to PAM-4 signals. If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

Argument | Description
EYE2 | Selects eye 2/3
EYE1 | Selects eye 1/2
EYE0 | Selects eye 0/1

License Required

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:RJ:LOCation?

Query Syntax

:MEASure:EYE:RJ:LOCation?

Description

Returns an index for the location of the RJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:RJ:RJSTabilize

Command Syntax

:MEASure:EYE:RJ:RJSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:RJ:RJSTabilize?

Description

Turns on or off RJ stabilization. When RJ stabilization is on, use the :MEASure:EYE:RJ:RJSValue command to enter the RJ value. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. The following lists show that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use any of the four commands to change or query the RJ value.

Equivalent RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Equivalent RJ Value Commands

  • :MEASure:EYE:DJ:RJSValue
  • :MEASure:EYE:JN:RJSValue
  • :MEASure:EYE:RJ:RJSValue
  • :MEASure:EYE:TJ:RJSValue

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:DJ:RJSValue:EYE{0|1|2}

Command Syntax

:MEASure:EYE:DJ:RJSValue:EYE{0|1|2} <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:DJ:RJSValue:EYE{0|1|2}?

Description

For Random Jitter (RJ) stabilization, sets the value of RJ for the selected eye. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :MEASure:EYE:RJ:RJSTabilize command to turn on or off the use of RJ stabilization.

The following table shows that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off.

Command | Description
:EYE2 | Applies to eye 2/3.
:EYE1 (or :EYE) | Applies to eye 1/2.
:EYE0 | Applies to eye 0/1.

Linked RJ Stabilization (On / Off) Commands

The following commands are equivalent. Turn on setting on and they are all turned on.

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Linked RJ Value Commands

The RJSValue:EYE commands for the same eye number are equivalent. Use one of a command to enter a value for one level on a measurement and it is changed for the other three measurements. For example, enter the value of a DJ measurement one Eye 2 and the value is entered for JN, RM, and TJ measurements.

  • :MEASure:EYE:DJ:RJSValue:EYE2
  • :MEASure:EYE:JN:RJSValue:EYE2
  • :MEASure:EYE:RJ:RJSValue:EYE2
  • :MEASure:EYE:TJ:RJSValue:EYE2

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:RJ:SOURce

Command Syntax

:MEASure:EYE:RJ:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:RJ:SOURce?

Description

Selects the source waveform on which to perform the RJ measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:RJ:STATus?

Query Syntax

:MEASure:EYE:RJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:RJ:STATus:REASon?

Query Syntax

:MEASure:EYE:RJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed RJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:RN

Command Syntax

:MEASure:EYE:RN

Query Syntax

:MEASure:EYE:RN?

Description

Performs an Advanced Eye Random noise (RN) measurement in Eye/Mask mode on NRZ or PAM-4 signals. RN is noise that is uncorrelated to the pattern and follows Gaussian statistics. Since the measurement is made on an eye diagram, the pattern itself can be of any type or length, such as PRBS31. (Jitter Mode is limited to making measurements on patterns up to PRBS16.) The corresponding jitter measurement is Random Jitter (RJ). Random noise is displayed in the current vertical channel units. If the measurement is already on, the measurement listing is moved to the top of the displayed results table.

If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

To increase measurement accuracy, use RN stabilization:

  1. In Jitter Mode, measure Random Noise (RN) on the signal while using a short pattern.
  2. Switch to Eye/Mask Mode
  3. Use :MEASure:EYE:RN:RNSTabilize to turn on RN stabilization and :MEASure:EYE:RN:RNSValue commands to specify the short-pattern RJ result measured in step 1.
  4. Switch to a long pattern.
  5. Measure DI, RN, and TI.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

Child Commands

  • :LEVel selects the eye level on which to perform the DI measurement.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :RNSTabilize turns on RN stabilization.
  • :RNSValue enters the RN stabilization value.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

See Also

  • :MEASure:EYE:DI
  • :MEASure:EYE:TI

More Information

  • Advanced Eye Commands
  • Learn about listing measurements in the table
  • Programming Home
  • Subsystem Home

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:EYE:RN:SOURce CHAN1A
:MEASure:EYE:RN?


:MEASure:EYE:RN:LEVel

Command Syntax

:MEASure:EYE:RN:LEVel {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:EYE:RN:LEVel?

Description

Selects the eye diagram's level on which to perform the RN measurement. The LEVel0 and LEVel1 arguments apply to NRZ and PAM-4 signals. The LEVel2 and LEVel3 arguments apply only to PAM-4 signals. If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

Argument | Description
LEVel3 | Selects level 3
LEVel2 | Selects level 2
LEVel1 | Selects level 1
LEVel0 | Selects level 0

License Required

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:RN:LOCation?

Query Syntax

:MEASure:EYE:RN:LOCation?

Description

Returns an index for the location of the RN measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:RN:RNSTabilize

Command Syntax

:MEASure:EYE:RN:RNSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:RN:RNSTabilize?

Description

Turns on or off RN stabilization for the RN measurement. When RN stabilization is on, use the :MEASure:EYE:RN:RNSValue command to enter the RN value. To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. The following list shows that the eye mode DI, Jn, RN, and TI measurements each have RNSTabilize and RNSValue child commands. Because the RNSTabilize commands control the same setting, you can use any of the four commands to turn RN stabilization on or off. Also, because the RNSValue commands enter or query the same variable, you can use any of the four commands to change or query the RN value.

Linked RN Stabilization (On / Off) Commands

The following list shows that linked RNSTabilize commands the DI, RN, and TI measurements. The RNSTabilize command for any of these three measurements turns RN stabilization on or off for all three measurements (DI, RN, and TI).

  • :MEASure:EYE:DI:RNSTabilize
  • :MEASure:EYE:RN:RNSTabilize
  • :MEASure:EYE:TI:RNSTabilize

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:RN:RNSValue:LEVel{0|1|2|3}

Command Syntax

:MEASure:EYE:RN:RNSValue <random_noise>

<random_noise> is a double.

Query Syntax

:MEASure:EYE:RN:RNSValue?

Description

For a RN measurement, sets the value of RN used for RN stabilization for the selected eye level. PAM-4 signals have four possible levels: 0, 1, 2, and 3. NRZ signals has two possible levels: 0 and 1. There are actually four commands, one for each eye level on the signal.

  • :MEASure:EYE:DI:RNSValue:LEVel3 (for PAM-4 only)
  • :MEASure:EYE:DI:RNSValue:LEVel2 (for PAM-4 only)
  • :MEASure:EYE:DI:RNSValue:LEVel1 (for NRZ and PAM-4)
  • :MEASure:EYE:DI:RNSValue:LEVel0 (for NRZ and PAM-4)

To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. Use the :MEASure:EYE:RN:RNSTabilize command to turn on or off the use of RN stabilization.

Command | Description
RNSValue:LEVel3 | Applies to level 3.
RNSValue:LEVel2 | Applies to level 2.
RNSValue:LEVel1 | Applies to level 1.
RNSValue:LEVel0 | Applies to level 0.

Linked RN Stabilization (On / Off) Commands

The following commands are equivalent. Turn on setting on and they are all turned on.

  • :MEASure:EYE:DI:RNSTabilize
  • :MEASure:EYE:RN:RNSTabilize
  • :MEASure:EYE:TI:RNSTabilize

Linked RN Value Commands

The RNSValue:LEVel commands for the same eye level are equivalent. Use one of a commands to enter a value for one level on a measurement and it is changed for the other three measurements. For example, enter the level two value for a DI measurement and the level two value is also entered for RN and TI measurements.

  • :MEASure:EYE:DI:RNSValue:LEVel2
  • :MEASure:EYE:RN:RNSValue:LEVel2
  • :MEASure:EYE:TI:RNSValue:LEVel2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:RN:SOURce

Command Syntax

:MEASure:EYE:RN:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:RN:SOURce?

Description

Selects the source waveform on which to perform the RN measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:RN:STATus?

Query Syntax

:MEASure:EYE:RN:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RN measurement. Use the STATus:REASon? query to determine the reason for a invalid or questionable measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:RN:STATus:REASon?

Query Syntax

:MEASure:EYE:RN:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed RN measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TDEC

Command Syntax

:MEASure:EYE:TDEC

Query Syntax

:MEASure:EYE:TDEC?

Description

Performs a TDEC measurement in Eye/Mask mode. Since the measurement is made on an eye diagram, the pattern itself can be of any type or length, such as PRBS31. The query form of the command returns the measured TDEC. If the measurement is already on, the measurement listing is moved to the top of the displayed results table.

When making TDEC compliance measurements, a reference receiver 25 Gb/s filter (effective 12.6 BW) is needed. The 86105D and 86115D modules with option 168 include the required filter. To select the filter, use the :CHANnel:FSELect command. This filter is not needed for non-compliance TDEC measurements.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Configuration Commands

  • :MEASure:EYE:TDEC:OMA:METHod selects the source of an OMA (Optical Measurement Amplitude) value which is used during the TDEC calculation.
  • :MEASure:EYE:TDEC:OMA:VALue enters the result of an OMA measurement that is performed in Oscilloscope mode using the :MEASure:OSCilloscope:OMAmplitude command.
  • :MEASure:TDEC:HWIDth sets the width of the two histograms used to configure a TDEC measurement.
  • :MEASure:TDEC:MNFactor enters the modal noise factor for the TDEC measurement.
  • :MEASure:TDEC:MPNFactor enters the mode partition noise factor for the TDEC measurement.
  • :MEASure:TDEC:PRESets loads previously saved settings known as a preset for the TDEC measurement.
  • :MEASure:TDEC:PRESets:SELections returns a string (comma-separated list) of all saved presets for the TDEC measurement.
  • :MEASure:TDEC:TBER sets the target BER for the TDEC measurement.

Common Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.


:MEASure:EYE:TDEC:LOCation?

Query Syntax

:MEASure:EYE:TDEC:LOCation?

Description

Returns an index for the location of the TDEC measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:TDEC:OMA:METHod

Command Syntax

:MEASure:EYE:TDEC:OMA:METHod {ESTimated | UDEFined}

Query Syntax

:MEASure:EYE:TDEC:OMA:METHod?

Description

Before you run the TDEC measurement (:MEASure:EYE:TDEC), you need to select the source of an OMA (Optical Measurement Amplitude) value which is used during the TDEC calculation. This value can be user defined or measured:

UDEFined
This is the recommended selection. You must run an OMA measurement in Oscilloscope mode using the :MEASure:OSCilloscope:OMAmplitude command. Enter this value using the :OMA:VALue sibling command. OMA is the difference between the optical power of an NRZ one pulse and the optical power of an NRZ zero pulse. The pattern used for the OMA measurement should contain consecutive runs of ones and zeros as called out in many standards. This pattern allows the one and zero levels to settle out to minimize the effect of level transitions.
ESTimated
The OMA value is derived during the TDEC measurement from the eye diagram's one and zero levels. Since these levels are not based on a pattern of consecutive ones and zeros, the resulting TDEC measurement can be too optimistic.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:TDEC:OMA:VALue

Command Syntax

:MEASure:EYE:TDEC:OMA:VALue  <amplitude>

<amplitude> is a double.

Query Syntax

:MEASure:EYE:TDEC:OMA:VALue?

Description

Enters the result of an OMA measurement in Oscilloscope mode using the :MEASure:OSCilloscope:OMAmplitude command. The :OMA:METHod sibling command is must be set to UDEFined to select that this value is used in the calculation of the TDEC measurement (:MEASure:EYE:TDEC).

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:TDEC:SOURce

Command Syntax

:MEASure:EYE:TDEC:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:TDEC:SOURce?

Description

Selects the source waveform on which to perform the TDEC measurement.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:TDEC:STATus?

Query Syntax

:MEASure:EYE:TDEC:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TDEC measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:TDEC:STATus:REASon?

Query Syntax

:MEASure:EYE:TDEC:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TDEC measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:TI

Command Syntax

:MEASure:EYE:TI

Query Syntax

:MEASure:EYE:TI?

Description

Performs an Advanced Eye Total Interference (TI) measurement in Eye/Mask mode on NRZ or PAM-4 signals. TI is the amount of vertical interference on a signal that is due to deterministic causes. Total Interference (TI) is the width of the one (or zero) level distribution at a low probability or bit error rate (BER). By default the measurement is made at a BER of 1E-12 (1 x 10–12), which is a probability of occurrence of less than 1 part per trillion. Use the :MEASure:EYE:TI:TIBer command to change the BER setting to any value between 1E-1 to 1E-18. Since the measurement is made on an eye diagram, the pattern itself can be of any type or length, such as PRBS31. (Jitter Mode is limited to making measurements on patterns up to PRBS16.) If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command. The random and deterministic components, RI and RN, can be measured using the :MEASure:EYE:RN and :MEASure:EYE:DI commands. If the measurement is already on, the measurement listing is moved to the top of the displayed results table.

To increase measurement accuracy, use TI stabilization:

  1. In Jitter Mode, measure Random Noise (TI) on the signal while using a short pattern.
  2. Switch to Eye/Mask Mode
  3. Use the :MEASure:EYE:TI:RNSTabilize to turn on RN stabilization and :MEASure:EYE:TI:RNSValue commands to specify the short-pattern RJ result measured in step 1.
  4. Switch to a long pattern.
  5. Measure DI, RN, and TI.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

Child Commands

  • :LEVel selects the eye level on which to perform the DI measurement.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :RNSTabilize turns on RN stabilization.
  • :RNSValue enters the RN stabilization value.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :TJBer queries the measurement status.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

See Also

  • :MEASure:EYE:DI
  • :MEASure:EYE:RN
  • :MEASure:EYE:TJ

More Information

  • Advanced Eye Commands
  • Learn about listing measurements in the table
  • Programming Home
  • Subsystem Home

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:EYE:TI:SOURce CHAN1A
:MEASure:EYE:TI?


:MEASure:EYE:TI:LEVel

Command Syntax

:MEASure:EYE:TI:LEVel {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:EYE:TI:LEVel?

Description

Selects the eye diagram's level on which to perform the TI measurement. The LEVel0 and LEVel1 arguments apply to NRZ and PAM-4 signals. The LEVel2 and LEVel3 arguments apply only to PAM-4 signals. If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

Argument | Description
LEVel3 | Selects level 3
LEVel2 | Selects level 2
LEVel1 | Selects level 1
LEVel0 | Selects level 0

License Required

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TI:LOCation?

Query Syntax

:MEASure:EYE:TI:LOCation?

Description

Returns an index for the location of the TI measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TI:RNSTabilize

Command Syntax

:MEASure:EYE:TI:RNSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:TI:RNSTabilize?

Description

Turns on or off RN stabilization for the TI measurement. When RN stabilization is on, use the :MEASure:EYE:TI:RNSValue command to enter the RN value. To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. The following list shows that the eye mode DI, Jn, RN, and TI measurements each have RNSTabilize and RNSValue child commands. Because the RNSTabilize commands control the same setting, you can use any of these commands to turn RN stabilization on or off. Also, because the RNSValue commands enter or query the same variable, you can use any of the four commands to change or query the RN value.

Linked RN Stabilization (On / Off) Commands

The following list shows that linked RNSTabilize commands the DI, RN, and TI measurements. The RNSTabilize command for any of these three measurements turns RN stabilization on or off for all three measurements (DI, RN, and TI).

  • :MEASure:EYE:DI:RNSTabilize
  • :MEASure:EYE:RN:RNSTabilize
  • :MEASure:EYE:TI:RNSTabilize

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TI:RNSValue:LEVel{0|1|2|3}

Command Syntax

:MEASure:EYE:TI:RNSValue <random_noise>

<random_noise> is a double.

Query Syntax

:MEASure:EYE:TI:RNSValue?

Description

For a TI measurement, sets the value of RN used for RN stabilization for the selected eye level. PAM-4 signals have four possible levels: 0, 1, 2, and 4. NRZ signals has two possible levels: 0 and 1. There are actually four commands, one for each eye level on the signal.

  • :MEASure:EYE:TI:RNSValue:LEVel3 (for PAM-4 only)
  • :MEASure:EYE:TI:RNSValue:LEVel2 (for PAM-4 only)
  • :MEASure:EYE:TI:RNSValue:LEVel1 (for NRZ and PAM-4)
  • :MEASure:EYE:TI:RNSValue:LEVel0 (for NRZ and PAM-4)

To measure the RN, switch the 86100D to Jitter Mode and measure the RN while using a signal that has a short pattern. Or, measure the RN using a separate instrument. Use the :MEASure:EYE:TI:RNSTabilize command to turn on or off the use of RN stabilization.

Command | Description
RNSValue:LEVel3 | Applies to level 3.
RNSValue:LEVel2 | Applies to level 2.
RNSValue:LEVel1 | Applies to level 1.
RNSValue:LEVel0 | Applies to level 0.

Linked RN Stabilization (On / Off) Commands

The following commands are equivalent. Turn on setting on and they are all turned on.

  • :MEASure:EYE:DI:RNSTabilize
  • :MEASure:EYE:RN:RNSTabilize
  • :MEASure:EYE:TI:RNSTabilize

Linked RN Value Commands

The RNSValue:LEVel commands for the same eye level are equivalent. Use one of a commands to enter a value for one level on a measurement and it is changed for the other three measurements. For example, enter the level two value for a DI measurement and the level two value is also entered for RN and TI measurements.

  • :MEASure:EYE:DI:RNSValue:LEVel2
  • :MEASure:EYE:RN:RNSValue:LEVel2
  • :MEASure:EYE:TI:RNSValue:LEVel2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TI:SOURce

Command Syntax

:MEASure:EYE:TI:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:TI:SOURce?

Description

Selects the source waveform on which to perform the TI measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TI:STATus?

Query Syntax

:MEASure:EYE:TI:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TI measurement. Use the STATus:REASon? query to determine the reason for a invalid or questionable measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TI:STATus:REASon?

Query Syntax

:MEASure:EYE:TI:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TI measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TI:TIBer

Command Syntax

:MEASure:EYE:TI:TIBer <BER>

<BER> is a double.

Query Syntax

:MEASure:EYE:TI:TIBer?

Description

Sets the BER level at which to perform the Total Interference (TI) measurement. By default the measurement is made at a BER of 1E-12 (1 x 10–12), which is a probability of occurrence of less than 1 part per trillion. The BER can be set to any value between 1E-1 to 1E-18.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TJ

Command Syntax

:MEASure:EYE:TJ

Query Syntax

:MEASure:EYE:TJ?

Description

Performs an Advanced Eye Total Jitter (TJ) measurement in Eye/Mask mode. To selects the eye in an NRZ or PAM-4 eye diagram on which to perform the measurement, use the :MEASURE:EYE:TJ:EYE command. Since the measurement is made on an eye diagram, the pattern itself can be of any type or length, such as PRBS31. (Jitter Mode is limited to making measurements on patterns up to PRBS16.) The random and deterministic components, RJ and DJ, are determined and the Total Jitter (TJ) is measured at the probabilities specified by :MEASure:EYE:TJ:TJBer. To measure DJ, use the :MEASure:EYE:DJ command. To measure RJ, use the :MEASure:EYE:RJ command.

The query form of the command returns the measured TJ. If the measurement is already on, the measurement listing is moved to the top of the displayed results table.

To increase measurement accuracy, use RJ stabilization:

  1. In Jitter Mode, measure Random Jitter (RJ) on the signal while using a short pattern.
  2. Switch to Eye/Mask Mode
  3. Use the :MEASure:EYE:TJ:RJSTabilize and :MEASure:EYE:TJ:RJSValue commands to specify the short-pattern RJ result measured in step 1.
  4. Switch to a long pattern.
  5. Measure DJ, RJ, and TJ.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :TJBer sets the BER probability setting at which to perform the TJ measurement.
  • :EYE selects the eye on which to perform the measurement
  • :RJSTabilize turns on RJ stabilization.
  • :RJSValue enters the RJ stabilization value.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

See Also

  • :MEASure:EYE:DJ
  • :MEASure:EYE:RJ
  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:DJ:RJSValue

More Information

  • Advanced Eye Commands
  • Learn about listing measurements in the table
  • Programming Home
  • Subsystem Home

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:EYE:TJ:PROBability 1E-9
:MEASure:EYE:TJ:SOURce CHAN1A
:MEASure:EYE:TJ?


:MEASure:EYE:TJ:EYE

Command Syntax

:MEASure:EYE:TJ:EYE {EYE0 | EYE1 | EYE2}

Query Syntax

:MEASure:EYE:TJ:EYE?

Description

Selects the eye in an NRZ or PAM-4 eye diagram on which to perform the TJ measurement. The EYE0 and EYE1 arguments apply to NRZ and PAM-4 signals. The EYE2 argument applies only to PAM-4 signals. If you experience difficulties measuring a PAM-4 signal, confirm that the signal-type setting is set to PAM-4 with the :CHANnel:SIGNal:TYPE command.

Argument | Description
EYE2 | Selects eye 2/3
EYE1 | Selects eye 1/2
EYE0 | Selects eye 0/1

License Required

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:EYE:TJ:LOCation?

Query Syntax

:MEASure:EYE:TJ:LOCation?

Description

Returns an index for the location of the TJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:TJ:RJSTabilize

Command Syntax

:MEASure:EYE:TJ:RJSTabilize {ON | OFF}

Query Syntax

:MEASure:EYE:TJ:RJSTabilize?

Description

Turns on or off RJ stabilization. When RJ stabilization is on, use the :MEASure:EYE:TJ:RJSValue command to enter the RJ value. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. The following lists show that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use any of the four commands to change or query the RJ value.

Equivalent RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Equivalent RJ Value Commands

  • :MEASure:EYE:DJ:RJSValue
  • :MEASure:EYE:JN:RJSValue
  • :MEASure:EYE:RJ:RJSValue
  • :MEASure:EYE:TJ:RJSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:TJ:RJSValue:EYE{0|1|2}

Command Syntax

:MEASure:EYE:TJ:RJSValue:EYE{0|1|2} <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:TJ:RJSValue:EYE{0|1|2}?

Description

For Random Jitter (RJ) stabilization, sets the value of RJ for the selected eye. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :MEASure:EYE:TJ:RJSTabilize command to turn on or off the use of RJ stabilization.

The following table shows that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off.

Command | Description
:EYE2 | Applies to eye 2/3.
:EYE1 (or :EYE) | Applies to eye 1/2.
:EYE0 | Applies to eye 0/1.

Linked RJ Stabilization (On / Off) Commands

The following commands are equivalent. Turn on setting on and they are all turned on.

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Linked RJ Value Commands

The RJSValue:EYE commands for the same eye number are equivalent. Use one of a command to enter a value for one level on a measurement and it is changed for the other three measurements. For example, enter the value of a DJ measurement one Eye 2 and the value is entered for JN, RM, and TJ measurements.

  • :MEASure:EYE:DJ:RJSValue:EYE2
  • :MEASure:EYE:JN:RJSValue:EYE2
  • :MEASure:EYE:RJ:RJSValue:EYE2
  • :MEASure:EYE:TJ:RJSValue:EYE2

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:TJ:SOURce

Command Syntax

:MEASure:EYE:TJ:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | JMEMory1}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:TJ:SOURce?

Description

Selects the source waveform on which to perform the TJ measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:TJ:STATus?

Query Syntax

:MEASure:EYE:TJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:TJ:STATus:REASon?

Query Syntax

:MEASure:EYE:TJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:EYE:TJ:TJBer

Command Syntax

:MEASure:EYE:TJ:TJBer

Query Syntax

:MEASure:EYE:TJ:TJBer?

Description

Sets the probablility (BER) for making the Total Jitter (TJ) measurement. The default value is 1 x 10–12 (1E-12), which is a probability of occurrence of less than 1 part per trillion. The query form of the command returns the current probability value.

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:USER{1:8}

Command Syntax

:MEASure:EYE:USER{1:8}

{1:8} selects one of eight possible user measurements.

Description

Turns on the selected eye mode user-defined measurement. The query form of the command returns the measured value. If the selected user measurement has not been created using the :CFILe child command, the value NaN (9.91E+37) is returned.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Child Commands

  • :ABBReviation? returns the abbreviated user measurement name.
  • :CFILe specifies the configuration file for an Eye mode user measurement.
  • :CFILe:CLEar removes an existing configuration file which removes a user measurement from the Eye mode User toolbar.
  • :CFILe:RELoad reloads the XML configuration file.
  • :CFLoaded? query the existence of the user measurement.
  • :COMMents? returns the comment string for the user measurement.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :LSTatus? queries the status of the loading of a configuration file.
  • :LSTatus:REASon? queries the reason for a failed loading of a configuration file.
  • :NAME? returns the user measurement name.
  • :SOURce selects the input waveform for the user measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? queries the reason a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.


:MEASure:EYE:USER{1:8}:ABBReviation?

Query Syntax

:MEASure:EYE:USER{1:8}:ABBReviation?

Description

For the selected Eye mode user measurement, returns the abbreviated test name. If an XML file was used to define the test, the abbreviated test name is specified in the file's XML <Abbreviation> tag. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename. The abbreviation string is shown in the displayed Measurement results table and is limited in length to 15 characters.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:CFILe

Command Syntax

:MEASure:EYE:USER{1:8}:CFILe <filename>

<filename> is the configuration file (*.xml, *.m, *.py).

Description

Specifies the configuration file that is used to create an Eye mode user measurement. The file is an XML file that describes the measurement and points to a Matlab (*.m) or Python (*.py) script file. Refer to Creating the XML File for information on creating a user measurement XML file. A Matlab or Python script can directly be used to define the measurement, but this method lacks the power of measurement variables as described in User Defined Measurements. When an XML file is not used or the measurement's name is not defined in the XML file, the file name is used to name the measurement on the measurement button and in the displayed Measurement results table.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

To remove a user measurement, use the :MEASure:EYE:USER{1:8}:CFILe:CLEar command.

To create a TDR mode user measurement, use the :MEASure:TDR:USER:CFILe command. To create a Oscilloscope mode user measurement, use the :MEASure:OSCilloscope:USER:CFILe command.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:CFILe:CLEar

Command Syntax

:MEASure:EYE:USER{1:8}:CFILe:CLEar

Description

Removes an existing configuration file for a user measurement. This removes the measurement from Eye mode's User toolbar. A user measurement is created using the :MEASure:EYE:USER:CFILe parent command.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:CFILe:RELoad

Command Syntax

:MEASure:EYE:USER{1:8}:CFILe:RELoad

Description

Reloads the XML configuration file for the selected user-defined measurement.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:CFLoaded?

Query Syntax

:MEASure:EYE:USER{1:8}:CFLoaded?

Query Response

{1 | 0}

Description

Queries the existence of the specified user measurement. Returns a one if the measurement is defined and a zero it the measurement has not been setup.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:COMMents?

Query Syntax

:MEASure:EYE:USER{1:8}:COMMents?

Description

Returns the comment string for the selected user measurement. The comment string is defined in the measurement's XML definition file using the <Comments> tag. The comment string is limited in length to 512 characters.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:LOCation?

Query Syntax

:MEASure:EYE:USER{1:8}:LOCation?

Description

Returns an index for the location of the :MEASure:EYE:USER measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:LSTatus?

Query Syntax

MEASure:EYE:USER:LSTatus?

Description

Returns the status of the loading of the XML configuration file (:MEASure:EYE:USER:CFILe command). Use the :REASon child command to return the reason for a failed load.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:LSTatus:REASon?

Query Syntax

MEASure:EYE:USER:LSTatus:REASon?

Description

Returns the reason for a failed load of a configuration file.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Configuration Commands

Common Child Commands


:MEASure:EYE:USER{1:8}:NAME?

Query Syntax

:MEASure:EYE:USER{1:8}:NAME?

Description

For the selected Eye mode user measurement, returns the measurement name that is shown on Eye mode's User measurement tab. If an XML file was used to define the test, the test name is specified in the file's XML <Name> tag. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename. The string is limited in length to 15 characters. If the measurement has not been created, an empty string is returned.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:SOURce{1:2}

Command Syntax

:MEASure:EYE:USER{1:8}:SOURce{1:2} {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Selects the source waveforms on which to perform the USER measurement. If one source waveform is required, use :SOURce or :SOURce1. If two source waveforms are required, use :SOURce2. If an XML file was used to define the test, the test source waveforms are specified in the file's XML <SourceIndex> tag in combination with the Select Source dialog box when the measurement is started.

Use the :MEASure:EYE:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:STATus?

Query Syntax

:MEASure:EYE:USER{1:8}:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the :MEASure:EYE:USER measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:USER{1:8}:STATus:REASon?

Query Syntax

:MEASure:EYE:USER{1:8}:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed :MEASure:EYE:USER measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:EYE:ZLEVel

Command Syntax

:MEASure:{EYE | CGRade}:ZLEVel

Query Syntax

:MEASure:{EYE | CGRade}:ZLEVel?

Description

Moves the Zero Level measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Zero Level is a measure of the mean value of the logical 0 of an eye diagram. This measurement is made in a section of the eye referred to as the eye window boundaries. The default value for the NRZ eye window is the central 20% of the bit period. Sources can be any displayed waveform, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1. Use the :MEASure:EBOundary:LEFT, :MEASure:EBOundary:RIGHt, and :MEASure:EBOundary:DEFault commands to change the eye boundary settings.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:{EYE | CGRade}:ZLEVel:SOURce CHAN1A
:MEASure:{EYE | CGRade}:ZLEVel
:MEASure:{EYE | CGRade}:ZLEVel?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:EYE:ZLEVel:LOCation?

Query Syntax

:MEASure:EYE:ZLEVel:LOCation?

Description

Returns an index for the location of the ZLEVel measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:EYE:ZLEVel:SOURce

Command Syntax

:MEASure:{EYE | CGRade}:ZLEVel:SOURce  {CHANnel{N} | DIFF{1:8}{A|C} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:EYE:ZLEVel:SOURce?

Description

Selects the source waveform on which to perform the ZLEVel measurement.


:MEASure:EYE:ZLEVel:STATus?

Query Syntax

:MEASure:EYE:ZLEVel:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ZLEVel measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:EYE:ZLEVel:STATus:REASon?

Query Syntax

:MEASure:EYE:ZLEVel:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ZLEVel measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:HITS?

Query Syntax

:MEASure:HISTogram{1:4}:HITS?

Description

Returns Total Hits, which the total number of hits within the histogram window as reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:HITS:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:HITS:LOCation?

Description

Returns an index for the location of the HITS measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:HITS:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:HITS:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the HITS measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:HITS:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:HITS:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed HITS measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:M1S?

Query Syntax

:MEASure:HISTogram{1:4}:M1S?

Description

Returns μ±1σ, which is the percentage of points that are within one standard deviation of the histogram's mean as reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:M1S:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:M1S:LOCation?

Description

Returns an index for the location of the M1S measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:M1S:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:M1S:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the M1S measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:M1S:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:M1S:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed M1S measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:M2S?

Query Syntax

:MEASure:HISTogram{1:4}:M2S?

Description

Returns μ±2σ, which is the percentage of points that are within two standard deviations of the histogram's mean as reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:M2S:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:M2S:LOCation?

Description

Returns an index for the location of the M2S measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:M2S:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:M2S:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the M2S measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:M2S:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:M2S:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed M2S measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:M3S?

Query Syntax

:MEASure:HISTogram{1:4}:M3S?

Description

Returns μ±3σ, which is the percentage of points that are within three standard deviations of the histogram's mean as reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:M3S:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:M3S:LOCation?

Description

Returns an index for the location of the M3S measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:M3S:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:M3S:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the M3S measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:M3S:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:M3S:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed M3S measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:MEAN?

Query Syntax

:MEASure:HISTogram{1:4}:MEAN?

Description

Returns Mean, which is the average value of all the points in the histogram as reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:MEAN:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:MEAN:LOCation?

Description

Returns an index for the location of the MEAN measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:MEAN:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:MEAN:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the MEAN measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:MEAN:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:MEAN:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed MEAN measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:MEDian?

Query Syntax

:MEASure:HISTogram{1:4}:MEDian?

Description

Returns Median, which is the time or voltage of the point at which 50% of the histogram is to the left or right (above or below for vertical histograms) as reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:MEDian:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:MEDian:LOCation?

Description

Returns an index for the location of the MEDian measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:MEDian:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:MEDian:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the MEDian measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:MEDian:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:MEDian:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed MEDian measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:PEAK?

Query Syntax

:MEASure:HISTogram{1:4}:PEAK?

Description

Returns Peak Hits, which is the histogram's greatest peak as reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:PEAK:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:PEAK:LOCation?

Description

Returns an index for the location of the PEAK measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:PEAK:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:PEAK:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PEAK measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:PEAK:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:PEAK:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PEAK measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:PP?

Query Syntax

:MEASure:HISTogram{1:4}:PP?

Description

Returns Peak-Peak, which is the width of the histogram as reported on the Histograms results table. The width is measured as the time or voltage of the last histogram bucket with data in it minus the time or voltage of the first histogram bucket with data in it.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:PP:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:PP:LOCation?

Description

Returns an index for the location of the PP measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:PP:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:PP:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PP measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:PP:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:PP:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PP measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:PPOSition?

Query Syntax

:MEASure:HISTogram{1:4}:PPOSition?

Description

Returns Peak Position, position of the greatest peak of the histogram as reported on the Histograms results table. If there is more than one peak, then it returns the position of the first peak from the lower boundary of the histogram window for vertical axis histograms. Otherwise, in the case of horizontal axis histograms, it returns the position of the first peak from the leftmost boundary of the histogram window.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:PPOSition:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:PPOSition:LOCation?

Description

Returns an index for the location of the PPOSition measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:PPOSition:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:PPOSition:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PPOSition measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:PPOSition:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:PPOSition:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PPOSition measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:SCALe?

Query Syntax

:MEASURE:HISTogram{1:4}:SCALe?

Description

Returns the scale used to display the histogram, which is the number of hits per major graticul division. It is the Peak Hits divided by the histogram size. For vertical histograms, size is set by the :HISTogram:VSIZe command. For horizontal histograms, size is set by the :HISTogram:HSIZe command. This value is not reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:SCALe:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:SCALe:LOCation?

Description

Returns an index for the location of the SCALe measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:SCALe:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:SCALe:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the SCALe measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:SCALe:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:SCALe:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed SCALe measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:HISTogram{1:4}:STDDev?

Query Syntax

:MEASURE:HISTogram{1:4}:STDDev?

Description

Returns Std Dev, which is the standard deviation of the histogram as reported on the Histograms results table.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:HISTogram{1:4}:STDDev:LOCation?

Query Syntax

:MEASure:HISTogram{1:4}:STDDev:LOCation?

Description

Returns an index for the location of the STDDev measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:HISTogram{1:4}:STDDev:STATus?

Query Syntax

:MEASure:HISTogram{1:4}:STDDev:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the STDDev measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:HISTogram{1:4}:STDDev:STATus:REASon?

Query Syntax

:MEASure:HISTogram{1:4}:STDDev:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed STDDev measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:BUJ

Command Syntax

:MEASure:JITTer:BUJ

Query Syntax

:MEASure:JITTer:BUJ?

Description

Moves the BUJ (δ-δ) measurement (Bounded Uncorrelated Jitter) to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. A BUJ (rms) measurement command (:BUJRms) is also available.

BUJ and Periodic Jitter (PJ) are one component of Deterministic Jitter (DJ). Whether PJ or BUJ is reported depends on the spectral method used to separate any BUJ from the Random Jitter (RJ). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices: Auto, Spectral, and Tail Fit.

  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

When Auto is selected, use the :MEASure:JITTer:SMEThod? query to determine the actual method used for the current data acquisition.

Requires Jitter Mode license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

More Information

  • Learn about listing measurements in the table
  • Jitter Components Tree


:MEASure:JITTer:BUJ:LOCation?

Query Syntax

:MEASure:JITTer:BUJ:LOCation?

Description

Returns an index for the location of the BUJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:BUJ:SOURce?

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:BUJ:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the BUJ measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:BUJ:STATus?

Query Syntax

:MEASure:JITTer:BUJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BUJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:BUJ:STATus:REASon?

Query Syntax

:MEASure:JITTer:BUJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BUJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:BUJRms

Command Syntax

:MEASure:JITTer:BUJRms

Query Syntax

:MEASure:JITTer:BUJRms?

Description

Moves the BUJ (rms) measurement (Bounded Uncorrelated Jitter) to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. A BUJ (δ - δ) measurement command (:BUJ) is also available.

BUJ and Periodic Jitter (PJ) are one component of Deterministic Jitter (DJ). Whether PJ or BUJ is reported depends on the spectral method used to separate any BUJ from the Random Jitter (RJ). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices: Auto, Spectral, and Tail Fit.

  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

When Auto is selected, use the :MEASure:JITTer:SMEThod? query to determine the actual method used for the current data acquisition.

Requires Jitter Mode license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform..
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

More Information

  • Learn about listing measurements in the table
  • Jitter Components Tree


:MEASure:JITTer:BUJRms:LOCation?

Query Syntax

:MEASure:JITTer:BUJRms:LOCation?

Description

Returns an index for the location of the BUJRms measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:BUJRms:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:BUJRms:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the BUJRms measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:BUJRms:STATus?

Query Syntax

:MEASure:JITTer:BUJRms:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the BUJRms measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:BUJRms:STATus:REASon?

Query Syntax

:MEASure:JITTer:BUJRms:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed BUJRms measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:DCD

Command Syntax

:MEASure:JITTer:DCD

Query Syntax

:MEASure:JITTer:DCD?

Description

Moves the duty cycle distortion (DCD) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. DCD is derived from the Composite DDJ Histogram graph. It is the difference between the mean of the histogram of the rising edge positions and the mean of the histogram of the falling edge positions.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DCD:SOURce CHAN1A
:MEASure:JITTer:DCD?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:DCD:LOCation?

Query Syntax

:MEASure:JITTer:DCD:LOCation?

Description

Returns an index for the location of the DCD measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

  • Learn about listing measurements in the table


:MEASure:JITTer:DCD:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:DCD:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the DCD measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:JITTer:DCD:STATus?

Query Syntax

:MEASure:JITTer:DCD:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DCD measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

  • Learn about listing measurements in the table


:MEASure:JITTer:DCD:STATus:REASon?

Query Syntax

:MEASure:JITTer:DCD:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DCD measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

  • Learn about listing measurements in the table


:MEASure:JITTer:DDJ

Command Syntax

:MEASure:JITTer:DDJ

Query Syntax

:MEASure:JITTer:DDJ?

Description

Moves the data-dependent jitter (DDJ) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The command query returns the measured DDJ. The Data Dependent Jitter, is the peak-to-peak (p-p) spread of the histogram of all edges with uncorrelated jitter removed as shown in the DDJ Histogram graph.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DDJ:SOURce CHAN1A
:MEASure:JITTer:DDJ?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:DDJ:LOCation?

Query Syntax

:MEASure:JITTer:DDJ:LOCation?

Description

Returns an index for the location of the DDJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

  • Learn about listing measurements in the table


:MEASure:JITTer:DDJ:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:DDJ:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the DDJ measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:JITTer:DDJ:STATus?

Query Syntax

:MEASure:JITTer:DDJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DDJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

  • Learn about listing measurements in the table


:MEASure:JITTer:DDJ:STATus:REASon?

Query Syntax

:MEASure:JITTer:DDJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DDJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

  • Learn about listing measurements in the table


:MEASure:JITTer:DDJHist:SAMPles?

Query Syntax

:MEASureJITTer:DDJHist:SAMPles?

Description

Queries the number of samples in the histogram that were used to measure DDJ. The number of samples returned is affected by the :MEASure:JITTer:DEFine:EDGe command, which selects jitter measurements based on rising edges, fallingedges, or both edges. For data signals, all edges are included by default. For clock signals, only rising edges are used by default.

If the measurement is unsuccessful, 9.91E+37 (NaN) is returned.

Requires a Jitter Mode license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:DDJVsbit?

Query Syntax

:MEASure:JITTer:DDJVsbit?

Description

Returns the DDJ values for each measured edge as definite-length block data. DDJ values are returned for only the edge types specified by the command :MEASure:JITTer:DEFine:EDGE. Use the query :MEASure:JITTer:PATTern? to return the edge type values. Use the :MEASure:JITTer:DDJVsbit:BITS query to return a list of bits corresponding to the returned values. Use the :DISPlay:JITTer:DDJVsbit:NBITs command to specify the number of bits included in the data. Use the :DISPlay:JITTer:DDJVsbit:STARt command to specify the starting bit for the data. Each DDJ value is 32-bit floating point (4 bytes) returned in LSB (Least Significant Byte) first format. The data block is followed by a linefeed terminator character (0A hex). The DDJ value has units of time or unit interval as specified by :MEASure:JITTer:DEFine:UNITs.

Note

The DDJ-versus-Bit graph does not need to be displayed to return the data using this command.

Requires Jitter Mode license.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.

Child Commands

  • :BITS? returns a list of bits for which :DDJVsbit? has returned values.
  • :EARLiest? returns the bit number and value of the earliest measured edge in the DDJ vs. bit graph.
  • :LATest? returns the bit number and value of the latest measured edge in the DDJ vs. bit graph..

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DDJ:SOURce CHAN1A
:MEASure:JITTer:DDJVsbit?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:DDJVsbit:BITS?

Query Syntax

:MEASure:JITTer:DDJVsbit:BITS?

Description

Returns a list of bits for which :DDJVsbit? has returned values. The bits are returned as definite-length block data. Each bit value is a 32-bit integer (4 bytes) returned in LSB (Least Significant Byte) first format. The data block is followed by a linefeed termination character (0A hex).

Requires Jitter Mode license.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DDJVsbit?
:MEASure:JITTer:DDJVsbit:BITS?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:DDJVsbit:EARLiest?

Query Syntax

:MEASure:JITTer:DDJVsbit:EARLiest?

Description

Returns a string of two comma-separated values for the earliest measured edge in the DDJ vs. bit graph. The string includes the bit number followed by the DDJ value, for example "70,-8.579983e-014". The DDJ value has units of time or unit interval as specified by the :MEASure:JITTer:DEFine:UNITs command.

Requires Jitter Mode license.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DDJVsbit:EARLiest?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:DDJVsbit:LATest?

Query Syntax

:MEASure:JITTer:DDJVsbit:LATest?

Description

Returns a string of two comma-separated values for the latest measured edge in the DDJ vs. bit graph. The string includes the bit number followed by the DDJ value for example "108,7.927662e-014". The DDJ value has units of time or unit interval as specified by the :MEASure:JITTer:DEFine:UNITs command.

Requires Jitter Mode license.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DDJVsbit:EARLiest?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:DDPWs

Command Syntax

:MEASure:JITTer:DDPWs

Query Syntax

:MEASure:JITTer:DDPWs?

Description

Moves the Data Dependant Pulse Width Shrinkage (DDPWS) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. DDPWS is a component of Data Dependent Jitter (DDJ).

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DDPWs:SOURce CHAN1A
:MEASure:JITTer:DDPWs?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:DDPWs:LOCation?

Query Syntax

:MEASure:JITTer:DDPWs:LOCation?

Description

Returns an index for the location of the DDPWs measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:DDPWs:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:DDPWs:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the DDPWs measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:DDPWs:STATus?

Query Syntax

:MEASure:JITTer:DDPWs:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DDPWs measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:DDPWs:STATus:REASon?

Query Syntax

:MEASure:JITTer:DDPWs:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DDPWs measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:DEFine:EDGe

Command Syntax

:MEASure:JITTer:DEFine:EDGe {BEDGes | REDGe | FEDGe}

Query Syntax

:MEASure:JITTer:DEFine:EDGe?

Description

Specifies the type of signal edges to include (and thereby exclude) from the jitter measurement algorithm.

BEDGes
Specifies both edges. This is the default setting for data signals.
REDGe
Specifies rising edges. This is the default setting for clock signals.
FEDGe
Specifies falling edges

Since the Aliased Spectrum graph can only be set to include rising or falling edges (but not both edges), if BEDGes is selected, the Aliased Spectrum graph defaults to using rising edges. The equivalent GUI setting is Show Results Based on these Edges in the Jitter Mode Measurement Setup dialog box.

Requires Jitter Mode license.


:MEASure:JITTer:DEFine:LEVel:CUSTom

Command Syntax

:MEASure:JITTer:DEFine:LEVel:CUSTom <amplitude>

<amplitude> is a double.

Query Syntax

:MEASure:JITTer:DEFine:LEVel:CUSTom?

Description

Sets a the jiter sampling level (Watts or volts based on the optical or electrical input channel used) when the sampling level is specified to be units (:MEASure:JLTYpe command).

Requires Jitter Mode license.

Example Command Sequence

:MEASure:JITTer:DEFine:LEVel:TYPe UNITs
:MEASure:JITTer:DEFine:LEVel:CUSTom 4.0E-04


:MEASure:JITTer:DEFine:LEVel:PERCent

Command Syntax

:MEASure:JITTer:DEFine:LEVel:PERCent  <percent>

<percent> is a double.

Query Syntax

:MEASure:JITTer:DEFine:LEVel:PERCent?

Description

Sets the pecentage level when the jiter sampling level is set to percent. Set the level between 30% and 70% of the eye amplitude. Use the :MEASure:JLTYpe command to change the type of sampling level to percent.

Requires Jitter Mode license.

Example Command Sequence

:MEASure:JITTer:DEFine:LEVel:TYPe PERCent
:MEASure:JITTer:DEFine:LEVel:PERCent 5.0E+01


:MEASure:JITTer:DEFine:LEVel:TYPe

Command Syntax

:MEASure:JITTer:DEFine:LEVel:TYPe  {PERCent | UNITs | AVERage}

Query Syntax

:MEASure:JITTer:DEFine:LEVel:TYPe?

Description

Specifies a jiter sampling level based on percent, amplitude units, or average:

More Information

  • PERCent of the eye amplitude. Use the :MEASure:JITTer:DEFine:LEVel:PERCent command to set the actual value between 30% and 70%.
  • UNITs selects amplitude units of Watts or volts based on the optical or electrical input channel used). Use :MEASure:JITTer:DEFine:LEVel:CUSTom to enter the desired level. If you enter a custom level that is outside of the equivalent 30% to 70% range for the signal being measured, the measurement graphs are not displayed.
  • AVERage data level.

As a default, the data is sampled at 50% of the average value for logic highs and lows.

Figure. Sample Level Set to the Default 50% Level

Figure. Sample Level Changed to a 30% Level

Requires Jitter Mode license.

Example Command Sequence

:MEASure:JITTer:DEFine:LEVel:TYPe PERCent
:MEASure:JITTer:DEFine:LEVel:PERCent 3.0E+1

  • Learn More


:MEASure:JITTer:DEFine:RJComp

Command Syntax

:MEASure:JITTer:DEFine:RJComp{? {ON | OFF | 1 | 0}

Query Response

{1 | 0}

Description

Turns on RJ compensation which removes intrinsic oscilloscope jitter from the measurement results. Use the :MEASure:DEFine:RJCValue command to enter the actual correction value. Every jitter measurement, whether performed on a scope, TIA, or BERT, includes a component of jitter that has been generated by the measurement instrument itself. This is often referred to as intrinsic jitter. The RJ result is an RSS sum of RJ from the instrument and Device Under Test (DUT):

RJ2meas = RJ2DUT + RJ2meas system

To determine the intrinsic RJ from your measurement system, measure the jitter of a source that is known to have extremely low phase noise, such as an Keysight E8267D PSG Analog Signal Generator. Alternatively, if you are using a BERT or pattern generator to drive the DUT, connect the BERT or pattern generator directly to the 86100D and measure jitter using a PRBS7 or 1010 pattern. The measured RJ is the intrinsic RJ of your measurement system. Enter this value and this random jitter contribution will be RSS'd out of the results.

For the 86100D DCA-X, intrinsic oscilloscope jitter is dependent on clock edge speed and rate.

86100D Intrinsic Jitter at 10Gb/s
Source | Intrinsic Jitter
Standard Timebase | 750 fs
86107A Precision Timebase Module | 90 fs (approximate)
86108A Precision Waveform Analyzer | 50 fs

Note

For the 86108A, intrinsic jitter is very small and you need not use the Compensate RJ by: feature.

Requires Jitter Mode license.


:MEASure:JITTer:DEFine:RJCValue

Command Syntax

:MEASure:JITTer:DEFine:RJCValue  <value>

<value> is a double.

Query Syntax

:MEASure:JITTer:DEFine:RJCValue?

Description

Enters an RJ compensation value. Use the :MEASure:JITTer:DEFine:RJComp command to turn RJ compensation on.

Requires Jitter Mode license.


:MEASure:JITTer:DEFine:RJSTabilize

Command Syntax

:MEASure:JITTer:DEFine:RJSTabilize{? {ON | OFF | 1 | 0}

Query Response

{1 | 0}

Description

Selects RJ stabilization, which locks (stabilizes) the value of the measured RJ that is used in jitter measurements. Use RJ stabilization to prevent any uncorrelated non-Gaussian, non-periodic jitter from falsely contributing to any measured RJ value. Use the :MEASure:JITTer:DEFine:RJSValue command to enter the stabilization value in seconds. Use the :MEASure:JITTer:DEFine:RJSValue:GMRJ command to automatically enter the current measured RJ value. This RJ value will be locked in subsequent jitter measurements.

Requires Jitter Mode license.

  • Learn More


:MEASure:JITTer:DEFine:RJSValue

Command Syntax

:MEASure:JITTer:DEFine:RJSValue  <value>

<value> is a double.

Query Syntax

:MEASure:JITTer:DEFine:RJSValue?

Description

Enters an RJ stabilization value. Use the :MEASure:JITTer:DEFine:RJSTabliize command to turn RJ stabilization on. Manually entering the RJ value, requires a two-part measurement. First, remove any sources of uncorrelated non-Gaussian, non-periodic jitter (for example, crosstalk or non-periodic electromagnetic interference). Then, set RJ stabilization off and measure the RJ. Then, turn RJ stabilization on and reapply the sources of uncorrelated non-Gaussian, non-periodic jitter. One use of RJ stabilization is to prevent crosstalk, from an adjacent channel, appearing as jitter. Use the :MEASure:JITTer:DEFine:RJSValue:GMRJ command to automatically enter the current measured RJ value. This RJ value will be locked in subsequent jitter measurements.

Requires Jitter Mode license.


:MEASure:JITTer:DEFine:RJSValue:GMRJ

Command Syntax

:MEASure:JITTer:DEFine:RJSValue:GMRJ

Description

Automatically enters the current measured RJ value, when RJ stabilization is set turned on (:MEASure:JITTer:DEFine:RJSTabliize).

Requires Jitter Mode license.


:MEASure:JITTer:DEFine:SIGNal

Command Syntax

:MEASure:JITTer:DEFine:SIGNal{| {CLOCk | DATA}

Query Syntax

:MEASure:JITTer:DEFine:SIGNal{?

Description

Specifies the type of input signal: data (DATA) or clock (CLOCk). Use this command if a poorly-defined signal can not be automatically detected using :MEASure:JITTer:DEFine:SIGNal.

Requires Jitter Mode license.

Example Command Sequence

:MEASure:JITTer:DEFine:SIGNal:AUTodetect OFF
:MEASure:JITTer:DEFine:SIGNal CLOCk


:MEASure:JITTer:DEFine:SIGNal:AUTodetect

Command Syntax

:MEASure:JITTer:DEFine:SIGNal:AUTodetect{? {ON | OFF | 1 | 0}

Query Response

{1 | 0}

Description

Selects to automatically detect the type of input signal: data or clock. The default is autodetection (ON). If a poorly-defined signal can not be automatically detected, turn off automatic detection specify the signal type with the :MEASure:JITTer:DEFine:SIGNal command.

Requires Jitter Mode license.


:MEASure:JITTer:DEFine:SMEThod

Command Syntax

:MEASure:JITTer:DEFine:SMEThod {AUTO | SPECtral | TFIT}

Query Syntax

:MEASure:JITTer:DEFine:SMEThod?

Description

This command specifies the method used to separate any Bounded Uncorrelated Jitter (BUJ) from the Random Jitter (RJ) and any Bounded Uncorrelated Interference (BUI) from the Random Noise (RN). The three command arguments correspond to the three user-interface jitter-separation selections described in the topic opened by the following link:

  • Learn about jitter separation and the Auto (AUTO), Spectral (SPECtral), and Tail Fit (TFIT) parameters.

Use the :MEASure:JITTer:SMEThod? and :MEASure:AMPLitude:SMEThod? queries to determine the actual method used for the current data acquisition's Jitter or Amplitude values, respectively. When AUTO is selected, the method can vary on each data-acquisition cycle and the method used for Jitter data may be different from the method used for Interference data.

Requires Jitter Mode license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

More Information

  • Jitter Components Tree
  • Interference Components Tree


:MEASure:JITTer:DEFine:TJBer

Command Syntax

:MEASure:JITTer:DEFine:TJBer  <BER>

<BER> is a double.

Query Syntax

:MEASure:JITTer:DEFine:TJBer?

Description

Specifies the bit-error-rate level for calculating Total Jitter (TJ) and Total Interference (TI). You can enter values from 1E-1 to 1E-18. The default value is 1E-12. If you enter 2.5E-3, the TJ measurement in the results table is labeled J2. If you enter 2.5E-10, TJ measurement in the results table is labeled J9.

Requires Jitter Mode license.


:MEASure:JITTer:DEFine:UNITs

Requires Jitter Mode license.

Command Syntax

:MEASure:JITTer:DEFine:UNITs {SECond | UINTerval}

Query Syntax

:MEASure:JITTer:DEFine:UNITs?

Description

Selects measurement units for Jitter mode values that are reported on the Results table and shown on the x-axis of displayed graphs. Choices are seconds (default value) or Unit Interval (UI), which is the bit period of the data.


:MEASure:JITTer:DJ

Command Syntax

:MEASure:JITTer:DJ

Query Syntax

:MEASure:JITTer:DJ?

Description

Moves the deterministic jitter (DJ) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DJ:SOURce CHAN1A
:MEASure:JITTer:DJ?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:DJ:LOCation?

Query Syntax

:MEASure:JITTer:DJ:LOCation?

Description

Returns an index for the location of the DJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:DJ:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:DJ:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the DJ measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:DJ:STATus?

Query Syntax

:MEASure:JITTer:DJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:DJ:STATus:REASon?

Query Syntax

:MEASure:JITTer:DJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:EBITs?

Query Syntax

:MEASure:JITTer:EBITs?

Description

Returns an ordered list of edge bit numbers returned as definite-length block data. Each value is the number of the bit in the pattern preceding the edge transition and is in the range of 0 to pattern length minus 1. Each bit number is a four byte integer. Only the edges of the type specified by the command :MEASure:JITTer:DEFine:EDGE are included in the list. The data block is followed by a terminator character, 0A hex (linefeed). This query will return an incomplete list of edges, if all of the data needed to determine the pattern has not yet been acquired. Use the :MEASure:JITTer:DDJVsbit? query to return the DDJ values. Use the :MEASure:JITTer:PATTern? query to return the edge type values.

Note

This query produces an error if jitter signal type is set to clock signal (:MEASure:JITTer:DEFine:SIGNal CLOCk).

Requires Jitter Mode license.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DJ:SOURce CHAN1A
:MEASure:JITTer:DEFine:EDGe REDGe
:MEASure:JITTer:EBITs?
:MEASure:JITTer:DDJVsbit?

More Information

  • DJ results
  • Learn about listing measurements in the table


:MEASure:JITTer:FOVer2

Command Syntax

:MEASure:JITTer:FOVer2

Query Syntax

:MEASure:JITTer:FOVer2?

Description

This command measures F/2 (also known as Even-Odd) jitter which occurs as the result of timing data with a half-rate clock. If the clock is asymmetric then even bits versus odd bits will differ in length from nominal. F/2 jitter is measured as the absolute value of the difference between the even and odd bits in seconds as a peak-to-peak value. If the Even-Odd (F/2) measurement is already listed on the Results table, it is moved to the top of the table. The query form of the command returns the measured value. This measurement is only available in Jitter Mode. When measuring a simulated waveform, the pattern length in pattern lock setup must be set to an even number by doubling the pattern length setting in the simulator. On real signals the user must be responsible for assuring that the pattern is consistent with any measurement standard requirements.

License Required

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:JITTer:FOVer2:LOCation?

Query Syntax

:MEASure:JITTer:FOVer2:LOCation?

Description

Returns an index for the location of the FOVer2 measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:JITTer:FOVer2:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:FOVer2:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the FOVer measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:JITTer:FOVer2:STATus?

Query Syntax

:MEASure:JITTer:FOVer2:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the FOVer2 measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:JITTer:FOVer2:STATus:REASon?

Query Syntax

:MEASure:JITTer:FOVer2:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed FOVer2 measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:JITTer:ISI

Command Syntax

:MEASure:JITTer:ISI

Query Syntax

:MEASure:JITTer:ISI?

Description

Moves the inter-symbol interference (ISI) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:ISI:SOURce CHAN1A
:MEASure:JITTer:ISI?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:ISI:LOCation?

Query Syntax

:MEASure:JITTer:ISI:LOCation?

Description

Returns an index for the location of the ISI measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:ISI:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:ISI:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the ISI measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:ISI:STATus?

Query Syntax

:MEASure:JITTer:ISI:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ISI measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:ISI:STATus:REASon?

Query Syntax

:MEASure:JITTer:ISI:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed ISI measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:JN

Command Syntax

:MEASure:JITTer:JN

Query Syntax

:MEASure:JITTer:JN?

Description

Moves the J2 and J9 result measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. The command query returns the measured J2 or J9 based on the value specified with the SJN child command. J2 and J9 results measure the total jitter associated with a specific bit error ratio (BER). J2 is made with a measurement BER of of 2.5E-3 (2.5 x 10–3). J9 is made with a measurement BER of of 2.5E-10 (2.5 x 10–10).

    Meas Toolbar

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • SJN selects J2 and J9 measurement results for TJ associated with a specific bit error ratio (BER).
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:JN:SOURce CHAN1A
:MEASure:JITTer:JN:SJN J2
:MEASure:JITTer:JN?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:JN:LOCation?

Query Syntax

:MEASure:JITTer:JN:LOCation?

Description

Returns an index for the location of the JN measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:JN:SJN

Command Syntax

:MEASure:JITTer:JN:SJN  {J2 | J9}

Query Syntax

:MEASure:JITTer:JN:SJN?

Description

Selects J2 and J9 measurement results for TJ associated with a specific bit error ratio (BER).

J2
Associates TJ with a measurement BER of of 2.5 x 10−3.
J9
Associates TJ with a measurement BER of of 2.5 x 10–10.

Requires Jitter Mode license.


:MEASure:JITTer:JN:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:JN:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the JN measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:JN:STATus?

Query Syntax

:MEASure:JITTer:JN:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JN measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:JN:STATus:REASon?

Query Syntax

:MEASure:JITTer:JN:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JN measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:LEVel

Command Syntax

:MEASure:JITTer:LEVel

Query Syntax

:MEASure:JITTer:LEVel?

Description

Returns the jitter sampling level, which is the vertical value at which jitter measurements are made. The command query returns the setting without displaying the value in the table. Jitter sampling level is specified as a percentage, custom, or average value using the :MEASure:JITTer:DEFine:LEVel:TYPe command. If a percentage or average value is specified, the :MEASure:JITTer:LEVel command returns the equivalent vertical value that is used. For example, for a setting of 50%, the displayed or returned value might be 10E-3, depending on the actual signal.

Note

This feature cannot be accessed from FlexDCA's user interface. It is only available via this programming command.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DEFine:LEVel:TYPe AVERage
:MEASure:JITTer:LEVel:SOURce CHAN1A
:MEASure:JITTer:LEVel?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:LEVel:LOCation?

Query Syntax

:MEASure:JITTer:LEVel:LOCation?

Description

Returns an index for the location of the LEVel measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:LEVel:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:LEVel:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the LEVel measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:LEVel:STATus?

Query Syntax

:MEASure:JITTer:LEVel:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the LEVel measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:LEVel:STATus:REASon?

Query Syntax

:MEASure:JITTer:LEVel:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed LEVel measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:LIST:CLEar

Command Syntax

:MEASure:JITTer:LIST:CLEar

Description

Clears the entire active measurement list in the displayed Jitter results table.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:LIST:CLEar

Requires Jitter Mode license.


:MEASure:JITTer:LIST:DEFault

Command Syntax

:MEASure:JITTer:LIST:DEFault

Description

Resets the jitter Results table to show the default set of measurements.

Requires Jitter Mode license.


:MEASure:JITTer:LIST:REMove

Command Syntax

:MEASure:JITTer:LIST:REMove <index>

<index> is an int.

Description

Removes the selected measurement from the active measurement list, which is displayed in the Jitter results table. The argument is an index number that specifies the measurement to be removed. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:JITTer:TJ:LOCation?.

Requires Jitter Mode license.

Example Command Sequence

Read the location of the TJ result in the table, send the REMove command with the returned value. In this case 2.

:SYSTem:MODE JITTer
:MEASure:JITTer:TJ:LOCation?
…
…
:MEASure:JITTer:LIST:REMove 2


:MEASure:JITTer:LIST:SELect

Command Syntax

:MEASure:JITTer:LIST:SELect  <index>

<index> is an int.

Query Syntax

:MEASure:JITTer:LIST:SELect?

Description

Selects an measurement in the active measurement list, which is displayed in the Jitter results table. Annotations for the selected measurement are placed on the displayed waveform at the level or coordinate used to calculate the final measurement result.

The argument is an index number that specifies the measurement to select. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:JITTer:FALLtime:LOCation?.

Requires Jitter Mode license.

Example Command Sequence

Read the measurement location in the active measurement list, send the SELect command using the returned value. In this case 2.

:SYSTem:MODE JITTer
:MEASure:JITTer:FALLtime:LOCation?
…
…
:MEASure:JITTer:LIST:SELect 2


:MEASure:JITTer:LJMode

Query Syntax

:MEASure:JITTer:LJMode?

Query Response

{ON | OFF}

Description

Returns the status of the LJM (Large Jitter Mode) notice that appears in the Jitter Results Window 's upper-right corner. This notice appears if the combined Random Jitter (RJ) and Periodic Jitter (PJδ-δ) exceeds the rise time or fall transition time of the signal. The 86100D automatically recognizes this condition and accurately measures the jitter.

If the message "Unable to Characterize Edges: Eye is closed" appears, the Jitter has exceeded the measurable range for this signal. You must select one of the following choices:

  • Retard the edge speeds using, for example, a low-pass filter. Note that this may add data dependent jitter (DDJ) due to inter-symbol interference (ISI).
  • If the jitter is being intentionally induced on the signal, reduce the RJ and PJ.
  • Switch to Oscilloscope Mode and perform a conventional Oscilloscope Jitter measurement. Or, switch to Eye Mode and perform a conventional Eye Mode Jitter measurement.

Requires Jitter Mode license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:PATTern?

Query Syntax

:MEASure:JITTer:PATTern?

Description

Returns each value in the pattern, as determined by FlexDCA. The returned definite-length block data consists of ASCII '0' and '1' values that represent the pattern (30 hex and 31 hex, respectively). The data block is followed by a terminator character, 0A hex (linefeed). An incomplete description of the pattern is returned if all of the data needed to determine the pattern has not yet been acquired. Use the :MEASure:JITTer:DDJVsbit? query to return the DDJ values. Use the :MEASure:JITTer:EBITs? query to return the bit numbers.

Note

This query produces an error if jitter signal type is set to clock signal (:MEASure:JITTer:DEFine:SIGNal CLOCk).

Requires Jitter Mode license.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:DDJ:SOURce CHAN1A
:MEASure:JITTer:PATTern??


:MEASure:JITTer:PJ

Command Syntax

:MEASure:JITTer:PJ

Query Syntax

:MEASure:JITTer:PJ?

Description

Moves the PJ (δ - δ) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. A PJ (rms) measurement command is also available.

BUJ and Periodic Jitter (PJ) are one component of Deterministic Jitter (DJ). Whether PJ or BUJ is reported depends on the spectral method used to separate any BUJ from the Random Jitter (RJ). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices: Auto, Spectral, and Tail Fit.

  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

When Auto is selected, use the :MEASure:JITTer:SMEThod? query to determine the actual method used for the current data acquisition. The :MEASureJITTer:BUJ command can be used to return the same value.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:PJ:SOURce CHAN1A
:MEASure:JITTer:PJ?

  • Learn about listing measurements in the table


:MEASure:JITTer:PJ:LOCation?

Query Syntax

:MEASure:JITTer:PJ:LOCation?

Description

Returns an index for the location of the PJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:PJ:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:PJ:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the PJ measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:PJ:STATus?

Query Syntax

:MEASure:JITTer:PJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:PJ:STATus:REASon?

Query Syntax

:MEASure:JITTer:PJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:PJRMs

Command Syntax

:MEASure:JITTer:PJRMs

Query Syntax

:MEASure:JITTer:PJRMs?

Description

Moves the uncorrelated PJ (rms) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. A PJ (δ - δ) measurement command is also available.

BUJ and Periodic Jitter (PJ) are one component of Deterministic Jitter (DJ). Whether PJ or BUJ is reported depends on the spectral method used to separate any BUJ from the Random Jitter (RJ). This setting is made with the :MEASure:JITTer:DEFine:SMEThod command and can be one of the following three choices: Auto, Spectral, and Tail Fit.

  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

When Auto is selected, use the :MEASure:JITTer:SMEThod? query to determine the actual method used for the current data acquisition.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:PJRMs:SOURce CHAN1A
:MEASure:JITTer:PJRMs?

  • Learn about listing measurements in the table


:MEASure:JITTer:PJRMs:LOCation?

Query Syntax

:MEASure:JITTer:PJRMs:LOCation?

Description

Returns an index for the location of the PJRMs measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:PJRMs:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:PJRMs:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the PJRMs measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:PJRMs:STATus?

Query Syntax

:MEASure:JITTer:PJRMs:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PJRMs measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:PJRMs:STATus:REASon?

Query Syntax

:MEASure:JITTer:PJRMs:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PJRMs measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:RJ

Command Syntax

:MEASure:JITTer:RJ

Query Syntax

:MEASure:JITTer:RJ?

Description

Moves the Random Jitter (RJ) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. If Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation is installed, the RJ measurement can have optimization applied from an emulated clock-recovery PLL. The optimization is turned on or off using the :CRECovery:JSANalysis:RJCorrection command.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:RJ:SOURce CHAN1A
:MEASure:JITTer:RJ?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:RJ:LOCation?

Query Syntax

:MEASure:JITTer:RJ:LOCation?

Description

Returns an index for the location of the RJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:RJ:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:RJ:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the RJ measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:RJ:STATus?

Query Syntax

:MEASure:JITTer:RJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:RJ:STATus:REASon?

Query Syntax

:MEASure:JITTer:RJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed RJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:RJPJhist:SAMPles?

Query Syntax

:MEASure:JITTer:RJPJhist:SAMPles?

Description

Queries the number of samples in the histogram that were used to measure RJ and PJ. The number of samples returned is affected by the :MEASure:JITTer:DEFine:EDGe command, which selects jitter measurements based on rising edges, fallingedges, or both edges. For data signals, all edges are included by default. For clock signals, only rising edges are used by default.

If the measurement is unsuccessful, 9.91E+37 (NaN) is returned.

Requires a Jitter Mode license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:SMEThod?

Query Syntax

:MEASure:JITTer:SMEThod?

Description

For the current data acquisition, this query returns the method used to separate any Bounded Uncorrelated Jitter (BUJ) from the Random Jitter (RJ), as shown in the Jitter Components Tree. The following list shows the two possible query responses:

SPECtral
The spectral method is the standard method that all FlexDCA versions previous to revision A.02.50 have used to decompose the jitter and interference components. This method is best used when no BUJ or BUI is known to be present on the signal. This is the default method used.
TFIT
The tail-fit method is exclusively used to separate the BUJ and BUI from the RJ and RN directly from the histogram. The TF annotation is displayed in the heading of the Jitter and Amplitude results table. Unless troubleshooting, do not use this method as it is less accurate than using AUTO or SPECtral.
  • Learn about jitter separation and the Auto, Spectral, and Tail Fit parameters.

Use the :MEASure:JITTer:DEFine:SMEThod command to specify the separation method used: AUTO, SPECtral, or TFIT (tail fit). When the AUTO method is selected, on each data acquisition cycle, both the spectral and tail-fit methods are used to separate the BUJ values from the RJ. The results are compared and, if they vary due to the presense of BUJ, the results of the tail-fit method are listed in the Jitter results table. Otherwise, the spectral method results are listed. Depending on the data acquired, this can change on each successive data acquisition. When the tail-fit method is used, the annotation TF is displayed on the heading of the Jitter results table. If the spectral method is used, no annotation is displayed. AUTO is the default method used.

Use the :MEASure:AMPLitude:SMEThod? query to return the current method used to separate any Bounded Uncorrelated Interference (BUI) from the Random Noise (RN).

Requires Jitter Mode license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:TJ

Command Syntax

:MEASure:JITTer:TJ

Query Syntax

:MEASure:JITTer:TJ?

Description

Moves the total jitter (TJ) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:TJ:SOURce CHAN1A
:MEASure:JITTer:TJ?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:TJ:LOCation?

Query Syntax

:MEASure:JITTer:TJ:LOCation?

Description

Returns an index for the location of the TJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:TJ:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:TJ:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the TJ measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:TJ:STATus?

Query Syntax

:MEASure:JITTer:TJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:TJ:STATus:REASon?

Query Syntax

:MEASure:JITTer:TJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JITTer:TJHist:SAMPles?

Query Syntax

:MEASure:JITTer:TJHist:SAMPles?

Description

Queries the number of samples in the histogram that were used to measure TJ. The number of samples returned is affected by the :MEASure:JITTer:DEFine:EDGe command, which selects jitter measurements based on rising edges, fallingedges, or both edges. For data signals, all edges are included by default. For clock signals, only rising edges are used by default.

If the measurement is unsuccessful, 9.91E+37 (NaN) is returned.

Requires a Jitter Mode license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:UJ

Command Syntax

:MEASure:JITTer:UJ

Query Syntax

:MEASure:JITTer:UJ?

Description

Moves the Uncorrelated Jitter (UJ) measurement to the top of the Jitter table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. UJ is the total of Random Jitter (RJ) that is unpredictable and not data related and Asynchronous Periodic Jitter (APJ) that is periodic jitter that is uncorrelated to the data rate.

Requires Jitter Mode license.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce? queries the source waveform.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE JITTer
:MEASure:JITTer:UJ:SOURce CHAN1A
:MEASure:JITTer:UJ?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:JITTer:UJ:LOCation?

Query Syntax

:MEASure:JITTer:UJ:LOCation?

Description

Returns an index for the location of the UJ measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:JITTer:UJ:SOURce

Command Syntax

Only use the query form of this command. Refer to the description below for more information.

Query Syntax

:MEASure:JITTer:UJ:SOURce?

Description

Because Jitter mode can only have one source waveform, there is no selection to make by sending :SOURce. However, you can use the :SOURce? query to identify the source waveform on which the UJ measurement is performed. If you want to change Jitter mode's source waveform, send one of the following commands:

:CHANnel{1A:8D}:DISPlay ON
:DIFF{1A:8C}:DISPlay ON
:FUNCtion{1:16}:DISPlay ON
:JMEMory1:DISPlay ON

You must follow the command with an autoscale as shown in the following example:

:CHANnel2B:DISPlay ON
:SYSTem:AUToscale
:*OPC?

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.


:MEASure:JITTer:UJ:STATus?

Query Syntax

:MEASure:JITTer:UJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the UJ measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:JITTer:UJ:STATus:REASon?

Query Syntax

:MEASure:JITTer:UJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed UJ measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:JSAMemory:DJ?

Query Syntax

:MEASure:JSAMemory:DJ?

Description

Queries the JSA DJ (rms) measurement, which is a band-limited Deterministic Jitter measurement. Specify the integration limits using the :CRECovery:JSANalysis:INTegrate:F command.

License Required

Jitter Spectrum Analysis (JSA) requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • :LOCation? returns the index for the JSA deterministic jitter DJ (rms) measurement's displayed results.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:CRECovery:DJ?

  • Learn about listing measurements in the table


:MEASure:JSAMemory:DJ:STATus?

Query Syntax

:MEASure:JSAMemory:DJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JSA deterministic jitter DJ (rms) measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:JSAMemory:DJ:STATus:REASon?

Query Syntax

:MEASure:JSAMemory:DJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JSA deterministic jitter DJ (rms) measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:JSAMemory:RJ?

Query Syntax

:MEASure:JSAMemory:RJ?

Description

Queries the JSA RJ (rms) measurement, which is a band-limited Deterministic Jitter measurement. Specify the integration limits using the :CRECovery:JSANalysis:INTegrate:F command.

License Required

Jitter Spectrum Analysis (JSA) requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • :LOCation?returns the index for the JSA random jitter TJ (rms) measurement's displayed results. The index is used to select the measurement for limit testing using the :LTESt:MEASure:CRECovery:LOCation<location>:STATe command. The returned location index is not used to clear or remove the measurement result as with other measurements in the :MEASure subsystem.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:CRECovery:RJ?

  • Learn about listing measurements in the table


:MEASure:JSAMemory:RJ:STATus?

Query Syntax

:MEASure:JSAMemory:RJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JSA random jitter RJ (rms) measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:JSAMemory:RJ:STATus:REASon?

Query Syntax

:MEASure:JSAMemory:RJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JSA random jitter RJ (rms) measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:JSAMemory:TJ?

Query Syntax

:MEASure:JSAMemory:TJ?

Description

Queries the JSA TJ (rms) measurement, which is a band-limited Deterministic Jitter measurement. Specify the integration limits using the :CRECovery:JSANalysis:INTegrate:F command.

License Required

Jitter Spectrum Analysis (JSA) requires an 86108A/B module with Option JSA. To use JSA in Jitter Mode, 86100D Option 200 Enhanced Jitter Analysis or N1010A Option 200 Enhanced Jitter Analysis is required.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • :LOCation? returns the index for the JSA total jitter TJ (rms) measurement's displayed results. The index is used to select the measurement for limit testing using the :LTESt:MEASure:CRECovery:LOCation<location>:STATe command. The returned location index is not used to clear or remove the measurement result as with other measurements in the :MEASure subsystem.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:CRECovery:TJ?

  • Learn about listing measurements in the table


:MEASure:JSAMemory:TJ:STATus?

Query Syntax

:MEASure:JSAMemory:TJ:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JSA total jitter TJ (rms) measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:JSAMemory:TJ:STATus:REASon?

Query Syntax

:MEASure:JSAMemory:TJ:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JSA total jitter TJ (rms) measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

Requires a module with Option JSA. Jitter Spectrum Analysis and SW Clock Recovery Emulation.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:LLINe{1:64}:FPOints?

Query Syntax

:MEASure:LLINe{1:64}:FPOints?

{1:64} identifies a Limit Line Test.

Description

Queries the total number of failed data points for a specific Limit Line Test. This is the sum of all failed data points in all defined limit lines in the Limit Line Test. To query the number of failed data points in a specific limit line, use the :MEASure:LLINe:LINE:FPOints? query. To load and display a Limit Line Test, use the :LLINe:DISPlay command.

In the following picture, if both limit lines are defined in Limit Line Test 1, the :MEASure:LLINe1:FPOints? query would return the value 9. However, consider the situation where limit line 1 is defined in Limit Line Test 1 and limit line 2 is defined in Limit Line Test 2. In this case, the :MEASure:LLINe1:FPOints? query would return the value 3 and the :MEASure:LLINe2:FPOints? query would return the value 6.

To return the pass/fail margin for a Limit Line Test, use the :MEASuer:LLINe:MARGin? query. To return the time value for the data point where the pass/fail margin occurs, use the :MEASuer:LLINe:MLOCation? query.

Off Screen Data Points are Not Counted

Only displayed data points are analyzed. For example, if you zoom in on the waveform so that a portion of the Limit Line Test is off screen, any failed data point that exists off screen will not be counted.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:FPOints:STATus?

Query Syntax

:MEASure:LLINe{1:64}:FPOints:STATus?

{1:64} identifies a Limit Line Test.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of LLINe:FPOints? query which returns the total number of failed data points in a specific Limit Line Test. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:FPOints:STATus:REASon?

Query Syntax

:MEASure:LLINe{1:64}:FPOints:STATus:REASon?

{1:64} identifies a Limit Line Test.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed LLINe:FPOints? query. If the failure count was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:LINE{1:16}:FPOints?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:FPOints?

{1:64} identifies a Limit Line Test.
{1:16} identifies a limit line.

Description

Queries the number of failed data points for a specific limit line defined within a Limit Line Test. To query the sum of all failed data points in all defined limit lines in a Limit Line Test, use the :MEASure:LLINe:FPOints? query. To load and display a Limit Line Test, use the :LLINe:DISPlay command.

In the following picture, the :MEASure:LLINe1:LINE1:FPOints? query would return the value 3. The :MEASure:LLINe1:LINE2:FPOints? query would return the value 6.

To return the pass/fail margin for a limit line, use the :MEASuer:LLINe:LINE:MARGin? query. To return the time value for the data point where the pass/fail margin occurs, use the :MEASuer:LLINe:LINE:MLOCation? query.

Off Screen Data Points are Not Counted

Only displayed data points are analyzed. For example, if you zoom in on the waveform so that a portion of a limit line is off screen, any failed data point that exists off screen will not be counted.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:LINE{1:16}:FPOints:STATus?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:FPOints:STATus?

{1:64} identifies a Limit Line Test.
{1:16} identifies a specific limit line.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of :LLINe:LINE:FPOints? query which returns the total number of failed data points in a specific limit line. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:LINE{1:16}:FPOints:STATus:REASon?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:FPOints:STATus:REASon?

{1:64} identifies a Limit Line Test.
{1:16} identifies a specific limit line.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed :LLINe:LINE:FPOints? query. If the count was successful, a null string is returned. Use the STATus? query to determine if the count has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:LINE{1:16}:MARGin?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:MARGin?

{1:64} identifies a Limit Line Test.
{1:16} identifies a limit line.

Description

Queries the amplitude of the pass/fail margin for a specific limit line. If the limit line has failures (:MEASure:LLINe:LINE:FPOints?), a fail margin is returned. If no failures exist, a pass margin is returned. The returned amplitude value is the same value that is shown in the Details dialog box which is displayed from the Limit Lines panel.

To return the time value for the data point where the pass/fail margin occurs, use the :MEASuer:LLINe:LINE:MLOCation? query. To return the total number of failed data points (which is zero for positive margins) use the :MEASure:LLINe:LINE:FPOints? query. To load and display a Limit Line Test, use the :LLINe:DISPlay command.

Interpreting Query Results
Amplitude Value | Description | Margin Examples
Negative | The returned margin is a fail margin which shows the greatest failure for the selected limit line in the test. This margin is for the displayed failed data point that occurs the greatest distance beyond any limit lines in the selected limit line. It is the difference in amplitude between that data point and limit line. A fail margin is always reported as a negative value. In this example picture, two failed data points are shown on the displayed waveform. The fail margin value –3.4 mV would be returned. |
Positive | The returned margin is a pass margin which shows how close the test is to failing. This margin is for the displayed passed (valid) data point that occurs the closest distance inside any limit lines in the selected Limit Line Test. It is the difference in amplitude between that data point and limit line. A pass margin is always reported as a positive value. In this example picture, two failed data points are shown on the displayed waveform. The pass margin value +3.2 mV would be returned. |

Off Screen Data Points are Not Counted

Only displayed data points are analyzed. For example, if you zoom in on the waveform so that a portion of the Limit Line Test is off screen, any failed data point that exists off screen will not be analyzed.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

  • Learn about listing measurements in the table


:MEASure:LLINe{1:64}:LINE{1:16}:MARGin:STATus?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:MARGin:STATus?

{1:64} identifies the limit line for which to apply the limit test.
{1:16} identifies an individual line segment of a limit line.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the :LLINe:LINE:MARGin? measurement for an specific limit line. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:LINE{1:16}:MARGin:STATus:REASon?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:MARGin:STATus:REASon?

{1:64} identifies the limit line for which to apply the limit test.
{1:16} identifies an individual line segment of a limit line.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed :LLINe:LINE:MARGin? measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:LINE{1:16}:MLOCation?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:MLOCation?

{1:64} identifies a Limit Line Test.
{1:16} identifies a limit line.

Description

Queries the location in time of the data point where the pass/fail margin is reported for a specific limit line. The returned time value is the same value that is shown in the Details dialog box which is displayed from the Limit Lines panel. To return the pass/fail margin, use the :MEASuer:LLINe:LINE:MARGin? query. To return the total number of failed data points (which is zero for positive margins) use the :MEASure:LLINe:LINE:FPOints? query. To load and display a Limit Line Test, use the :LLINe:DISPlay command.

Off Screen Data Points are Not Counted

Only displayed data points are analyzed. For example, if you zoom in on the waveform so that a portion of the Limit Line Test is off screen, any failed data point that exists off screen will not be analyzed.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

  • Learn about listing measurements in the table


:MEASure:LLINe{1:64}:LINE{1:16}:MLOCation:STATus?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:MLOCation:STATus?

{1:64} identifies the limit line for which to apply the limit test.
{1:16} identifies an individual line segment of a limit line.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the :LLINe:LINE:MLOCation? measurement for an specific limit line. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:LINE{1:16}:MLOCation:STATus:REASon?

Query Syntax

:MEASure:LLINe{1:64}:LINE{1:16}:MLOCation:STATus:REASon?

{1:64} identifies the limit line for which to apply the limit test.
{1:16} identifies an individual line segment of a limit line.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed :LLINe:LINE:MLOCation? measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:MARGin?

Query Syntax

:MEASure:LLINe{1:64}:MARGin?

{1:64} identifies a Limit Line Test.

Description

Queries the amplitude of the pass/fail margin for a Limit Line Test. If the Limit Line Test has failures (:MEASure:LLINe:FPOints?), a fail margin is returned. If no failures exist, a pass margin is returned. The returned amplitude value is the same value that is shown in the displayed Limit Lines panel. To return the time value for the data point where the pass/fail margin occurs, use the :MEASuer:LLINe:MLOCation? query. To return the total number of failed data points (which is zero for positive margins) use the :MEASure:LLINe:FPOints? query. To load and display a Limit Line Test, use the :LLINe:DISPlay command.

Interpreting Query Results
Amplitude Value | Description | Margin Examples
Negative | The returned margin is a fail margin which shows the greatest failure in the test. This margin is for the displayed failed data point that occurs the greatest distance beyond any limit lines in the selected Limit Line Test. It is the difference in amplitude between that data point and limit line. A fail margin is always reported as a negative value. In this example picture, two failed data points are shown on the displayed waveform. The fail margin value –3.4 mV would be returned. |
Positive | The returned margin is a pass margin which shows how close the test is to failing. This margin is for the displayed passed (valid) data point that occurs the closest distance inside any limit lines in the selected Limit Line Test. It is the difference in amplitude between that data point and limit line. A pass margin is always reported as a positive value. In this example picture, two failed data points are shown on the displayed waveform. The pass margin value +3.2 mV would be returned. |

Off Screen Data Points are Not Counted

Only displayed data points are analyzed. For example, if you zoom in on the waveform so that a portion of the Limit Line Test is off screen, any failed data point that exists off screen will not be analyzed.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

  • Learn about listing measurements in the table


:MEASure:LLINe{1:64}:MARGin:STATus?

Query Syntax

:MEASure:LLINe{1:64}:MARGin:STATus?

{1:64} identifies a Limit Line Test.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the :LLINe:MARGin? measurement for a Limit Line Test. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:MARGin:STATus:REASon?

Query Syntax

:MEASure:LLINe{1:64}:MARGin:STATus:REASon?

{1:64} identifies a Limit Line Test.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed :LLINe:MARGin? measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:MLOCation?

Query Syntax

:MEASure:LLINe{1:64}:MLOCation?

{1:64} identifies a Limit Line Test.

Description

Queries the location in time of the data point where the pass/fail margin is reported for a Limit Line Test. The returned time value is the same value that is shown in the displayed Limit Lines panel. To return the pass/fail margin, use the :MEASuer:LLINe:MARGin? query. To return the total number of failed data points for the Limit Line Test, use the :MEASure:LLINe:FPOints? query. To load and display a Limit Line Test, use the :LLINe:DISPlay command.

Off Screen Data Points are Not Counted

Only displayed data points are analyzed. For example, if you zoom in on the waveform so that a portion of the Limit Line Test is off screen, any failed data point that exists off screen will not be analyzed.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

  • Learn about listing measurements in the table


:MEASure:LLINe{1:64}:MLOCation:STATus?

Query Syntax

:MEASure:LLINe{1:64}:MLOCation:STATus?

{1:64} identifies a Limit Line Test.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the HITS measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LLINe{1:64}:MLOCation:STATus:REASon?

Query Syntax

:MEASure:LLINe{1:64}:MLOCation:STATus:REASon?

{1:64} identifies a Limit Line Test.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed HITS measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:LTESt:ACQuire:COUNt?

Query Syntax

:MEASure:LTESt:ACQuire:COUNt?

Description

Use this query to return the current waveforms, patterns, or samples counted when a waveform, pattern, or samples acquisition limit test is enabled (:LTESt:ACQuire:STATe command). This is the count that is shown in FlexDCA's upper-right corner. The following commands are used to specify the count number:

  • :LTESt:ACQuire:CTYPe:PATTerns
  • :LTESt:ACQuire:CTYPe:SAMPles
  • :LTESt:ACQuire:CTYPe:WAVeforms

The current count can be helpful in instances where aqcuiring the specified number of waveforms, patterns, or samples takes some time and you need to estimate the completion time.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:MEASure:LTESt:MLIMit{1:16}:FAILures?

Query Syntax

:MEASure:LTESt:MLIMit{1:16}:FAILures?

{1:16} identifies a Limit Line Test.

Description

Queries the number of failures reported for a measurement limit test. To query the number of waveforms acquired, use the :MEASure:LTESt:MLIMit:WAVeforms? query. Use the :LTESt:MEASure:MLIMit:STATe command to turn on a measurement limit test.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

:LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.

:SOURce specifies the source waveform on which to perform the measurement.

:STATus? queries the measurement status.

:STATus:REASon? query to determine why a measurement failed.

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:LTESt:MLIMit{1:16}:WAVeforms?

Query Syntax

:MEASure:LTESt:MLIMit:WAVeforms?

{1:16} identifies a Limit Line Test.

Description

Queries the number of waveforms acquired during a measurement limit test. To query the number of failures recorded, use the :MEASure:LTESt:MLIMit:FAILures? query. Use the :LTESt:MEASure:MLIMit:STATe command to turn on a measurement limit test.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

:LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.

:SOURce specifies the source waveform on which to perform the measurement.

:STATus? queries the measurement status.

:STATus:REASon? query to determine why a measurement failed.

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:MARKer:DX?

Query Syntax

:MEASure:MARKer:DX{1:4}?

This command supports the STATus? and STATus:REASon? common child commands.

Description

Queries the difference in time between any two X-axis markers, whether they are tracking marker pair or manual line markers. The two markers can have different source waveforms. Use the :MARKer subsystem to turn on markers. To display or hide the Δ Pos (delta position) and Δ Mag (delta magnitude) listings in the displayed Markers table, use the :DISPlay:MARKER:DELTas command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:MARKer:X1:SOURce CHAN2A
:MARKer:X2:SOURce CHAN2B
:MARKer:X1:STATe MANual//  Marker 1 turned on as a manual line marker
:MARKer:Y2A:STATe TRAC//  Marker 2 turned on as a  tracking marker pair
…
:MEASure:MARKer:DX2?


:MEASure:MARKer:DX:STATus?

Query Syntax

:MEASure:MARKer:DX{1:4}:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DX marker measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MEASure:MARKer:DX:STATus:REASon?

Query Syntax

:MEASure:MARKer:DX:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed XDELta measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MEASure:MARKer:DY?

Query Syntax

:MEASure:MARKer:DY{1:4}{A:C}?

This command supports the STATus? and STATus:REASon? common child commands.

Description

Queries the difference in time between any two Y-axis markers, whether they are tracking marker pair or manual line markers. The two markers can have different source waveforms. Use the :MARKer subsystem to turn on markers. To display or hide the Δ Position and Δ Magnitude listings in the displayed Markers table, use the :DISPlay:MARKER:DELTas command.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:MARKer:Y1A:SOURce CHAN2A
:MARKer:Y2A:SOURce CHAN2B
:MARKer:Y1A:STATe MANual//  Marker 1 turned on as a manual line marker
:MARKer:Y2A:STATe TRAC//  Marker 2 turned on as a  tracking marker pair
…
:MEASure:MARKer:DY2A?


:MEASure:MARKer:DY:STATus?

Query Syntax

:MEASure:MARKer:DY{1:4}{A:C}:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the DY? measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MEASure:MARKer:DY:STATus:REASon?

Query Syntax

:MEASure:MARKer:DY{1:4}{A:C}:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DY measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MEASure:MARKer:IDX?

Query Syntax

:MEASure:MARKer:IDX{1:4}?

This command supports the STATus? and STATus:REASon? common child commands.

Description

Queries the reciprocal of the DX? marker measurement. The two markers can have different source waveforms. Use the :MARKer subsystem to turn on markers.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:MARKer:X1:SOURce CHAN2A
:MARKer:X2:SOURce CHAN2B
:MARKer:Y1A:STATe TRAC//  Marker 1 turned on as a manual marker
:MARKer:Y2A:STATe TRAC//  Marker 2 turned on as a waveform tracking marker
…
:MEASure:MARKer:IDX2?


:MEASure:MARKer:IDX:STATus?

Query Syntax

:MEASure:MARKer:IDX:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the IXDelta measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MEASure:MARKer:IDX:STATus:REASon?

Query Syntax

:MEASure:MARKer:IDX:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed IXDelta measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MEASure:MARKer:Y?

Query Syntax

:MEASure:MARKer:Y{1:4}{A:C}?

This command supports the STATus? and STATus:REASon? common child commands.

Description

This command queries the amplitude of a Y-axis manual-line marker or tracking marker pair. In TDR/TDT mode, with S-parameter magnitude, phase, and group delay waveforms displayed, you can create one tracking marker at an X value that has three different Y values, one from each waveform at the same X value. In other words, this single tracking marker has three Y values at the same X position. All three Y values are shown in additional Magnitude columns in the marker results table. The following table shows how to identify the Y values in the query. Each waveform is identified using a letter from A to C.

Example of Querying S-Parameter Y Marker Values
Y Value | Example Marker 2 Query
Magnitude Y Value | :MEASure:MARKer:Y2A?
Phase Y Value | :MEASure:MARKer:Y2B?
Group Delay Y Value | :MEASure:MARKer:Y2C?

To turn on a marker, use the commands in the :MARKer subsystem.

Child Commands

  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:MARKer:Y1A:SOURce CHAN2A
:MARKer:Y1A:STATe TRACking
…
:MEASure:MARKer:Y1A?


:MEASure:MARKer:Y:STATus?

Query Syntax

:MEASure:MARKer:Y{1:4}{A:C}:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the Y measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MARKer:Y:STATus:REASon?

Query Syntax

:MEASure:MARKer:Y{1:4}{A:C}:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed Y measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:HITS?

Query Syntax

:MEASure:MTESt{N}:HITS?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the number of Total Standard Mask Violations reported in the Masks Tests results table during eye mask testing. For positive margins, this count does not include any point within the margin area. For negative margins, this count does include points within the margin area. To query the number of violations for a specific mask region (as labeled on the display), use the :MEASure:MTESt:HREGion command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:HITS:LOCation?

Query Syntax

:MEASure:MTESt{N}:HITS:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the HITS measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:HITS:STATus?

Query Syntax

:MEASure:MTESt{N}:HITS:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the HITS measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:HITS:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:HITS:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed HITS measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:HRatio?

Query Syntax

:MEASure:MTESt{N}:HRatio?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the Hit Ratio that is displayed in the Mask Test results table whenever automatic mask margins are based on a target hit ratio. Use the :MTESt:MARGin:AUTO:HRATio to actually enter the ratio.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:HRatio:LOCation?

Query Syntax

:MEASure:MTESt{N}:HRatio:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the HRatio measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:HRatio:STATus?

Query Syntax

:MEASure:MTESt{N}:HRatio:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the HRatio measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:HRatio:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:HRatio:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed HRatio measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:HREGion{1:16}?

Query Syntax

:MEASure:MTESt{N}:HREGion{1:16}?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the number of violations for a standard mask Region reported in the Masks Tests results table during eye mask testing. Include the region's identification number, as displayed on the mask, in the command. For example, to query the violations for Region 2, use this query:

:MEASure:MTESt{N}:HREGion2?

If a positive mask margin is applied, this count does not include any point within the region's margin area. If a negative mask margin is applied, this count does include points within the region's margin area.

If the selected region is defined by the mask, this command returns an integer (number of violations) and the :STATus? child query returns CORR. If the region is not defined by the mask, this command returns "9.91E+37 (NaN)", the :STATus? child query returns INV, and the :STATus:REASon? child query returns the string "Invalid Region".

To query the total number of violations for all mask regions, use the :MEASure:MTESt:HITS command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:HREGion{1:16}:LOCation?

Query Syntax

:MEASure:MTESt{N}:HREGion{1:16}:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the HREGion measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:HREGion{1:16}:STATus?

Query Syntax

:MEASure:MTESt{N}:HREGion{1:16}:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the HREGion measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:HREGion{1:16}:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:HREGion{1:16}:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed HREGion measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:MARGin?

Query Syntax

:MEASure:MTESt{N}:MARGin?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the mask Margin definition in the Masks Tests results table during eye mask testing. This is the ratio of margin area to the standard mask area expressed as a percentage. This value is negative for negative mask margins that encroach on the area of the standard mask or positive for positive mask margins that expand the area of the mask. To set the mask margin, use the :MTESt:MARGin:PERCent command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:MARGin:LOCation?

Query Syntax

:MEASure:MTESt{N}:MARGin:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the MARGin measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:MARGin:STATus?

Query Syntax

:MEASure:MTESt{N}:MARGin:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the MARGin measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:MARGin:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:MARGin:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed MARGin measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:MHITs?

Query Syntax

:MEASure:MTESt{N}:MHITs?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the number of Total Margin Mask Violations reported in the Masks Tests results table during eye mask testing. For positive margins, this count does include any point within the standard mask area. For negative margins, this count only includes points within the margin but not outside the margin area into the standard mask area. To query the number of violations for a margin area associated with a specific mask region (as labeled on the display), use the :MEASure:MTESt:MHRegion command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:MHITs:LOCation?

Query Syntax

:MEASure:MTESt{N}:MHITs:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the MHITs measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:MHITs:STATus?

Query Syntax

:MEASure:MTESt{N}:MHITs:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the MHITs measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:MHITs:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:MHITs:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed MHITs measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:MHREGion{1:16}?

Query Syntax

:MEASure:MTESt{N}:MHREGion{1:16}?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the number of margin violations for a mask Region reported in the Masks Tests results table during eye mask testing. Include the region's identification number, as displayed on the mask, in the command. For example, to query the violations for Region 2, use this query:

:MEASure:MTESt{N}:MHREGion2?

If positive mask margins are applied, this count does include any point within the standard mask area. If negative mask margins are applied, this count only includes points within the margin but not outside the margin area into the standard mask area.

If the selected region is defined by the mask, this command returns an integer (number of violations) and the :STATus? child query returns CORR. If the region is not defined by the mask, this command returns "9.91E+37 (NaN)", the :STATus? child query returns INV, and the :STATus:REASon? child query returns the string "Invalid Region".

To query the total number of violations for all mask margin regions, use the :MEASure:MTESt:MHITs command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:MHRegion{1:16}:LOCation?

Query Syntax

:MEASure:MTESt{N}:MHRegion{1:16}:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the MHRegion measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:MHRegion{1:16}:STATus?

Query Syntax

:MEASure:MTESt{N}:MHRegion{1:16}:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the MHRegion measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:MHRegion{1:16}:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:MHRegion{1:16}:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed MHRegion measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:MUNCertainty?

Query Syntax

:MEASure:MTESt{N}:MUNCertainty?

This command supports the LOCation and STATus common child commands.

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the hit ratio confidence value (+/-) that is displayed in the Mask Test results table whenever automatic mask margins are based on a target hit ratio (:MTESt:MARGin:AUTo:HRATio).

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:MUNCertainty:LOCation?

Query Syntax

:MEASure:MTESt{N}:MUNCertainty:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the MUNCertainty measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:MUNCertainty:STATus?

Query Syntax

:MEASure:MTESt{N}:MUNCertainty:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the MUNCertainty measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:MUNCertainty:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:MUNCertainty:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed MUNCertainty measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:NSAMples?

Query Syntax

:MEASure:MTESt{N}:NSAMples?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the number of Samples reported in the Masks Tests results table during eye mask testing. This is the number of samples in one UI and not total samples acquired.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:NSAMples:LOCation?

Query Syntax

:MEASure:MTESt{N}:NSAMples:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the NSAMples measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:NSAMples:STATus?

Query Syntax

:MEASure:MTESt{N}:NSAMples:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the NSAMples measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:NSAMples:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:NSAMples:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed NSAMples measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:NWAVeforms?

Query Syntax

:MEASure:MTESt{N}:NWAVeforms?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the number of Waveforms reported in the Masks Tests results table during eye mask testing. This is the total number of waveforms acquired since the mask test was started.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:NWAVeforms:LOCation?

Query Syntax

:MEASure:MTESt{N}:NWAVeforms:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the NWAVeforms measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:NWAVeforms:STATus?

Query Syntax

:MEASure:MTESt{N}:NWAVeforms:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the NWAVeforms measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:NWAVeforms:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:NWAVeforms:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed NWAVeforms measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:THITs?

Query Syntax

:MEASure:MTESt{N}:THITs?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the total number of failed data points during eye mask testing. This number is not directly reported on the Mask Tests results table. For positive margins, this count is equal to the Total Margin Mask Violations reported on the Mask Tests results table (:MEASure:MTESt:MHITS?). For negative margins, this count is equal to the total number of Standard Mask Violations reported on the Mask Tests results table (:MEASure:MTESt:HITS?). To query the total number of failed data points for a margin region (as labeled on the display), use the :MEASure:MTESt:THRegion command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:THITs:LOCation?

Query Syntax

:MEASure:MTESt{N}:THITs:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the THITs measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:THITs:STATus?

Query Syntax

:MEASure:MTESt{N}:THITs:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the THITs measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:THITs:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:THITs:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed THITs measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MTESt{N}:THRegion{1:16}?

Query Syntax

:MEASure:MTESt{N}:THRegion{1:16}?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns the total number of failed data points for a mask Region. This number is not reported on the Mask Tests results table. Include the region's identification number, as displayed on the mask, in the command. For example, to query the violations for Region 2, use this query:

:MEASure:MTESt{N}:THRegion2?

For positive mask margins, this count is equal to the Region's Margin Mask Violations reported on the Mask Tests results table (:MEASure:MTESt:MHRegion?). For negative mask margins, this count is equal to the Region's Standard Mask Violations reported on the Mask Tests results table (:MEASure:MTESt:HREGion?).

If the selected region is defined by the mask, this command returns an integer (number of violations) and the :STATus? child query returns CORR. If the region is not defined by the mask, this command returns "9.91E+37 (NaN)", the :STATus? child query returns INV, and the :STATus:REASon? child query returns the string "Invalid Region".

To query the total number of violations for all mask margin regions, use the :MEASure:MTESt:THITs command.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

  • Learn about listing measurements in the table


:MEASure:MTESt{N}:THRegion{1:16}:LOCation?

Query Syntax

:MEASure:MTESt{N}:THRegion{1:16}:LOCation?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Returns an index for the location of the THRegion measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:MTESt{N}:THRegion{1:16}:STATus?

Query Syntax

:MEASure:MTESt{N}:THRegion{1:16}:STATus?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the THRegion measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MTESt{N}:THRegion{1:16}:STATus:REASon?

Query Syntax

:MEASure:MTESt{N}:THRegion{1:16}:STATus:REASon?

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed THRegion measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:APOWer

Command Syntax

:MEASure:OSCilloscope:APOWer

Query Syntax

:MEASure:OSCilloscope:APOWer?

Description

Moves the Average Power measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Average Power is the true average component of an optical signal. A waveform annotation label is placed on the average power result. Since the average power is calculated over the entire display graticule, this label tracks the average power result across the graticule. This measurement is commonly used when identifying the fundamental parameters of a lightwave transmitter. However, it differs from other measurements because it does not rely on the waveform display in order to determine the measurement. You can measure the average power of an eye diagram. Average power is a measure of the true average component of an optical signal.

Note

The average power measurement is only available when using the modules with integrated optical detectors (optical/electrical modules). Average power measurements cannot be made on simulated channels.

Note

The average power measurement can not be restricted to a measurement region.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :UNITs selects the units of measurement.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:MEASure:OSCilloscope:APOWer:SOURce CHAN2B
:MEASure:OSCilloscope:APOWer:UNITs
:MEASure:OSCilloscope:APOWer
:MEASure:OSCilloscope:APOWer?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:APOWer:LOCation?

Query Syntax

:MEASure:OSCilloscope:APOWer:LOCation?

Description

Returns an index for the location of the APOWer measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:APOWer:SOURce

Command Syntax

:MEASure:OSCilloscope:APOWer:SOURce CHANnel{N}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:APOWer:SOURce?

Description

Selects the source waveform on which to perform the APOWer measurement.

Note

The average power measurement is only available when using the modules with integrated optical detectors (optical/electrical modules). Average power measurements cannot be made on simulated channels.


:MEASure:OSCilloscope:APOWer:STATus?

Query Syntax

:MEASure:OSCilloscope:APOWer:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the APOWer measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:APOWer:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:APOWer:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed APOWer measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:APOWer:UNITs

Command Syntax

:MEASure:OSCilloscope:APOWer:UNITs  {WATT | DBM}

Query Syntax

:MEASure:OSCilloscope:APOWer:UNITs?

Description

Selects the units of measurement for the average power measurement (:MEASure:OSCilloscope:APOWer).

Note

The average power measurement is only available when using the modules with integrated optical detectors (optical/electrical modules). Average power measurements cannot be made on simulated channels.


:MEASure:OSCilloscope:DELTatime

Command Syntax

:MEASure:OSCilloscope:DELTatime

Query Syntax

:MEASure:OSCilloscope:DELTatime?

Description

Moves the delta time (time delay) measurement between two edges to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Delta time is the time difference from the first specified edge on source one to the next specified edge on source two. Use the child commands to specify the source waveforms and their associated edge number (:OSCilloscope:DELTatime:ENUMber), direction :OSCilloscope:DELTatime:EDIRection, and threshold :OSCilloscope:DELTatime:ETHReshold. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use the child commands to set the measurement parameters before sending the parent command. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :EDIRection{1:2} specifies the waveform's edge direction.
  • :ENUMber{1:2} specifies the waveform's edge number.
  • :ETHReshold{1:2} specifies the waveform's edge threshold.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

This sequence defines source one's edge number, direction, and threshold followed by source two's edge number, direction, and threshold. The delta time measurement is then started and the measurement result returned.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:DELTatime:SOURce1 CHAN1A
  //  Defines first measurement edge
:MEASure:OSCilloscope:DELTatime:ENUMber1 2
:MEASure:OSCilloscope:DELTatime:EDIRection1 RISing
:MEASure:OSCilloscope:DELTatime:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:OSCilloscope:DELTatime:SOURce2 WMEMory1
:MEASure:OSCilloscope:DELTatime:ENUMber2 3
:MEASure:OSCilloscope:DELTatime:EDIRection2 FALLing
:MEASure:OSCilloscope:DELTatime:ETHReshold2 MIDDle
  //  Perform measurement
:MEASure:OSCilloscope:DELTatime
:MEASure:OSCilloscope:DELTatime?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:DELTatime:EDIRection{1|2}

Command Syntax

:MEASure:OSCilloscope:DELTatime:EDIRection{1:2}  {RISing | FALLing | EITHer}

Query Syntax

:MEASure:OSCilloscope:DELTatime:EDIRection?

Description

For the delta time (time delay) measurement, specifies the waveform's edge direction used to identify the first or second measurement edge: rising, falling or either. To set the edge number, use the :OSCilloscope:DELTatime:ENUMber command. To set the edge threshold, use the :OSCilloscope:DELTatime:ETHReshold command.

Example Command Sequence

This sequence defines source one's edge number, direction, and threshold followed by source two's edge number, direction, and threshold. The delta time measurement is then started and the measurement result returned.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:DELTatime:SOURce1 CHAN1A
  //  Defines first measurement edge
:MEASure:OSCilloscope:DELTatime:ENUMber1 2
:MEASure:OSCilloscope:DELTatime:EDIRection1 RISing
:MEASure:OSCilloscope:DELTatime:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:OSCilloscope:DELTatime:SOURce2 WMEMory1
:MEASure:OSCilloscope:DELTatime:ENUMber2 3
:MEASure:OSCilloscope:DELTatime:EDIRection2 FALLing
:MEASure:OSCilloscope:DELTatime:ETHReshold2 MIDDle
  //  Perform measurement
:MEASure:OSCilloscope:DELTatime
:MEASure:OSCilloscope:DELTatime?

  • Learn More


:MEASure:OSCilloscope:DELTatime:ENUMber{1|2}

Command Syntax

:MEASure:OSCilloscope:DELTatime:ENUMber{1:2}  <edge_number>

<edge_number> is an int.

Query Syntax

:MEASure:OSCilloscope:DELTatime:ENUMber?

Description

For the delta time (time delay) measurement, specifies the waveform's edge number to be used to identify the first or second measurement edge. To set the edge direction, use the :OSCilloscope:DELTatime:EDIRection command. To set the edge threshold, use the :OSCilloscope:DELTatime:ETHReshold command.

Example Command Sequence

This sequence defines the first measurement edge's number, direction, and threshold followed by the second measurement edge's number, direction, and threshold. The delta time measurement is then started and the measurement result returned.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:DELTatime:SOURce1 CHAN1A
  //  Defines first measurement edge
:MEASure:OSCilloscope:DELTatime:ENUMber1 2
:MEASure:OSCilloscope:DELTatime:EDIRection1 RISing
:MEASure:OSCilloscope:DELTatime:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:OSCilloscope:DELTatime:SOURce2 WMEMory1
:MEASure:OSCilloscope:DELTatime:ENUMber2 3
:MEASure:OSCilloscope:DELTatime:EDIRection2 FALLing
:MEASure:OSCilloscope:DELTatime:ETHReshold2 MIDDle
  //  Perform measurement
:MEASure:OSCilloscope:DELTatime
:MEASure:OSCilloscope:DELTatime?

  • Learn More


:MEASure:OSCilloscope:DELTatime:ETHReshold{1|2}

Command Syntax

:MEASure:OSCilloscope:DELTatime:ETHReshold{1:2}  {UPPer | MIDDle | LOWer}

Query Syntax

:MEASure:OSCilloscope:DELTatime:ETHReshold?

Description

For the delta time (time delay) measurement, specifies the waveform's edge threshold to be used to identify the first or second measurement edge. To set the edge direction, use the :OSCilloscope:DELTatime:EDIRection command. To set the edge number, use the :OSCilloscope:DELTatime:ENUMber command.

Example Command Sequence

This sequence defines source one's edge number, direction, and threshold followed by source two's edge number, direction, and threshold. The delta time measurement is then started and the measurement result returned.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:DELTatime:SOURce1 CHAN1A
  //  Defines first measurement edge
:MEASure:OSCilloscope:DELTatime:ENUMber1 2
:MEASure:OSCilloscope:DELTatime:EDIRection1 RISing
:MEASure:OSCilloscope:DELTatime:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:OSCilloscope:DELTatime:SOURce2 WMEMory1
:MEASure:OSCilloscope:DELTatime:ENUMber2 3
:MEASure:OSCilloscope:DELTatime:EDIRection2 FALLing
:MEASure:OSCilloscope:DELTatime:ETHReshold2 MIDDle
  //  Perform measurement
:MEASure:OSCilloscope:DELTatime
:MEASure:OSCilloscope:DELTatime?

  • Learn More


:MEASure:OSCilloscope:DELTatime:LOCation?

Query Syntax

:MEASure:OSCilloscope:DELTatime:LOCation?

Description

Returns an index for the location of the DELTatime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:DELTatime:REGion

Command Syntax

:MEASure:OSCilloscope:DELTatime:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:DELTatime:REGion?

Description

Select a time span over which the :DELTatime measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:DELTatime:SOURce1 CHAN1A
  //  Defines first measurement edge
:MEASure:OSCilloscope:DELTatime:ENUMber1 2
:MEASure:OSCilloscope:DELTatime:EDIRection1 RISing
:MEASure:OSCilloscope:DELTatime:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:OSCilloscope:DELTatime:SOURce2 WMEMory1
:MEASure:OSCilloscope:DELTatime:ENUMber2 3
:MEASure:OSCilloscope:DELTatime:EDIRection2 FALLing
:MEASure:OSCilloscope:DELTatime:ETHReshold2 MIDDle
  //  Select measurement region
:MEASure:OSCilloscope:DELTatime:REGion DISPlay
  //  Perform measurement
:MEASure:OSCilloscope:DELTatime
:MEASure:OSCilloscope:DELTatime?


:MEASure:OSCilloscope:DELTatime:SOURce

Command Syntax

:MEASure:OSCilloscope:DELTatime:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:DELTatime:SOURce?

Description

Selects the source waveform on which to perform the DELTatime measurement.


:MEASure:OSCilloscope:DELTatime:STATus?

Query Syntax

:MEASure:OSCilloscope:DELTatime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DELTatime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:DELTatime:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:DELTatime:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DELTatime measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:DUTYcycle

Command Syntax

:MEASure:OSCilloscope:DUTYcycle

Query Syntax

:MEASure:OSCilloscope:DUTYcycle?

Description

Moves the duty cycle measurement, which is the ratio of the positive pulse width to the period to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:DUTYcycle:SOURce CHAN2A
:MEASure:OSCilloscope:DUTYcycle
:MEASure:OSCilloscope:DUTYcycle?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:DUTYcycle:LOCation?

Query Syntax

:MEASure:OSCilloscope:DUTYcycle:LOCation?

Description

Returns an index for the location of the DUTYcycle measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:DUTYcycle:REGion

Command Syntax

:MEASure:OSCilloscope:DUTYcycle:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:DUTYcycle:REGion?

Description

Select a time span over which the :DUTYcycle measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:DUTYcycle:SOURce CHAN2A
:MEASure:OSCilloscope:DUTYcycle:REGion REGion3
:MEASure:OSCilloscope:DUTYcycle
:MEASure:OSCilloscope:DUTYcycle?


:MEASure:OSCilloscope:DUTYcycle:SOURce

Command Syntax

:MEASure:OSCilloscope:DUTYcycle:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:DUTYcycle:SOURce?

Description

Selects the source waveform on which to perform the DUTYcycle measurement.


:MEASure:OSCilloscope:DUTYcycle:STATus?

Query Syntax

:MEASure:OSCilloscope:DUTYcycle:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DUTYcycle measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:DUTYcycle:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:DUTYcycle:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed DUTYcycle measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:FALLtime

Command Syntax

:MEASure:OSCilloscope:FALLtime

Query Syntax

:MEASure:OSCilloscope:FALLtime?

Description

Moves the fall-time measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Fall time is the time at the lower threshold point minus the time at the upper threshold point. The first displayed falling edge is used for the measurement. Therefore, for best measurement accuracy, set the sweep speed (:TIMebase:SCALe) as fast as possible while leaving the falling edge of the waveform on the display. Sources can be any displayed channel , waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:FALLtime:SOURce CHAN2A
:MEASure:OSCilloscope:FALLtime
:MEASure:OSCilloscope:FALLtime?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:FALLtime:LOCation?

Query Syntax

:MEASure:OSCilloscope:FALLtime:LOCation?

Description

Returns an index for the location of the FALLtime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:FALLtime:REGion

Command Syntax

:MEASure:OSCilloscope:FALLtime:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:FALLtime:REGion?

Description

Select a time span over which the :FALLtime measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:FALLtime:SOURce CHAN2A
:MEASure:OSCilloscope:FALLtime:REGion REGion3
:MEASure:OSCilloscope:FALLtime
:MEASure:OSCilloscope:FALLtime?


:MEASure:OSCilloscope:FALLtime:SOURce

Command Syntax

:MEASure:OSCilloscope:FALLtime:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:FALLtime:SOURce?

Description

Selects the source waveform on which to perform the FALLtime measurement.


:MEASure:OSCilloscope:FALLtime:STATus?

Query Syntax

:MEASure:OSCilloscope:FALLtime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the FALLtime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:FALLtime:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:FALLtime:STATus:REASon?

Description

Returns a string that explains the reason for a failed FALLtime measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:FREQuency

Command Syntax

:MEASure:OSCilloscope:FREQuency

Query Syntax

:MEASure:OSCilloscope:FREQuency?

Description

Moves the frequency measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. The frequency of the first complete cycle on the screen is measured using the mid-threshold levels of the waveform (50% levels if standard measurements are selected). Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:FREQuency:SOURce CHAN2A
:MEASure:OSCilloscope:FREQuency
:MEASure:OSCilloscope:FREQuency?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:FREQuency:LOCation?

Query Syntax

:MEASure:OSCilloscope:FREQuency:LOCation?

Description

Returns an index for the location of the FREQuency measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:FREQuency:REGion

Command Syntax

:MEASure:OSCilloscope:FREQuency:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:FREQuency:REGion?

Description

Select a time span over which the :FREQuency measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:FREQuency:SOURce CHAN2A
:MEASure:OSCilloscope:FREQuency:REGion REGion3
:MEASure:OSCilloscope:FREQuency
:MEASure:OSCilloscope:FREQuency?


:MEASure:OSCilloscope:FREQuency:SOURce

Command Syntax

:MEASure:OSCilloscope:FREQuency:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:FREQuency:SOURce?

Description

Selects the source waveform on which to perform the FREQuency measurement.


:MEASure:OSCilloscope:FREQuency:STATus?

Query Syntax

:MEASure:OSCilloscope:FREQuency:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the FREQuency measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:FREQuency:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:FREQuency:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed FREQuency measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:JITTer

Command Syntax

:MEASure:OSCilloscope:JITTer

Query Syntax

:MEASure:OSCilloscope:JITTer?

Description

Moves the jitter measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Jitter is a measurement of the time variances of the rising or falling edges of a pulse waveform at the middle threshold. Use the FORMat child command to select Jitterrms or Jitterp-p (peak-to-peak). Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Note

The Jitterp-p and Jitterrms measurements can not be made on a measurement region.

Child Commands

  • :FORMat Sets the format of the jitter measurement.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:JITTer:SOURce CHAN1A
:MEASure:OSCilloscope:JITTer:DJFormat PP
:MEASure:OSCilloscope:JITTer
:MEASure:OSCilloscope:JITTer?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:JITTer:FORMat

Command Syntax

:MEASure:OSCilloscope:JITTer:FORMat {PP | RMS}

Description

Select the format for oscilloscope-mode jitter measurement: JitterRMS or JitterPP (peak-to-peak). Use the :MEASure:OSCilloscope:JITTer command to perform the measurement.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:JITTer:SOURce CHAN1A
:MEASure:OSCilloscope:JITTer:DJFormat PP
:MEASure:OSCilloscope:JITTer
:MEASure:OSCilloscope:JITTer?

  • Learn More


:MEASure:OSCilloscope:JITTer:LOCation?

Query Syntax

:MEASure:OSCilloscope:JITTer:LOCation?

Description

Returns an index for the location of the JITTer measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:JITTer:SOURce

Command Syntax

:MEASure:OSCilloscope:JITTer:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:JITTer:SOURce?

Description

Selects the source waveform on which to perform the JITTer measurement.


:MEASure:OSCilloscope:JITTer:STATus?

Query Syntax

:MEASure:OSCilloscope:JITTer:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the JITTer measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:JITTer:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:JITTer:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed JITTer measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:LIST:CLEar

Command Syntax

:MEASure:OSCilloscope:LIST:CLEar

Description

Clears the entire active measurement list in the displayed Results table.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:LIST:CLEar


:MEASure:OSCilloscope:LIST:REMove

Command Syntax

:MEASure:OSCilloscope:LIST:REMove <index>

<index> is an int.

Description

Removes the selected measurement from the active measurement list, which is displayed in the Results table. The argument is an index number that specifies the measurement to be removed. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:OSCilloscope:FALLtime:LOCation?.

Example Command Sequence

Read the location of the falltime result in the table, send the REMove command with the returned value. In this case 2.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:FALLtime:LOCation?
…
…
:MEASure:OSCilloscope:LIST:REMove 2


:MEASure:OSCilloscope:LIST:SELect

Command Syntax

:MEASure:OSCilloscope:LIST:SELect  <index>

<index> is an int.

Query Syntax

:MEASure:OSCilloscope:LIST:SELect?

Description

Selects an measurement in the active measurement list, which is displayed in the Results table. Annotations for the selected measurement are placed on the displayed waveform at the level or coordinate used to calculate the final measurement result.

The argument is an index number that specifies the measurement to select. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:OSCilloscope:FALLtime:LOCation?.

Example Command Sequence

Read the measurement location in the active measurement list, send the SELect command using the returned value. In this case 2.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:FALLtime:LOCation?
…
…
:MEASure:OSCilloscope:LIST:SELect 2


:MEASure:OSCilloscope:NWIDth

Command Syntax

:MEASure:OSCilloscope:NWIDth

Query Syntax

:MEASure:OSCilloscope:NWIDth?

Description

Moves the negative pulse width measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Negative pulse width is defined as the time from the middle threshold of the first falling edge to the middle threshold of the next rising edge. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:NWIDth:SOURce CHAN1A
:MEASure:OSCilloscope:NWIDth
:MEASure:OSCilloscope:NWIDth?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:NWIDth:LOCation?

Query Syntax

:MEASure:OSCilloscope:NWIDth:LOCation?

Description

Returns an index for the location of the NWIDth measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:NWIDth:REGion

Command Syntax

:MEASure:OSCilloscope:NWIDth:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:NWIDth:REGion?

Description

Select a time span over which the :NWIDth measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:NWIDth:SOURce CHAN2A
:MEASure:OSCilloscope:NWIDth:REGion REGion3
:MEASure:OSCilloscope:NWIDth
:MEASure:OSCilloscope:NWIDth?


:MEASure:OSCilloscope:NWIDth:SOURce

Command Syntax

:MEASure:OSCilloscope:NWIDth:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:NWIDth:SOURce?

Description

Selects the source waveform on which to perform the NWIDth measurement.


:MEASure:OSCilloscope:NWIDth:STATus?

Query Syntax

:MEASure:OSCilloscope:NWIDth:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the NWIDth measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:NWIDth:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:NWIDth:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed NWIDth measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:OMAmplitude

Command Syntax

:MEASure:OSCilloscope:OMAmplitude

Query Syntax

:MEASure:OSCilloscope:OMAmplitude?

Description

Moves the Optical Modulation Amplitude (OMA) measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. OMA is the measure of the difference between the optical power of an NRZ one pulse and the optical power of an NRZ zero pulse. It requires an NRZ pattern and is designed to be used with square wave made of consecutive zeros following by consecutive ones. Be sure to check any relevant standard for one and zero run requirements. If needed, you can make an OMA measurement on any pulse train (not just a square wave) as long as enough consecutive bits (ones or zeros) are included for the signal level to settle. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:OMAmplitude:SOURce CHAN1A
:MEASure:OSCilloscope:OMAmplitude
:MEASure:OSCilloscope:OMAmplitude?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:OMAmplitude:LOCation?

Query Syntax

:MEASure:OSCilloscope:OMAmplitude:LOCation?

Description

Returns an index for the location of the OMAmplitude measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:OMAmplitude:REGion

Command Syntax

:MEASure:OSCilloscope:OMAmplitude:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:OMAmplitude:REGion?

Description

Select a time span over which the :OMAmplitude measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:OMAmplitude:SOURce CHAN2A
:MEASure:OSCilloscope:OMAmplitude:REGion REGion3
:MEASure:OSCilloscope:OMAmplitude
:MEASure:OSCilloscope:OMAmplitude?


:MEASure:OSCilloscope:OMAmplitude:SOURce

Command Syntax

:MEASure:OSCilloscope:OMAmplitude:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:OMAmplitude:SOURce?

Description

Selects the source waveform on which to perform the OMAmplitude measurement.


:MEASure:OSCilloscope:OMAmplitude:STATus?

Query Syntax

:MEASure:OSCilloscope:OMAmplitude:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the OMAmplitude measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:OMAmplitude:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:OMAmplitude:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed OMAmplitude measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:OVERshoot

Command Syntax

:MEASure:OSCilloscope:OVERshoot

Query Syntax

:MEASure:OSCilloscope:OVERshoot?

Description

Moves the Overshoot measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Overshoot is a measurement of the time variances of the rising or falling edges of a pulse waveform at the middle threshold. Overshoot is a distortion that follows a waveform edge transition. Overshoot occurs after the edge crosses through the waveform threshold levels and can occur on either the rising or falling edge. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:OVERshoot:SOURce CHAN1A
:MEASure:OSCilloscope:OVERshoot
:MEASure:OSCilloscope:OVERshoot?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:OVERshoot:LOCation?

Query Syntax

:MEASure:OSCilloscope:OVERshoot:LOCation?

Description

Returns an index for the location of the OVERshoot measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:OVERshoot:REGion

Command Syntax

:MEASure:OSCilloscope:OVERshoot:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:OVERshoot:REGion?

Description

Select a time span over which the :OVERshoot measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:OVERshoot:SOURce CHAN2A
:MEASure:OSCilloscope:OVERshoot:REGion REGion3
:MEASure:OSCilloscope:OVERshoot
:MEASure:OSCilloscope:OVERshoot?


:MEASure:OSCilloscope:OVERshoot:SOURce

Command Syntax

:MEASure:OSCilloscope:OVERshoot:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:OVERshoot:SOURce?

Description

Selects the source waveform on which to perform the OVERshoot measurement.


:MEASure:OSCilloscope:OVERshoot:STATus?

Query Syntax

:MEASure:OSCilloscope:OVERshoot:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the OVERshoot measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:OVERshoot:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:OVERshoot:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed OVERshoot measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:PAM:LEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:LEVel

Query Syntax

:MEASure:OSCilloscope:PAM:LEVel?

Description

In Oscilloscope mode, measures all four amplitude levels (0, 1, 2, 3) of a PAM-4 signal. The signal must be displayed as a single-valued waveform. On NRZ signals, this measurement will measure the zero or one levels. Before sending this command, select the actual level to be measured using the :LEVel child command. To measure all the levels on a signal, you must send this command once for each level as there is no command for simultaneously measuring all levels. The query form of the command returns the measured value. Sources can be any displayed PAM-4 or NRZ waveform from a channel, differential channel, color-grade memory, or function. For example, CHAN1A, CGMemory1, or FUNCtion1.

Pattern Lock is Required

The PAM-4 waveform must be displayed as a single-valued waveform. To accomplish this, turn pattern lock on using the :TRIGger:PLOCk command (requires instrument Option ETR).

The amplitude of the selected level is calculated by:

  1. Identify one of each of the longest four logic levels on a PAM-4 signal or two levels on an NRZ signal.
  2. Determine the longest of each of the four levels and measure the level at the center 12.5% (1/8) of individual bits.
  3. Calculate the mean amplitude level over each identified interval.

Setting the Timespan in Oscilloscope Mode

You must set FlexDCA's timespan wide enough so that each logic level is visible on the screen. This would be four levels (0, 1, 2, 3) for a PAM-4 signal or two levels (0, 1) for an NRZ signal. Failure to set the timespan wide enough results in an error. Consider the following items when setting the timespan:

  • If multiple identical levels are displayed, the level that is present for the longest time will be selected for measurement. For example, if two logic levels are shown on the waveform, with one being 100 ps and the other being 150 ps, the 150 ps level is selected to be measured.
  • To be considered a measureable level, the level must include at least 50% of the leading and trailing edges.
Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:AMPLitude:UNITs | Amplitude Units | Sets the amplitude units for measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Child Commands

  • :LEVel selects the level to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:CHAN1A:SIGNal:TYPE:AUTO OFF  //  Specify signal type.
:CHAN1A:SIGNal:TYPE PAM4
:TRIGger:PLOCk ON  //  Turn pattern lock on.
:SYSTem:AUToscale
:MEASure:OSCilloscope:PAM:LEVel:SOURce CHAN1A
:MEASure:OSCilloscope:PAM:LEVel:LEVel LEVel3  //  Select logic level to be measured.
:MEASure:OSCilloscope:PAM:LEVel
:MEASure:OSCilloscope:PAM:LEVel?  //  Return measured value.

More Information

  • Levels measurement algorithm
  • Introduction to PAM-4 measurement in Oscilloscope mode
  • Autoscale and Signal-Types


:MEASure:OSCilloscope:PAM:LEVel:LEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:LEVel:LEVel {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:OSCilloscope:PAM:LEVel:LEVel?

Description

Selects the level of a PAM-4 or NRZ signal that will be measured when the :LEVel parent command is sent. PAM-4 signals have four possible levels: 0, 1, 2, and 4. NRZ signals has two possible levels: 0 and 1.

Arguments | Description
LEVel3 | Selects level 3.
LEVel2 | Selects level 2.
LEVel1 | Selects level 1.
LEVel0 | Selects level 0.

Example Command Sequence

:MEASure:OSCilloscope:PAM:LEVel:LEVel LEVel2

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:LEVel:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:LEVel:LOCation?

Description

Returns an location index of the LEVel measurement for PAM4 signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:LEVel:REGion

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:LEVel:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:PAM:LEVel:REGion?

Description

Select a time span over which the :PAM:LEVel measurement is made in oscilloscope mode.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PAM:LEVel:SOURce CHAN2A
:MEASure:OSCilloscope:PAM:LEVel:REGion REGion3
:MEASure:OSCilloscope:PAM:LEVel LEVel2
:MEASure:OSCilloscope:PAM:LEVel?


:MEASure:OSCilloscope:PAM:LEVel:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:LEVel:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:PAM:LEVel:SOURce?

Description

Selects the source waveform on which to perform the PAM:LEVel measurement for PAM4 or NRZ signals. The source must be a displayed single-valued waveform.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:LEVel:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:LEVel:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PAM:LEVel measurement for PAM4 signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:LEVel:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:LEVel:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PAM:LEVel measurement for PAM4 signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:LINearity

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:LINearity

Query Syntax

:MEASure:OSCilloscope:PAM:LINearity?

Description

Starts Oscilloscope's Linearity measurement, which measures the linearity RLM (Ratio Level Mismatch) between all four amplitude levels (0, 1, 2, 3) of a PAM-4 signal. Linearity is a measure of the variance in amplitude separation (distribution) between the different PAM-4 levels. The PAM-4 signal must be displayed as a single-valued waveform and all four logic levels should be visible on the display.

Examples of PAM Signal Linearity
Good Linearity | Poor Linearity
V3-2 = V2-1 = V1-0 | V3-2 ≠ V2-1 ≠ V1-0

If the four levels measurements are the following values:

  • L3 = 14.6 mV
  • L2 = 7.5 mV
  • L1 = –8.0 mV
  • L0 = –15.2 mV

then, the linearity will be:

which is equal to 0.715.

The linearity ratio is always equal to or less than 1.0. The value 1.0 indicates that the separations between all levels are equal. For non-compliant measurements, you can use a PRBS signal. For compliant measurements, you will need to use compliance linearity pattern that is called out in the relevant standard.

The following steps are performed for a linearity measurement:

  1. An autoscale is performed to determine if the signal is formatted as PAM-4 or NRZ.
  2. Determine the longest of each of the four levels and measure the level at the center 12.5% (1/8) of individual bits.
  3. The Levels measurements are placed in the following linearity formula:

Setting the Timespan

You must set FlexDCA's timespan wide enough so that each logic level is visible on the screen. This would be four levels (0, 1, 2, 3) for a PAM-4 signal or two levels (0, 1) for an NRZ signal. Failure to set the timespan wide enough results in an error. Consider the following items when setting the timespan:

  • If multiple identical levels are displayed, the level that is present for the longest time will be selected for measurement. For example, if two logic levels are shown on the waveform, with one being 100 ps and the other being 150 ps, the 150 ps level is selected to be measured.
  • To be considered a measureable level, the level must include at least 50% of the leading and trailing edges.

Note

The Linearity measurement results in Eye/Mask mode are affected by the settings in the PAM-N Analysis Setup dialog box.

Note

The linearity measurement in eye mode will not yield the same value as the linearity measurement in oscilloscope mode. This is due to the oscilloscope mode measurement being made at the center of individual bits, while eye mode measurements are made on the center of all acquired bits at once.

Pattern Lock is Required

The PAM-4 waveform must be displayed as a single-valued waveform. To accomplish this, turn pattern lock on using the :TRIGger:PLOCk command (requires instrument Option ETR).

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:CHAN1A:SIGNal:TYPE:AUTO OFF  //  Specify signal type.
:CHAN1A:SIGNal:TYPE PAM4
:TRIGger:PLOCk ON  //  Turn pattern lock on.
:SYSTem:AUToscale
:MEASure:OSCilloscope:PAM:LINearity:SOURce CHAN1A
:MEASure:OSCilloscope:PAM:LINearity
:MEASure:OSCilloscope:PAM:LINearity?  //  Return measured value.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Linearity measurement algorithm
  • Introduction to PAM-4 measurement in Oscilloscope mode
  • Autoscale and Signal-Types


:MEASure:OSCilloscope:PAM:LINearity:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:LINearity:LOCation?

Description

Returns an location index of the LINearity measurement for PAM4 signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:LINearity:REGion

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:LINearity:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:PAM:LINearity:REGion?

Description

Select a time span over which the :PAM:LINearity measurement is made in oscilloscope mode.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PAM:LINearity:SOURce CHAN2A
:MEASure:OSCilloscope:PAM:LINearity:REGion REGion3
:MEASure:OSCilloscope:PAM:LINearity LEVel2
:MEASure:OSCilloscope:PAM:LINearity?


:MEASure:OSCilloscope:PAM:LINearity:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:LINearity:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:PAM:LINearity:SOURce?

Description

Selects the source waveform on which to perform the PAM:LINearity measurement for PAM4 or NRZ signals. The source must be a displayed single-valued waveform.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:LINearity:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:LINearity:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PAM:LINearity measurement for PAM4 signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:LINearity:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:LINearity:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PAM:LINearity measurement for PAM4 signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:RMS

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:RMS

Query Syntax

:MEASure:OSCilloscope:PAM:RMS?

Description

In Oscilloscope mode, measures the RMS amplitude of the selected amplitude levels (0, 1, 2, 3) of a PAM-4 signal. The signal must be displayed as a single-valued waveform. Before sending this command, select the actual level to be measured using the :LEVel child command. To measure all the levels on a signal, you must send this command once for each level as there is no command for simultaneously measuring all levels. The query form of the command returns the measured value. On NRZ signals, this measurement measures the zero and one levels.

The amplitude of the selected level is calculated by:

  1. Identify one of each of the longest four logic levels on a PAM-4 signal or two levels on an NRZ signal.
  2. For each level, measure the RMS value of each data point over time.
  3. For each level, determine the average RMS value of all of the level's data points.

Setting the Timespan

You must set FlexDCA's timespan wide enough so that each logic level is visible on the screen. This would be four levels (0, 1, 2, 3) for a PAM-4 signal or two levels (0, 1) for an NRZ signal. Failure to set the timespan wide enough results in an error. Consider the following items when setting the timespan:

  • If multiple identical levels are displayed, the level that is present for the longest time will be selected for measurement. For example, if two logic levels are shown on the waveform, with one being 100 ps and the other being 150 ps, the 150 ps level is selected to be measured.
  • To be considered a measureable level, the level must include at least 50% of the leading and trailing edges.
Settings That Affect This Measurement
Command | Equivalent Setting in PAM-N Analysis Setup Dialog Box | Description
:MEASure:PAM:AMPLitude:UNITs | Amplitude Units | Sets the amplitude units for measurement.

Pattern Lock is Required

The PAM-4 waveform must be displayed as a single-valued waveform. To accomplish this, turn pattern lock on using the :TRIGger:PLOCk command (requires instrument Option ETR).

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Child Commands

  • :LEVel selects the level to be measured.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:CHAN1A:SIGNal:TYPE:AUTO OFF  //  Specify signal type.
:CHAN1A:SIGNal:TYPE PAM4
:TRIGger:PLOCk ON  //  Turn pattern lock on.
:SYSTem:AUToscale
:MEASure:OSCilloscope:PAM:RMS:SOURce CHAN1A
:MEASure:OSCilloscope:PAM:RMS:LEVel LEVel3  //  Select logic level to be measured.
:MEASure:OSCilloscope:PAM:RMS
:MEASure:OSCilloscope:PAM:RMS?  //  Return measured value.

  • Introduction to PAM-4 measurement in Oscilloscope mode


:MEASure:OSCilloscope:PAM:RMS:LEVel

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:RMS:LEVel {LEVel0 | LEVel1 | LEVel2 | LEVel3}

Query Syntax

:MEASure:OSCilloscope:PAM:RMS:LEVel?

Description

Selects the level of a PAM-4 or NRZ signal that will be measured when the :RMS parent command is sent. PAM-4 signals have four possible levels: 0, 1, 2, and 4. NRZ signals has two possible levels: 0 and 1.

Arguments | Description
LEVel3 | Selects level 3.
LEVel2 | Selects level 2.
LEVel1 | Selects level 1.
LEVel0 | Selects level 0.

Example Command Sequence

:MEASure:OSCilloscope:PAM:RMS:LEVel LEVel2

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:RMS:LOCation?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:RMS:LOCation?

Description

Returns an location index of the :RMS measurement for PAM4 signals in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:RMS:REGion

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:RMS:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:PAM:RMS:REGion?

Description

Select a time span over which the :RMS measurement is made in oscilloscope mode.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PAM:RMS:SOURce CHAN2A
:MEASure:OSCilloscope:PAM:RMS:REGion REGion3
:MEASure:OSCilloscope:PAM:RMS:LEVel LEVel2
:MEASure:OSCilloscope:PAM:RMS?


:MEASure:OSCilloscope:PAM:RMS:SOURce

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:OSCilloscope:PAM:RMS:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:PAM:RMS:SOURce?

Description

Selects the source waveform on which to perform the :RMS measurement for PAM4 or NRZ signals. The source must be a displayed single-valued waveform.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:RMS:STATus?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:RMS:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the :RMS measurement for PAM4 signals. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PAM:RMS:STATus:REASon?

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Query Syntax

:MEASure:OSCilloscope:PAM:RMS:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed :RMS measurement for PAM4 signals. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PERiod

Command Syntax

:MEASure:OSCilloscope:PERiod

Query Syntax

:MEASure:OSCilloscope:PERiod?

Description

Moves the period measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Period is a measure of the time between the first detected edge of a waveform and the next occurrence of the same type of edge. The time between the edges of the waveform is taken at the middle threshold crossings. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PERiod:SOURce CHAN1A
:MEASure:OSCilloscope:PERiod
:MEASure:OSCilloscope:PERiod?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:PERiod:LOCation?

Query Syntax

:MEASure:OSCilloscope:PERiod:LOCation?

Description

Returns an index for the location of the PERiod measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:PERiod:REGion

Command Syntax

:MEASure:OSCilloscope:PERiod:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:PERiod:REGion?

Description

Select a time span over which the :PERiod measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PERiod:SOURce CHAN2A
:MEASure:OSCilloscope:PERiod:REGion REGion3
:MEASure:OSCilloscope:PERiod
:MEASure:OSCilloscope:PERiod?


:MEASure:OSCilloscope:PERiod:SOURce

Command Syntax

:MEASure:OSCilloscope:PERiod:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:PERiod:SOURce?

Description

Selects the source waveform on which to perform the PERiod measurement.


:MEASure:OSCilloscope:PERiod:STATus?

Query Syntax

:MEASure:OSCilloscope:PERiod:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PERiod measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:PERiod:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:PERiod:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PERiod measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:PHASe

Command Syntax

:MEASure:OSCilloscope:PHASe

Query Syntax

:MEASure:OSCilloscope:PHASe?

Description

Phase measures the phase between two locations on the same waveform or two locations on separate waveforms. If the measurement is already displayed in the results table, the measurement is moved to the top of the table. The query form of the command returns the measured value. Use child commands to specify the source waveforms and their associated edge number (:ENUMber), direction :EDIRection, and threshold :ETHReshold. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use the child commands to set the measurement parameters before sending the parent command. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :EDIRection{1:2} specifies the waveform's edge direction.
  • :ENUMber{1:2} specifies the waveform's edge number.
  • :ETHReshold{1:2} specifies the waveform's edge threshold.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PHASe:SOURce CHAN1A
:MEASure:OSCilloscope:PHASe
:MEASure:OSCilloscope:PHASe?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PHASe:EDIRection

Command Syntax

:MEASure:OSCilloscope:PHASe:EDIRection{1:2}  {RISing | FALLing | EITHer}

Query Syntax

:MEASure:OSCilloscope:PHASe:EDIRection?

Description

For the phase measurement, specifies the waveform's edge direction used to identify the first or second measurement edge: rising, falling or either. To set the edge number, use the :ENUMber command. To set the edge threshold, use the :ETHReshold command.

Example Command Sequence

This sequence defines source one's edge number, direction, and threshold followed by source two's edge number, direction, and threshold. The delta time measurement is then started and the measurement result returned.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PHASe:SOURce1 CHAN1A
  //  Defines first measurement edge
:MEASure:OSCilloscope:PHASe:ENUMber1 2
:MEASure:OSCilloscope:PHASe:EDIRection1 RISing
:MEASure:OSCilloscope:PHASe:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:OSCilloscope:PHASe:SOURce2 WMEMory1
:MEASure:OSCilloscope:PHASe:ENUMber2 3
:MEASure:OSCilloscope:PHASe:EDIRection2 FALLing
:MEASure:OSCilloscope:PHASe:ETHReshold2 MIDDle
  //  Perform measurement
:MEASure:OSCilloscope:PHASe
:MEASure:OSCilloscope:PHASe?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PHASe:ENUMber

Command Syntax

:MEASure:OSCilloscope:PHASe:ENUMber{1:2}  <edge_number>

<edge_number> is an int.

Query Syntax

:MEASure:OSCilloscope:PHASe:ENUMber?

Description

For the phase measurement, specifies the waveform's edge number to be used to identify the first or second measurement edge. To set the edge direction, use the :EDIRection command. To set the edge threshold, use the :ETHReshold command.

Example Command Sequence

This sequence defines the first measurement edge's number, direction, and threshold followed by the second measurement edge's number, direction, and threshold. The delta time measurement is then started and the measurement result returned.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PHASe:SOURce1 CHAN1A
  //  Defines first measurement edge
:MEASure:OSCilloscope:PHASe:ENUMber1 2
:MEASure:OSCilloscope:PHASe:EDIRection1 RISing
:MEASure:OSCilloscope:PHASe:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:OSCilloscope:PHASe:SOURce2 WMEMory1
:MEASure:OSCilloscope:PHASe:ENUMber2 3
:MEASure:OSCilloscope:PHASe:EDIRection2 FALLing
:MEASure:OSCilloscope:PHASe:ETHReshold2 MIDDle
  //  Perform measurement
:MEASure:OSCilloscope:PHASe
:MEASure:OSCilloscope:PHASe?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PHASe:ETHReshold

Command Syntax

:MEASure:OSCilloscope:PHASe:ETHReshold{1:2}  {UPPer | MIDDle | LOWer}

Query Syntax

:MEASure:OSCilloscope:PHASe:ETHReshold?

Description

For the phase measurement, specifies the waveform's edge threshold to be used to identify the first or second measurement edge. To set the edge direction, use the :EDIRection command. To set the edge number, use the :ENUMber command.

Example Command Sequence

This sequence defines source one's edge number, direction, and threshold followed by source two's edge number, direction, and threshold. The delta time measurement is then started and the measurement result returned.

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PHASe:SOURce1 CHAN1A
  //  Defines first measurement edge
:MEASure:OSCilloscope:PHASe:ENUMber1 2
:MEASure:OSCilloscope:PHASe:EDIRection1 RISing
:MEASure:OSCilloscope:PHASe:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:OSCilloscope:PHASe:SOURce2 WMEMory1
:MEASure:OSCilloscope:PHASe:ENUMber2 3
:MEASure:OSCilloscope:PHASe:EDIRection2 FALLing
:MEASure:OSCilloscope:PHASe:ETHReshold2 MIDDle
  //  Perform measurement
:MEASure:OSCilloscope:PHASe
:MEASure:OSCilloscope:PHASe?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PHASe:LOCation?

Query Syntax

:MEASure:OSCilloscope:PHASe:LOCation?

Description

Returns an index for the location of the PHASe measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PHASe:REGion

Command Syntax

:MEASure:OSCilloscope:PHASe:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:PHASe:REGion?

Description

Select a time span over which the :PHASe measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PHASe:SOURce CHAN2A
:MEASure:OSCilloscope:PHASe:REGion REGion3
:MEASure:OSCilloscope:PHASe
:MEASure:OSCilloscope:PHASe?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PHASe:SOURce

Command Syntax

:MEASure:OSCilloscope:PHASe:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:PHASe:SOURce?

Description

Selects the source waveform on which to perform the PHASe measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PHASe:STATus?

Query Syntax

:MEASure:OSCilloscope:PHASe:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PHASe measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PHASe:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:PHASe:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PHASe measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:OSCilloscope:PREShoot

Command Syntax

:MEASure:OSCilloscope:PREShoot

Query Syntax

:MEASure:OSCilloscope:PREShoot?

Description

Moves the Preshoot measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Preshoot is a distortion that precedes a waveform edge transition. Preshoot occurs before the edge crosses through the waveform threshold levels and can occur on either the rising or falling edge. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PREShoot:SOURce CHAN1A
:MEASure:OSCilloscope:PREShoot
:MEASure:OSCilloscope:PREShoot?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:PREShoot:LOCation?

Query Syntax

:MEASure:OSCilloscope:PREShoot:LOCation?

Description

Returns an index for the location of the PREShoot measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:PREShoot:REGion

Command Syntax

:MEASure:OSCilloscope:PREShoot:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:PREShoot:REGion?

Description

Select a time span over which the :PREShoot measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PREShoot:SOURce CHAN2A
:MEASure:OSCilloscope:PREShoot:REGion REGion3
:MEASure:OSCilloscope:PREShoot
:MEASure:OSCilloscope:PREShoot?


:MEASure:OSCilloscope:PREShoot:SOURce

Command Syntax

:MEASure:OSCilloscope:PREShoot:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:PREShoot:SOURce?

Description

Selects the source waveform on which to perform the PREShoot measurement.


:MEASure:OSCilloscope:PREShoot:STATus?

Query Syntax

:MEASure:OSCilloscope:PREShoot:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PREShoot measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:PREShoot:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:PREShoot:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PREShoot measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:PWIDth

Command Syntax

:MEASure:OSCilloscope:PWIDth

Query Syntax

:MEASure:OSCilloscope:PWIDth?

Description

Moves the positive pulse width measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Positive pulse width is defined as the time from the middle threshold of the first rising edge to the middle threshold of the next falling edge. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PWIDth:SOURce CHAN1A
:MEASure:OSCilloscope:PWIDth
:MEASure:OSCilloscope:PWIDth?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:PWIDth:LOCation?

Query Syntax

:MEASure:OSCilloscope:PWIDth:LOCation?

Description

Returns an index for the location of the PWIDth measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:PWIDth:REGion

Command Syntax

:MEASure:OSCilloscope:PWIDth:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:PWIDth:REGion?

Description

Select a time span over which the :PWIDth measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:PWIDth:SOURce CHAN2A
:MEASure:OSCilloscope:PWIDth:REGion REGion3
:MEASure:OSCilloscope:PWIDth
:MEASure:OSCilloscope:PWIDth?


:MEASure:OSCilloscope:PWIDth:SOURce

Command Syntax

:MEASure:OSCilloscope:PWIDth:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:PWIDth:SOURce?

Description

Selects the source waveform on which to perform the PWIDth measurement.


:MEASure:OSCilloscope:PWIDth:STATus?

Query Syntax

:MEASure:OSCilloscope:PWIDth:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the PWIDth measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:PWIDth:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:PWIDth:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed PWIDth measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:RISetime

Command Syntax

:MEASure:OSCilloscope:RISetime

Query Syntax

:MEASure:OSCilloscope:RISetime?

Description

Moves the rise time measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Rise time measures the transition time of the waveform's positive (rising) edge. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:RISetime:SOURce CHAN1A
:MEASure:OSCilloscope:RISetime
:MEASure:OSCilloscope:RISetime?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:RISetime:LOCation?

Query Syntax

:MEASure:OSCilloscope:RISetime:LOCation?

Description

Returns an index for the location of the RISetime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:RISetime:REGion

Command Syntax

:MEASure:OSCilloscope:RISetime:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:RISetime:REGion?

Description

Select a time span over which the :RISetime measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:RISetime:SOURce CHAN2A
:MEASure:OSCilloscope:RISetime:REGion REGion3
:MEASure:OSCilloscope:RISetime
:MEASure:OSCilloscope:RISetime?


:MEASure:OSCilloscope:RISetime:SOURce

Command Syntax

:MEASure:OSCilloscope:RISetime:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:RISetime:SOURce?

Description

Selects the source waveform on which to perform the RISetime measurement.


:MEASure:OSCilloscope:RISetime:STATus?

Query Syntax

:MEASure:OSCilloscope:RISetime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RISetime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:RISetime:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:RISetime:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed RISetime measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:TEDGe

Command Syntax

:MEASure:OSCilloscope:TEDGe

Query Syntax

:MEASure:OSCilloscope:TEDGe?

Description

Moves the Time-at-Edge measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Time-at-Edge is the measure of the time at which the specified waveform edge occurs on the displayed waveform. To specify the edge, use the NUMBer child commnad. Specify a rising or falling edge with the DIRection command. Specify the edge threshold with the THReshold child command. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :DIRection specifies the edge direction.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :NUMBer specifies the edge number.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :THReshold specifies the edge threshold.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TEDGe:SOURce CHAN2B
:MEASure:OSCilloscope:TEDGe:DIRection RISing
:MEASure:OSCilloscope:TEDGe:NUMBer 2
:MEASure:OSCilloscope:TEDGe:THReshold MIDDle
:MEASure:OSCilloscope:TEDGe
:MEASure:OSCilloscope:TEDGe?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:TEDGe:DIRection

Command Syntax

:MEASure:OSCilloscope:TEDGe:DIRection  {RISing | FALLing}

Query Syntax

:MEASure:OSCilloscope:TEDGe:DIRection?

Description

For the Time-at-Edge measurement, specifies the edge direction used to identify the waveform's edge: rising or falling. To specify the edge number, use the :OSCilloscope:TEDGe:NUMBer command. To specify the edge threshold, use the :OSCilloscope:TEDGe:THReshold command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TEDGe:SOURce CHAN2B
:MEASure:OSCilloscope:TEDGe:DIRection RISing
:MEASure:OSCilloscope:TEDGe:NUMBer 2
:MEASure:OSCilloscope:TEDGe:THReshold MIDDle
:MEASure:OSCilloscope:TEDGe
:MEASure:OSCilloscope:TEDGe?

  • Learn More


:MEASure:OSCilloscope:TEDGe:LOCation?

Query Syntax

:MEASure:OSCilloscope:TEDGe:LOCation?

Description

Returns an index for the location of the TEDGe measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:TEDGe:NUMBer

Command Syntax

:MEASure:OSCilloscope:TEDGe:NUMBer <edge_number>

<edge_number> is an int.

Query Syntax

:MEASure:OSCilloscope:TEDGe:NUMBer?

Description

For the Time-at-Edge measurement, specifies the edge number used to identify the waveform's edge. To specify the edge threshold, use the :OSCilloscope:TEDGe:THReshold command. To specify the edge direction, use the :OSCilloscope:TEDGe:DIRection command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TEDGe:SOURce CHAN2B
:MEASure:OSCilloscope:TEDGe:DIRection RISing
:MEASure:OSCilloscope:TEDGe:NUMBer 2
:MEASure:OSCilloscope:TEDGe:THReshold MIDDle
:MEASure:OSCilloscope:TEDGe
:MEASure:OSCilloscope:TEDGe?

  • Learn More


:MEASure:OSCilloscope:TEDGe:REGion

Command Syntax

:MEASure:OSCilloscope:TEDGe:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:TEDGe:REGion?

Description

Select a time span over which the :TEDGe measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TEDGe:SOURce CHAN2A
:MEASure:OSCilloscope:TEDGe:REGion REGion3
:MEASure:OSCilloscope:TEDGe
:MEASure:OSCilloscope:TEDGe?


:MEASure:OSCilloscope:TEDGe:SOURce

Command Syntax

:MEASure:OSCilloscope:TEDGe:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:TEDGe:SOURce?

Description

Selects the source waveform on which to perform the TEDGe measurement.


:MEASure:OSCilloscope:TEDGe:STATus?

Query Syntax

:MEASure:OSCilloscope:TEDGe:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TEDGe measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:TEDGe:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:TEDGe:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TEDGe measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:TEDGe:THReshold

Command Syntax

:MEASure:OSCilloscope:TEDGe:THReshold  {UPPer | MIDDle | LOWer}

Query Syntax

:MEASure:OSCilloscope:TEDGe:THReshold?

Description

For the Time-at-Edge measurement, specifies the edge threshold used to identify the waveform's edge: upper, middle, or lower. To specify the edge number, use the :OSCilloscope:TEDGe:NUMBer command. To specify the edge direction, use the :OSCilloscope:TEDGe:DIRection command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TEDGe:SOURce CHAN2B
:MEASure:OSCilloscope:TEDGe:DIRection RISing
:MEASure:OSCilloscope:TEDGe:NUMBer 2
:MEASure:OSCilloscope:TEDGe:THReshold MIDDle
:MEASure:OSCilloscope:TEDGe
:MEASure:OSCilloscope:TEDGe?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:TMAXimum

Command Syntax

:MEASure:OSCilloscope:TMAXimum

Query Syntax

:MEASure:OSCilloscope:TMAXimum?

Description

Moves the Time-at-Maximum measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Time-at-Maximum is the time of the first occurrence of the absolute maximum waveform level on the waveform. Time at Max is position independent. Therefore, the entire displayed waveform is used to determine the maximum signal level. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TMAXimum:SOURce CHAN1A
:MEASure:OSCilloscope:TMAXimum
:MEASure:OSCilloscope:TMAXimum?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:TMAXimum:LOCation?

Query Syntax

:MEASure:OSCilloscope:TMAXimum:LOCation?

Description

Returns an index for the location of the TMAXimum measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:TMAXimum:REGion

Command Syntax

:MEASure:OSCilloscope:TMAXimum:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:TMAXimum:REGion?

Description

Select a time span over which the :TMAXimum measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TMAXimum:SOURce CHAN2A
:MEASure:OSCilloscope:TMAXimum:REGion REGion3
:MEASure:OSCilloscope:TMAXimum
:MEASure:OSCilloscope:TMAXimum?


:MEASure:OSCilloscope:TMAXimum:SOURce

Command Syntax

:MEASure:OSCilloscope:TMAXimum:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:TMAXimum:SOURce?

Description

Selects the source waveform on which to perform the TMAXimum measurement.


:MEASure:OSCilloscope:TMAXimum:STATus?

Query Syntax

:MEASure:OSCilloscope:TMAXimum:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TMAXimum measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:TMAXimum:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:TMAXimum:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TMAXimum measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:TMINimum

Command Syntax

:MEASure:OSCilloscope:TMINimum

Query Syntax

:MEASure:OSCilloscope:TMINimum?

Description

Moves the Time-at-Minimum measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Time at Minimum is a measure of the time at which the first data sample with the minimum waveform level first occurs. Time at Min is position independent. Therefore, the instrument uses the entire waveform on the display graticule to determine the minimum signal level. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TMINimum:SOURce CHAN1A
:MEASure:OSCilloscope:TMINimum
:MEASure:OSCilloscope:TMINimum?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:TMINimum:LOCation?

Query Syntax

:MEASure:OSCilloscope:TMINimum:LOCation?

Description

Returns an index for the location of the TMINimum measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:TMINimum:REGion

Command Syntax

:MEASure:OSCilloscope:TMINimum:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:TMINimum:REGion?

Description

Select a time span over which the :TMINimum measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TMINimum:SOURce CHAN2A
:MEASure:OSCilloscope:TMINimum:REGion REGion3
:MEASure:OSCilloscope:TMINimum
:MEASure:OSCilloscope:TMINimum?


:MEASure:OSCilloscope:TMINimum:SOURce

Command Syntax

:MEASure:OSCilloscope:TMINimum:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:TMINimum:SOURce?

Description

Selects the source waveform on which to perform the TMINimum measurement.


:MEASure:OSCilloscope:TMINimum:STATus?

Query Syntax

:MEASure:OSCilloscope:TMINimum:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TMINimum measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:TMINimum:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:TMINimum:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TMINimum measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:TVOLt

Command Syntax

:MEASure:OSCilloscope:TVOLt

Query Syntax

:MEASure:OSCilloscope:TVOLt?

Description

Moves the Time-at-Amplitude measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Time-at-Amplitude is the measure of the time at which the specified edge amplitude occurs on the displayed waveform. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use the child commands EDIRection, ENUMber, and YVALue to specify the measurement location on the source waveform.

Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :EDIRection specifies the edge direction.
  • :ENUMber specifies the edge number.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :YVALue specifies the amplitude value at which to perform the measurement.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TVOLt:SOURce CHAN1A
:MEASure:OSCilloscope:TVOLt:EDIRection RISing
:MEASure:OSCilloscope:TVOLt:ENUMber 1
:MEASure:OSCilloscope:TVOLt:YVALue 100E-03
:MEASure:OSCilloscope:TVOLt
:MEASure:OSCilloscope:TVOLt?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:TVOLt:EDIRection

Command Syntax

:MEASure:OSCilloscope:TVOLt:EDIRection  {RISing | FALLing}

Query Syntax

:MEASure:OSCilloscope:TVOLt:EDIRection?

Description

For the Time-at-Amplitude measurement, specifies the edge direction used to identify the waveform location at which to perform the measurement. The edge can be identified as rising or falling. To specify the edge number, use the :OSCilloscope:TVOLt:ENUMber command. To specify the amplitude value, use the :OSCilloscope:TVOLt:YVALue command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TVOLt:SOURce CHAN1A
:MEASure:OSCilloscope:TVOLt:EDIRection RISing
:MEASure:OSCilloscope:TVOLt:ENUMber 1
:MEASure:OSCilloscope:TVOLt:YVALue 100E-03
:MEASure:OSCilloscope:TVOLt
:MEASure:OSCilloscope:TVOLt?

  • Learn More


:MEASure:OSCilloscope:TVOLt:ENUMber

Command Syntax

:MEASure:OSCilloscope:TVOLt:ENUMber  <edge_number>

Query Syntax

:MEASure:OSCilloscope:TVOLt:ENUMber?

Description

For the Time-at-Amplitude measurement, specifies the edge number used to identify the waveform location at which to perform the measurement. To specify the edge direction, use the :OSCilloscope:TVOLt:EDIRection command. To specify the amplitude value, use the :OSCilloscope:TVOLt:YVALue command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TEDGe:SOURce CHAN2B
:MEASure:OSCilloscope:TEDGe:DIRection RISing
:MEASure:OSCilloscope:TEDGe:NUMBer 2
:MEASure:OSCilloscope:TEDGe:THReshold MIDDle
:MEASure:OSCilloscope:TEDGe
:MEASure:OSCilloscope:TEDGe?

  • Learn More


:MEASure:OSCilloscope:TVOLt:LOCation?

Query Syntax

:MEASure:OSCilloscope:TVOLt:LOCation?

Description

Returns an index for the location of the TVOLt measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:TVOLt:REGion

Command Syntax

:MEASure:OSCilloscope:TVOLt:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:TVOLt:REGion?

Description

Select a time span over which the :TVOLt measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TVOLt:SOURce CHAN2A
:MEASure:OSCilloscope:TVOLt:REGion REGion3
:MEASure:OSCilloscope:TVOLt
:MEASure:OSCilloscope:TVOLt?


:MEASure:OSCilloscope:TVOLt:SOURce

Command Syntax

:MEASure:OSCilloscope:TVOLt:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:TVOLt:SOURce?

Description

Selects the source waveform on which to perform the TVOLt measurement.


:MEASure:OSCilloscope:TVOLt:STATus?

Query Syntax

:MEASure:OSCilloscope:TVOLt:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TVOLt measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:TVOLt:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:TVOLt:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed TVOLt measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:TVOLt:YVALue

Command Syntax

:MEASure:OSCilloscope:TVOLt:YVALue  <amplitude>

<amplitude> is a double.

Query Syntax

:MEASure:OSCilloscope:TVOLt:YVALue?

Description

For the Time-at-Amplitude measurement, specifies the amplitude value at which to perform the measurement. To specify the edge direction, use the :OSCilloscope:TVOLt:EDIRection command. To specify the edge number, use the :OSCilloscope:TVOLt:ENUMber command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:TVOLt:SOURce CHAN1A
:MEASure:OSCilloscope:TVOLt:EDIRection RISing
:MEASure:OSCilloscope:TVOLt:ENUMber 1
:MEASure:OSCilloscope:TVOLt:YVALue 100E-03
:MEASure:OSCilloscope:TVOLt
:MEASure:OSCilloscope:TVOLt?

  • Learn More


:MEASure:OSCilloscope:USER{1:8}

Command Syntax

:MEASure:OSCilloscope:USER{1:8}

{1:8} selects one of eight possible user measurements.

Description

Turns on the selected oscilloscope mode user-defined measurement. The query form of the command returns the measured value. If the selected user measurement has not been created using the :CFILe child command, the value NaN (9.91E+37) is returned.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Child Commands

  • :ABBReviation? returns the abbreviated user measurement name.
  • :CFILe specifies the configuration file for an Oscilloscope mode user measurement.
  • :CFILe:CLEar removes an existing configuration file which removes a user measurement from the Oscilloscope mode User toolbar.
  • :CFILe:RELoad reloads the XML configuration file.
  • :CFLoaded? query the existence of the user measurement.
  • :COMMents? returns the comment string for the user measurement.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :LSTatus? queries the status of the loading of a configuration file.
  • :LSTatus:REASon? queries the reason for a failed loading of a configuration file.
  • :REGion Selects a waveform measurement region over which to perform the user measurement.
  • :NAME? returns the user measurement name.
  • :SOURce selects the input waveform for the user measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? queries the reason a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.


:MEASure:OSCilloscope:USER{1:8}:ABBReviation?

Query Syntax

:MEASure:OSCilloscope:USER{1:8}:ABBReviation?

Description

For the selected Oscilloscope mode user measurement, returns the abbreviated test name. If an XML file was used to define the test, the abbreviated test name is specified in the file's XML <Abbreviation> tag. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename. The abbreviation string is shown in the displayed Measurement results table and is limited in length to 15 characters.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:CFILe

Command Syntax

:MEASure:OSCilloscope:USER{1:8}:CFILe <filename>

<filename> is the configuration file (*.xml, *.m, *.py).

Description

Specifies the configuration file that is used to create an Oscilloscope mode user measurement. The file is an XML file that describes the measurement and points to a Matlab (*.m) or Python (*.py) script file. Refer to Creating the XML File for information on creating a user measurement XML file. A Matlab or Python script can directly be used to define the measurement, but this method lacks the power of measurement variables as described in User Defined Measurements. When an XML file is not used or the measurement's name is not defined in the XML file, the file name is used to name the measurement on the measurement button and in the displayed Measurement results table.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

To remove a user measurement, use the :MEASure:OSCilloscope:USER{1:8}:CFILe:CLEar command.

To create a TDR mode user measurement, use the :MEASure:TDR:USER:CFILe command. To create a Oscilloscope mode user measurement, use the :MEASure:OSCilloscope:USER:CFILe command.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:CFILe:CLEar

Command Syntax

:MEASure:OSCilloscope:USER{1:8}:CFILe:CLEar

Description

Removes an existing configuration file for a user measurement. This removes the measurement from Oscilloscope mode's User toolbar. A user measurement is created using the :MEASure:OSCilloscope:USER:CFILe parent command.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:CFILe:RELoad

Command Syntax

:MEASure:OSCilloscope:USER{1:8}:CFILe:RELoad

Description

Reloads the XML configuration file for the selected user-defined measurement.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:CFLoaded?

Query Syntax

:MEASure:OSCilloscope:USER{1:8}:CFLoaded?

Query Response

{1 | 0}

Description

Queries the existence of the specified user measurement. Returns a one if the measurement is defined and a zero it the measurement has not been setup.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:COMMents?

Query Syntax

:MEASure:OSCilloscope:USER{1:8}:COMMents?

Description

Returns the comment string for the selected user measurement. The comment string is defined in the measurement's XML definition file using the <Comments> tag. The comment string is limited in length to 512 characters.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:LOCation?

Query Syntax

:MEASure:OSCilloscope:USER{1:8}:LOCation?

Description

Returns an index for the location of the :MEASure:OSCilloscope:USER measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:LSTatus?

Query Syntax

MEASure:OSCilloscope:USER:LSTatus?

Description

Returns the status of the loading of the XML configuration file (:MEASure:OSCilloscope:USER:CFILe command). Use the :REASon child command to return the reason for a failed load.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:LSTatus:REASon?

Query Syntax

MEASure:OSCilloscope:USER:LSTatus:REASon?

Description

Returns the reason for a failed load of a configuration file.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:NAME?

Query Syntax

:MEASure:OSCilloscope:USER{1:8}:NAME?

Description

For the selected Oscilloscope mode user measurement, returns the measurement name that is shown on Oscilloscope mode's User measurement tab. If an XML file was used to define the test, the test name is specified in the file's XML <Name> tag. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename. The string is limited in length to 15 characters. If the measurement has not been created, an empty string is returned.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:REGion

Command Syntax

:MEASure:TDR:USER{1:8}:REGion {DISPlay | REGion{1:8}}

Description

Selects a waveform measurement region over which to perform the user measurement. This allows you to restrict the measurement over a specific portion of the waveform over the X axis. Measurement regions are available in FlexDCA's Oscilloscope and TDR/TDT modes. Use the :MEASure:REGions:STATe command to turn on an configure measurement regions.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:SOURce{1:2}

Command Syntax

:MEASure:OSCilloscope:USER{1:8}:SOURce{1:2} {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Selects the source waveforms on which to perform the USER measurement. If one source waveform is required, use :SOURce or :SOURce1. If two source waveforms are required, use :SOURce2. If an XML file was used to define the test, the test source waveforms are specified in the file's XML <SourceIndex> tag in combination with the Select Source dialog box when the measurement is started.

Use the :MEASure:OSCilloscope:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:STATus?

Query Syntax

:MEASure:OSCilloscope:USER{1:8}:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the :MEASure:OSCilloscope:USER measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:USER{1:8}:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:USER{1:8}:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed :MEASure:OSCilloscope:USER measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:OSCilloscope:VAMPlitude

Command Syntax

:MEASure:OSCilloscope:VAMPlitude

Query Syntax

:MEASure:OSCilloscope:VAMPlitude?

Description

Moves the Amplitude measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Amplitude is the measure of the difference between Waveform Top and Waveform Base of a displayed pulse waveform. These levels are calculated over the entire display graticule. Use :MEASure:TBMethod to change the definition of the waveform's top and base. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VAMPlitude:SOURce CHAN1A
:MEASure:OSCilloscope:VAMPlitude
:MEASure:OSCilloscope:VAMPlitude?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VAMPlitude:LOCation?

Query Syntax

:MEASure:OSCilloscope:VAMPlitude:LOCation?

Description

Returns an index for the location of the VAMPlitude measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VAMPlitude:REGion

Command Syntax

:MEASure:OSCilloscope:VAMPlitude:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VAMPlitude:REGion?

Description

Select a time span over which the :VAMPlitude measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VAMPlitude:SOURce CHAN2A
:MEASure:OSCilloscope:VAMPlitude:REGion REGion3
:MEASure:OSCilloscope:VAMPlitude
:MEASure:OSCilloscope:VAMPlitude?


:MEASure:OSCilloscope:VAMPlitude:SOURce

Command Syntax

:MEASure:OSCilloscope:VAMPlitude:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VAMPlitude:SOURce?

Description

Selects the source waveform on which to perform the VAMPlitude measurement.


:MEASure:OSCilloscope:VAMPlitude:STATus?

Query Syntax

:MEASure:OSCilloscope:VAMPlitude:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VAMPlitude measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VAMPlitude:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VAMPlitude:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VAMPlitude measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VAVerage

Command Syntax

:MEASure:OSCilloscope:VAVerage

Query Syntax

:MEASure:OSCilloscope:VAVerage?

Description

Moves the Average amplitude measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. For electrical signals, average is a measure of the mean value of the data sampled from the entire displayed waveform or a single cycle, as specified with the AREa child command. The record length of the waveform determines the number of data samples used for the measurement. Average is most suitable for single-valued waveforms. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBMethod to change the definition of the waveform's top and base. Use :MEASure:TMEThod to change the definition of the waveform's threshold.

Child Commands

  • :AREa specifies the data samples area from which the measurement is made.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VAVerage:SOURce CHAN1A
:MEASure:OSCilloscope:VAVerage:ARea CYCLe
:MEASure:OSCilloscope:VAVerage
:MEASure:OSCilloscope:VAVerage?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VAVerage:AREa

Command Syntax

:MEASure:OSCilloscope:VAVerage:AREa  {CYCLe | {DISPlay | REGion} }

Query Syntax

:MEASure:OSCilloscope:VAVerage:AREa?

Description

Configures the Vaverage measurement (:MEASure:OSCilloscope:VAVerage) data to be sampled across the entire displayed waveform (DISPlay) or a single cycle (CYCle). The DISPlay and REGion arguments are identical.


:MEASure:OSCilloscope:VAVerage:LOCation?

Query Syntax

:MEASure:OSCilloscope:VAVerage:LOCation?

Description

Returns an index for the location of the VAVerage measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VAVerage:REGion

Command Syntax

:MEASure:OSCilloscope:VAVerage:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VAVerage:REGion?

Description

Select a time span over which the :VAVerage measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VAVerage:SOURce CHAN2A
:MEASure:OSCilloscope:VAVerage:REGion REGion3
:MEASure:OSCilloscope:VAVerage
:MEASure:OSCilloscope:VAVerage?


:MEASure:OSCilloscope:VAVerage:SOURce

Command Syntax

:MEASure:OSCilloscope:VAVerage:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VAVerage:SOURce?

Description

Selects the source waveform on which to perform the VAVerage measurement.


:MEASure:OSCilloscope:VAVerage:STATus?

Query Syntax

:MEASure:OSCilloscope:VAVerage:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VAVerage measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VAVerage:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VAVerage:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VAVerage measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VBASe

Command Syntax

:MEASure:OSCilloscope:VBASe

Query Syntax

:MEASure:OSCilloscope:VBASe?

Description

Moves the Waveform Base measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Waveform Base is the most prevalent value of the lower 40% of a pulse or eye diagram. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VBASe:SOURce CHAN1A
:MEASure:OSCilloscope:VBASe
:MEASure:OSCilloscope:VBASe?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VBASe:LOCation?

Query Syntax

:MEASure:OSCilloscope:VBASe:LOCation?

Description

Returns an index for the location of the VBASe measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VBASe:REGion

Command Syntax

:MEASure:OSCilloscope:VBASe:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VBASe:REGion?

Description

Select a time span over which the :VBASe measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VBASe:SOURce CHAN2A
:MEASure:OSCilloscope:VBASe:REGion REGion3
:MEASure:OSCilloscope:VBASe
:MEASure:OSCilloscope:VBASe?


:MEASure:OSCilloscope:VBASe:SOURce

Command Syntax

:MEASure:OSCilloscope:VBASe:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VBASe:SOURce?

Description

Selects the source waveform on which to perform the VBASe measurement.


:MEASure:OSCilloscope:VBASe:STATus?

Query Syntax

:MEASure:OSCilloscope:VBASe:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VBASe measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VBASe:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VBASe:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VBASe measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VLOWer

Command Syntax

:MEASure:OSCilloscope:VLOWer

Query Syntax

:MEASure:OSCilloscope:VLOWer?

Description

Moves the Amplitude-at-Lower measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Amplitude-at-Lower is the measure of the amplitude value of the lower threshold. An annotation is placed on the display at the measured value. By default, this is the standard IEEE 10% threshold measurement level definition. The lower threshold value can be set to 10%, 20%, or a custom value. The Waveform Base and Waveform Top are first located and these values are used to determine the threshold value. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VLOWer:SOURce CHAN1A
:MEASure:OSCilloscope:VLOWer
:MEASure:OSCilloscope:VLOWer?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VLOWer:LOCation?

Query Syntax

:MEASure:OSCilloscope:VLOWer:LOCation?

Description

Returns an index for the location of the VLOWer measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VLOWer:REGion

Command Syntax

:MEASure:OSCilloscope:VLOWer:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VLOWer:REGion?

Description

Select a time span over which the :VLOWer measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VLOWer:SOURce CHAN2A
:MEASure:OSCilloscope:VLOWer:REGion REGion3
:MEASure:OSCilloscope:VLOWer
:MEASure:OSCilloscope:VLOWer?


:MEASure:OSCilloscope:VLOWer:SOURce

Command Syntax

:MEASure:OSCilloscope:VLOWer:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VLOWer:SOURce?

Description

Selects the source waveform on which to perform the VLOWer measurement.


:MEASure:OSCilloscope:VLOWer:STATus?

Query Syntax

:MEASure:OSCilloscope:VLOWer:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VLOWer measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VLOWer:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VLOWer:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VLOWer measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VMAXimum

Command Syntax

:MEASure:OSCilloscope:VMAXimum

Query Syntax

:MEASure:OSCilloscope:VMAXimum?

Description

Moves the Maximum measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Maximum is the maximum amplitude of the waveform's displayed power or voltage. The level is taken directly from the histogram data. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VMAXimum:SOURce CHAN1A
:MEASure:OSCilloscope:VMAXimum
:MEASure:OSCilloscope:VMAXimum?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VMAXimum:LOCation?

Query Syntax

:MEASure:OSCilloscope:VMAXimum:LOCation?

Description

Returns an index for the location of the VMAXimum measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VMAXimum:REGion

Command Syntax

:MEASure:OSCilloscope:VMAXimum:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VMAXimum:REGion?

Description

Select a time span over which the :VMAXimum measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VMAXimum:SOURce CHAN2A
:MEASure:OSCilloscope:VMAXimum:REGion REGion3
:MEASure:OSCilloscope:VMAXimum
:MEASure:OSCilloscope:VMAXimum?


:MEASure:OSCilloscope:VMAXimum:SOURce

Command Syntax

:MEASure:OSCilloscope:VMAXimum:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VMAXimum:SOURce?

Description

Selects the source waveform on which to perform the VMAXimum measurement.


:MEASure:OSCilloscope:VMAXimum:STATus?

Query Syntax

:MEASure:OSCilloscope:VMAXimum:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VMAXimum measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VMAXimum:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VMAXimum:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VMAXimum measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VMIDdle

Command Syntax

:MEASure:OSCilloscope:VMIDdle

Query Syntax

:MEASure:OSCilloscope:VMIDdle?

Description

Moves the Amplitude-at-Middle measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Amplitude-at-Middle is the measure of the amplitude value of the middle threshold. An annotation is placed on the display at the measured value. By default, this is the standard IEEE 50% threshold measurement level definition. The middle threshold value can be set to 50% or a custom value. The Waveform Base and Waveform Top are first located and these values are used to determine the threshold value. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VMIDdle:SOURce CHAN1A
:MEASure:OSCilloscope:VMIDdle
:MEASure:OSCilloscope:VMIDdle?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VMIDdle:LOCation?

Query Syntax

:MEASure:OSCilloscope:VMIDdle:LOCation?

Description

Returns an index for the location of the VMIDdle measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VMIDdle:REGion

Command Syntax

:MEASure:OSCilloscope:VMIDdle:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VMIDdle:REGion?

Description

Select a time span over which the :VMIDdle measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VMIDdle:SOURce CHAN2A
:MEASure:OSCilloscope:VMIDdle:REGion REGion3
:MEASure:OSCilloscope:VMIDdle
:MEASure:OSCilloscope:VMIDdle?


:MEASure:OSCilloscope:VMIDdle:SOURce

Command Syntax

:MEASure:OSCilloscope:VMIDdle:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VMIDdle:SOURce?

Description

Selects the source waveform on which to perform the VMIDdle measurement.


:MEASure:OSCilloscope:VMIDdle:STATus?

Query Syntax

:MEASure:OSCilloscope:VMIDdle:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VMIDdle measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VMIDdle:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VMIDdle:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VMIDdle measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VMINimum

Command Syntax

:MEASure:OSCilloscope:VMINimum

Query Syntax

:MEASure:OSCilloscope:VMINimum?

Description

Moves the Minimum measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Minimum is the minimum amplitude of the waveform's displayed power or voltage. The minimum level is taken directly from the histogram data. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VMINimum:SOURce CHAN1A
:MEASure:OSCilloscope:VMINimum
:MEASure:OSCilloscope:VMINimum?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VMINimum:LOCation?

Query Syntax

:MEASure:OSCilloscope:VMINimum:LOCation?

Description

Returns an index for the location of the VMINimum measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VMINimum:REGion

Command Syntax

:MEASure:OSCilloscope:VMINimum:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VMINimum:REGion?

Description

Select a time span over which the :VMINimum measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VMINimum:SOURce CHAN2A
:MEASure:OSCilloscope:VMINimum:REGion REGion3
:MEASure:OSCilloscope:VMINimum
:MEASure:OSCilloscope:VMINimum?


:MEASure:OSCilloscope:VMINimum:SOURce

Command Syntax

:MEASure:OSCilloscope:VMINimum:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VMINimum:SOURce?

Description

Selects the source waveform on which to perform the VMINimum measurement.


:MEASure:OSCilloscope:VMINimum:STATus?

Query Syntax

:MEASure:OSCilloscope:VMINimum:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VMINimum measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VMINimum:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VMINimum:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VMINimum measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VPP

Command Syntax

:MEASure:OSCilloscope:VPP

Query Syntax

:MEASure:OSCilloscope:VPP?

Description

Moves the Peak-to-Peak Amplitude measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VPP:SOURce CHAN1A
:MEASure:OSCilloscope:VPP
:MEASure:OSCilloscope:VPP?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VPP:LOCation?

Query Syntax

:MEASure:OSCilloscope:VPP:LOCation?

Description

Returns an index for the location of the VPP measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VPP:REGion

Command Syntax

:MEASure:OSCilloscope:VPP:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VPP:REGion?

Description

Select a time span over which the :VPP measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VPP:SOURce CHAN2A
:MEASure:OSCilloscope:VPP:REGion REGion3
:MEASure:OSCilloscope:VPP
:MEASure:OSCilloscope:VPP?


:MEASure:OSCilloscope:VPP:SOURce

Command Syntax

:MEASure:OSCilloscope:VPP:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VPP:SOURce?

Description

Selects the source waveform on which to perform the VPP measurement.


:MEASure:OSCilloscope:VPP:STATus?

Query Syntax

:MEASure:OSCilloscope:VPP:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VPP measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VPP:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VPP:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VPP measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VRMS

Command Syntax

:MEASure:OSCilloscope:VRMS

Query Syntax

:MEASure:OSCilloscope:VRMS?

Description

Moves the VRMS measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. VRMS is a measure of the AC or DC RMS of a pulse waveform, as specified by the TYPe child command. The measurement data is sampled across the entire displayed waveform or a single cycle, as specified with the AREa child command.

Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :AREa sets the area from which the data is sampled.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion specifies the display as the region to perform the measurement.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :TYPe
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VRMS:SOURce CHAN1A
:MEASure:OSCilloscope:VRMS:AREa CYCLe
:MEASure:OSCilloscope:VRMS:TYPe AC
:MEASure:OSCilloscope:VRMS
:MEASure:OSCilloscope:VRMS?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VRMS:AREa

Command Syntax

:MEASure:OSCilloscope:VRMS:AREa  {CYCLe | {DISPlay | REGion} }

Query Syntax

:MEASure:OSCilloscope:VRMS:AREa?

Description

Configures the VRMS measurement (:MEASure:OSCilloscope:VRMS) data to be sampled across the entire displayed waveform (DISPlay) or a single cycle (CYCle). The DISPlay and REGion arguments are identical.


:MEASure:OSCilloscope:VRMS:LOCation?

Query Syntax

:MEASure:OSCilloscope:VRMS:LOCation?

Description

Returns an index for the location of the VRMS measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VRMS:REGion

Command Syntax

:MEASure:OSCilloscope:VRMS:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VRMS:REGion?

Description

Select a time span over which the :VRMS measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VRMS:SOURce CHAN2A
:MEASure:OSCilloscope:VRMS:REGion REGion3
:MEASure:OSCilloscope:VRMS
:MEASure:OSCilloscope:VRMS?


:MEASure:OSCilloscope:VRMS:SOURce

Command Syntax

:MEASure:OSCilloscope:VRMS:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VRMS:SOURce?

Description

Selects the source waveform on which to perform the VRMS measurement.


:MEASure:OSCilloscope:VRMS:STATus?

Query Syntax

:MEASure:OSCilloscope:VRMS:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VRMS measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VRMS:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VRMS:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VRMS measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VRMS:TYPe

Command Syntax

:MEASure:OSCilloscope:VRMS:TYPe  {AC | DC}

Query Syntax

:MEASure:OSCilloscope:VRMS:TYPe?

Description

Configures the VRMS measurement (:MEASure:OSCilloscope:VRMS) to the measure of AC or DC RMS.


:MEASure:OSCilloscope:VTIMe

Command Syntax

:MEASure:OSCilloscope:VTIMe

Query Syntax

:MEASure:OSCilloscope:VTIMe?

Description

Moves the Amplitude-at-Time measurement which is the measure of the amplitude of a waveform at a specified time to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. The query form of the command returns the measured amplitude value. Use the :MEASure:OSCilloscope:VTIMe:TIMe command to specifiy the time at which to measure the amplitude. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VTIMe:SOURce CHAN1A
:MEASure:OSCilloscope:VTIMe 200E-12
:MEASure:OSCilloscope:VTIMe
:MEASure:OSCilloscope:VTIMe?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VTIMe:LOCation?

Query Syntax

:MEASure:OSCilloscope:VTIMe:LOCation?

Description

Returns an index for the location of the VTIMe measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VTIMe:REGion

Command Syntax

:MEASure:OSCilloscope:VTIMe:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VTIMe:REGion?

Description

Select a time span over which the :VTIMe measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VTIMe:SOURce CHAN2A
:MEASure:OSCilloscope:VTIMe:REGion REGion3
:MEASure:OSCilloscope:VTIMe
:MEASure:OSCilloscope:VTIMe?


:MEASure:OSCilloscope:VTIMe:SOURce

Command Syntax

:MEASure:OSCilloscope:VTIMe:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VTIMe:SOURce?

Description

Selects the source waveform on which to perform the VTIMe measurement.


:MEASure:OSCilloscope:VTIMe:STATus?

Query Syntax

:MEASure:OSCilloscope:VTIMe:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VTIMe measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VTIMe:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VTIMe:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VTIMe measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VTIMe:TIMe

Command Syntax

:MEASure:OSCilloscope:VTIMe:TIMe  <time>

<time> is a double.

Query Syntax

:MEASure:OSCilloscope:VTIMe:TIMe?

Description

Specifies the time at which the Amplitude-at-Time measurement is made. Use the :MEASure:OSCilloscope:VTIMe to make the measurement.

Child Commands

:LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.

:SOURce specifies the source waveform on which to perform the measurement.

:STATus? queries the measurement status.

:STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VTIMe:SOURce CHAN1A
:MEASure:OSCilloscope:VTIMe 200E-12
:MEASure:OSCilloscope:VTIMe
:MEASure:OSCilloscope:VTIMe?

  • Learn More


:MEASure:OSCilloscope:VTOP

Command Syntax

:MEASure:OSCilloscope:VTOP

Query Syntax

:MEASure:OSCilloscope:VTOP?

Description

Moves the Waveform Top measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Waveform Top is the most prevalent value of the upper 40% of a pulse or eye diagram. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VTOP:SOURce CHAN1A
:MEASure:OSCilloscope:VTOP
:MEASure:OSCilloscope:VTOP?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VTOP:LOCation?

Query Syntax

:MEASure:OSCilloscope:VTOP:LOCation?

Description

Returns an index for the location of the VTOP measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VTOP:REGion

Command Syntax

:MEASure:OSCilloscope:VTOP:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VTOP:REGion?

Description

Select a time span over which the :VTOP measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VTOP:SOURce CHAN2A
:MEASure:OSCilloscope:VTOP:REGion REGion3
:MEASure:OSCilloscope:VTOP
:MEASure:OSCilloscope:VTOP?


:MEASure:OSCilloscope:VTOP:SOURce

Command Syntax

:MEASure:OSCilloscope:VTOP:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VTOP:SOURce?

Description

Selects the source waveform on which to perform the VTOP measurement.


:MEASure:OSCilloscope:VTOP:STATus?

Query Syntax

:MEASure:OSCilloscope:VTOP:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VTOP measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VTOP:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VTOP:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VTOP measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:OSCilloscope:VUPPer

Command Syntax

:MEASure:OSCilloscope:VUPPer

Query Syntax

:MEASure:OSCilloscope:VUPPer?

Description

Moves the Amplitude-at-Upper measurement to the top of the Results table. Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Amplitude-at-Upper is the measure of the amplitude value of the upper threshold. An annotation is placed on the display at the measured value. By default, this is the standard IEEE 90% threshold measurement level definition. The upper threshold value can be set to 90%, 80%, or a custom value. The Waveform Base and Waveform Top are first located and these values are used to determine the threshold value. Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects the time span over which the measurement is made. Measurement regions only available for Oscilloscope mode measurements.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VUPPer:SOURce CHAN1A
:MEASure:OSCilloscope:VUPPer
:MEASure:OSCilloscope:VUPPer?

More Information

  • Learn More
  • Learn about listing measurements in the table


:MEASure:OSCilloscope:VUPPer:LOCation?

Query Syntax

:MEASure:OSCilloscope:VUPPer:LOCation?

Description

Returns an index for the location of the VUPPer measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.


:MEASure:OSCilloscope:VUPPer:REGion

Command Syntax

:MEASure:OSCilloscope:VUPPer:REGion {DISPlay | REGion{1:8}}

Query Syntax

:MEASure:OSCilloscope:VUPPer:REGion?

Description

Select a time span over which the :VUPPer measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:OSCilloscope:VUPPer:SOURce CHAN2A
:MEASure:OSCilloscope:VUPPer:REGion REGion3
:MEASure:OSCilloscope:VUPPer
:MEASure:OSCilloscope:VUPPer?


:MEASure:OSCilloscope:VUPPer:SOURce

Command Syntax

:MEASure:OSCilloscope:VUPPer:SOURce {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MEASure:OSCilloscope:VUPPer:SOURce?

Description

Selects the source waveform on which to perform the VUPPer measurement.


:MEASure:OSCilloscope:VUPPer:STATus?

Query Syntax

:MEASure:OSCilloscope:VUPPer:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VUPPer measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:OSCilloscope:VUPPer:STATus:REASon?

Query Syntax

:MEASure:OSCilloscope:VUPPer:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed VUPPer measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:PAM:AMPLitude:UNITs

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:PAM:AMPLitude:UNITs {AMPLitude | PERCent}

Description

Sets the amplitude units for PAM-4 level and level RMS (thickness) measurements. The selections are amplitude (volts or Watts) (AMPLitude) or percent (PERCent). The following measurements are affected by this setting:

  • Eye/Mask Mode
    • PAM Levels (:EYE:PAM:LEVel)
    • PAM Levels RMS (:EYE:PAM:RMS)
    • PAM Eye Levels (:EYE:PAM:ELEVel)
    • PAM Eye Heights (:EYE:PAM:EHeight)
  • Oscilloscope Mode
    • PAM Levels (:OSCilloscope:PAM:LEVel)
    • PAM Levels RMS (:OSCilloscope:PAM:RMS)

To select the units for Jitter measurements (seconds or unit interval), use the :MEASure:JITTer:DEFine:UNITs command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Introduction to PAM-4 measurement in Eye mode
  • Introduction to PAM-4 measurement in Oscilloscope mode
  • Overall PAM-4 measurement algorithm for Eye mode


:MEASure:PAM:EYE:ELMethod

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:PAM:EYE:ELMethod {MEWidth | MEHeight}

Description

Selects the basis for determining the location of an eye's center on the waveform. This setting affects all PAM-4 measurements in Eye mode. It does not affect PAM-4 measurements in Oscilloscope mode.

Arguments | Description
MEWidth | The eye's center is located at the eye's maximum width midway between the eye's inside left and right edges. This is the default setting.
MEHeight | The eye's center is located at the eye's maximum height midway between the eye's inside top and bottom edges.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode


:MEASure:PAM:EYE:ESTiming

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:PAM:EYE:ESTiming {CEYE | PELevel}

Query Syntax

:MEASure:PAM:EYE:ESTiming?

Description

Configures the timing for sampling the signal data for all PAM measurements in Eye/Mask mode. Use this setting to match the timing method used by a receiver. For signals with skewed eyes, measurements results will vary depending on this setting. This setting does not apply to PAM-4 measurements in Oscilloscope mode.

Arguments | Description
CEYE | Sampling timing is based on the location of the center eye (labeled Eye 1/2 in the following picture). This is the default setting.
PELevel | Sampling timing is independently based on the location of each of the three eyes.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode


:MEASure:PAM:EYE:PPERcent

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:PAM:EYE:PPERcent <% value>

<% value> is a double.

Query Syntax

:MEASure:PAM:EYE:PPERcent?

Description

Defines the timespan over which an eye's amplitude level is measured. The timespan is specified as a percentage of the symbol period. The default setting is 10%. This setting affects all PAM-4 measurements in Eye mode except Eye Widths (EYE:PAM:EWidth). It does not affect PAM-4 measurements in Oscilloscope mode.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode


:MEASure:PAM:EYE:TIME:LTDefinition

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:PAM:EYE:TIME:LTDefinition {MRMS | ECENter}

Query Syntax

:MEASure:PAM:EYE:TIME:LTDefinition?

Description

Specifies the method used to locate the time at which to measure an eye's level. This setting applies only to PAM-4 measurements in Eye mode. The following measurements are affected by this setting:

  • Eye/Mask Mode
    • PAM Levels (:EYE:PAM:LEVel)
    • PAM Level RMS (:EYE:PAM:RMS)
    • PAM Level Skews (:EYE:PAM:SKEW)
    • PAM Linearity (:EYE:PAM:LINearity)
Arguments | Description
ECENter | The time of a level is the average of the centers of the adjacent eyes. This is the default setting.
MRMS | The time is located within the eye's level width at the minimum level thickness (RMS values).

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode


:MEASure:PAM:EYE:TIME:UNITs

License Required. The ability to perform PAM-4 measurements requires options 9FP or 9TP, PAM-N Analysis software license.

Command Syntax

:MEASure:PAM:EYE:TIME:UNITs {SECond | UINTerval}

Query Syntax

:MEASure:PAM:EYE:TIME:UNITs?

Description

Sets the time units for PAM-4 width and skew measurements. The units can be seconds (SECond) or unit interval (UINTerval). The following measurements are affected by this setting:

  • Eye/Mask Mode
    • PAM Level Skews (:EYE:PAM:SKEW)
    • PAM Eye Skews (:EYE:PAM:ESKew)
    • PAM Eye Widths (:EYE:PAM:EWIDth)
  • Oscilloscope Mode
    • No PAM Oscilloscope mode measurements are affected by this command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

More Information

  • Introduction to PAM-4 measurement in Eye mode
  • Overall PAM-4 measurement algorithm for Eye mode


:MEASure:REGions:ALIGn

Command Syntax

:MEASure:REGions:ALIGn

Description

Automatically distributes all displayed regions evenly across the entire display. No gap is placed between the regions.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Note

Measurement regions are only available in Oscilloscope Mode.

Note

The Jitterp-p and Jitterrms measurements can not be made on a measurement region.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:REGions:STATe ON
:MEASure:REGions:ALIGn


:MEASure:REGions:COUNt

Command Syntax

:MEASure:REGions:COUNt <count>

<count> is an integer from 1 to 8.

Query Syntax

:MEASure:REGions:COUNt?

Description

Established the maximum number of available measurement regions for definition, enabling, and use. Up to eight regions can be defined. The default quantity is two. To define a specific region's left and right boundaries (x-axis), use the :MEASure:REGions:REGion{1:8}:X command. To turn on all defined regions, use :MEASure:REGions:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Note

Measurement regions are only available in Oscilloscope Mode.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:REGions:COUNt 1
:MEASure:REGions:REGion1:X1 40E-12
:MEASure:REGions:REGion1:X2 100E-12
:MEASure:REGions:STATe ON


:MEASure:REGions:REGion{1:8}:X{1:2}

Command Syntax

:MEASure:REGions:REGion{1:8}:X{1:2} <time>

<time> is an double.

Query Syntax

:MEASure:REGions:REGion{1:8}:X{1:2}?

Description

Defines a specific measurement region's left and right boundaries (x-axis). The boundaries of up to eight regions can be defined, but you must first set the number of regions available using the :MEASure:REGions:COUNt command. To turn on all defined regions, use :MEASure:REGions:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Note

Measurement regions are only available in Oscilloscope Mode.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:REGions:COUNt 1
:MEASure:REGions:REGion1:X1 40E-12
:MEASure:REGions:REGion1:X2 100E-12
:MEASure:REGions:STATe ON


:MEASure:REGions:STATe

Command Syntax

:MEASure:REGions:STATe {ON | OFF | 1 | 0}

Query Syntax

:MEASure:REGions:STATe?

Query Response

{1 | 0}

Description

Enables and displays all defined measurement regions in Oscilloscope Mode. Measurement regions allow you to restrict the data used for a measurement to a specific area of the source waveform as defined by left and right X-axis limits. Up to eight measurement regions can be specified. Use the :MEASure:REGions:COUNt command to specify the number of regions. Use the :MEASure:REGions:REGion:X{1:2} command to set the x-axis boundaries for each region.

After defining one or more regions, use the :REGion child command of a specific measurement to apply a region to the measurement. For example, limit a rise-time measurement to the data within region 3, use the following command:

:MEASure:OSCilloscope:RISetime:REGion REGion3

FlexDCA Revision

Requires FlexDCA revision A.01.70 and above.

Note

Measurement regions are only available in Oscilloscope Mode.

Note

The Jitterp-p and Jitterrms measurements can not be made on a measurement region.

Example Command Sequence

:SYSTem:MODE OSCilloscope
:MEASure:REGions:COUNt 1
:MEASure:REGions:REGion1:X1 40E-12
:MEASure:REGions:REGion1:X2 100E-12
:MEASure:REGions:STATe ON
:MEASure:OSCilloscope:RISetime:SOURce CHAN1A
:MEASure:OSCilloscope:RISetime:REGion REGion1
:MEASure:OSCilloscope:RISetime
:MEASure:OSCilloscope:RISetime?


:MEASure:RESults?

Query Syntax

:MEASure:RESults?

Description

Example Script

Click here to learn about a Python script for saving the Results table to an HTML file.

In Oscilloscope, Eye/Mask, Jitter, and TDR/TDT modes, this command returns a comma separated string that includes the current results for all measurements displayed in the Results table. The returned string includes each result as a label-value pair separated by an equal sign. For example, "Name=Eye Height[Ampl]", as shown for the following results for three measurements returned from Eye Mode:

Name=Eye Height[Ampl],Source=F1,Current=4.682E-1,Min=4.682E-1,Max=4.684E-1,Count=2.3E+1,Name=Eye Width[Time],Source=1A,Current=9.902E-11,Min=9.894E-11,Max=9.916E-11,Count=2.3E+1,Name=Rise Time,Source=F1,Current=5.124E-11,Min=4.958E-11,Max=5.124E-11,Count=2.3E+1,Name=Rise Time,Source=1A,Current=2.378E-11,Min=2.378E-11,Max=2.378E-11,Count=2.3E+1

Since each value is labeled in the string, the heading row is not included in the returned string. The measurement Results data is ordered by row from top to bottom, which each row starting with the "Name=" characters. The returned string can include the following measurements:

  • In Scope Mode, Time, Amplitude, PAM, JSA/CRE, and User toolbar measurements.
  • In Eye Mod, Eye, Advanced Eye, PAM, JSA/CRE, and User toolbar measurements.
  • In Jitter/Noise Mode, Time, Amplitude, Meas, and JSA/CRE toolbar measurements. These are listed on the Jitter pane and Amplitude pane.
  • In TDR/TDT Mode, Time, Amplitude, and User toolbar measurements.

If a measurement limit test is on, the number of any failures and the waveform failures counts are also returned.

Note

Be aware that the returned string is not meant to be an exact representation of the Results table. For example,

  • Table entries that are not numerical values are often returned as a number. For example if the measurements source waveform is off, the table shows the "Current" value as "Source Off" but returns the value "Current=9.91E+37".
  • Any questionable measurement results are also returned as the value "9.91E+37".
  • Units of measurement are not returned. For example, "9.440E-11" is returned for a displayed value of "94.40 ps".

Click on the following links to query the values listed in the:

  • Marker pane
  • Histograms pane
  • Mask Test pane
  • JSA Results pane

Although the :MEASure:RESults? query does give you a quick way to return the Results table values, you can of course query the measurement results individually. For example, to return the results of an Eye Width measurement use the following Python 3.5 script. Before you run the script, view an eye diagram on the display with channel 1A.

"""
Written for Python 3.5
"""
import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
FlexDCA.timeout = 20000 # Set connection timeout to 20s
FlexDCA.read_termination = '\n'
FlexDCA.write(':ACQuire:STOP')
FlexDCA.write(':MEASure:EYE:EWIDth:SOURce CHAN1A')
FlexDCA.write(':MEASure:EYE:EWIDth')
print('Eye Width values:')
print('Source waveform: ' + FlexDCA.query(':MEASure:EYE:EWIDth:SOURce?'))
print('Current value: ' + FlexDCA.query(':MEASure:EYE:EWIDth?'))
print('Minimum value: ' + FlexDCA.query(':MEASure:EYE:EWIDth:MIN?'))
print('Maximum value: ' + FlexDCA.query(':MEASure:EYE:EWIDth:MAX?'))
print('Count: ' + FlexDCA.query(':MEASure:EYE:EWIDth:COUNt?'))
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()

FlexDCA Revision

Requires FlexDCA revision A.04.20 and above.

Example Program

For an example Python 3.5 program that returns the data and writes it into an HTML file, refer to Example 6. Return information shown in the Results table.

Example Returned String

The following example shows results for three Eye mode measurements. Line returns have been added to make the results easier to read but are not included in the returned string.

Name=Eye Width[Time],Source=1A,Current=9.434E-11,Min=9.432E-11,Max=9.456E-11,Count=2.8E+1,
Name=Eye Height[Ampl],Source=1A,Current=4.869E-1,Min=4.868E-1,Max=4.870E-1,Count=3.6E+1,
Name=Zero Level,Source=1A,Current=2.498E-1,Min=2.493E-1,Max=2.502E-1,Count=4.5E+1,


:MEASure:TBASe:METHod

Command Syntax

:MEASure:TBASe:METHod  {STANdard | UDEFined}

Query Syntax

:MEASure:TBASe:METHod?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the top and base levels to locate a waveform's lower, middle, and upper threshold levels during certain measurements.

Selects the method used to define a waveform's top and base definitions.

STANdard
Specifies that the levels be automatically determined. The top (100%) and base (0%) levels are relative or proportional to the signal amplitude. This is the default setting.
UDEFined
Allows you to enter absolute values for the top-base levels. When UDEFined is selected, use the commands shown in the following table to enter the top and base levels depending on the waveform type.
Commands Used to Enter Top and Base Levels
Waveform Type | Commands
Channels | :CHANnel{N}:UDEFined:BASe :CHANnel{N}:UDEFined:TOP
Eye Memory | :EMEMory{1:8}:UDEFined:BASe :EMEMory{1:8}:UDEFined:TOP
Waveform Memory | :WMEMory{1:8}:UDEFined:BASe :WMEMory{1:8}:UDEFined:TOP
Function | :FUNCtion{1:16}:UDEFined:BASe :FUNCtion{1:16}:UDEFined:TOP
T-Domain and S-Parameter Traces in TDR/TDT Mode | :TRACe{1:128}:UDEFined:BASe :TRACe{1:128}:UDEFined:TOP

Example Command Sequence

:MEASureTBASe:METHod UDEFined
:CHAN2B:UDEFined:BASe -125E-3
:CHAN2B:UDEFined:TOP 125E-3

  • More Information


:MEASure:TDEC:HWIDth

Command Syntax

:MEASure:TDEC:HWIDth  <unit_interval>

<unit_interval> is a double.

Query Syntax

:MEASure:TDEC:HWIDth?

Description

Sets the width of the two histograms used to configure a TDEC measurement (:MEASure:EYE:TDEC command). The default value is 0.04 UI, which is the same value used in 100GBASE-SR4. The width setting can range from 0.01 UI to 0.20 UI. This command is equivalent to the TDEC Histogram Width setting which is located in the TDEC tab of the Configure Measurements dialog box.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDEC:MNFactor

Command Syntax

:MEASure:TDEC:MNFactor  <noise_factor>

<noise_factor> is a double.

Query Syntax

:MEASure:TDEC:MNFactor?

Description

Enters the modal noise factor for the TDEC measurement (:MEASure:EYE:TDEC command). This factor represents the modal noise contributed by the fiber-optic link that is connected to the output of the optical transmitter DUT. The default setting is 1.75 x 10−2. The range of values can be from 1 x 10−6 to 5 x 10−1. This command is equivalent to the Modal Noise Factor setting which is located in the TDEC tab of the Configure Measurements dialog box.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDEC:MPNFactor

Command Syntax

:MEASure:TDEC:MPNFactor  <noise_factor>

<noise_factor> is a double.

Query Syntax

:MEASure:TDEC:MPNFactor?

Description

Enters the mode partition noise factor for the TDEC measurement (:MEASure:EYE:TDEC command). This factor represents the mode partition noise contributed by the fiber-optic link that is connected to the output of the optical transmitter DUT. The default setting is 4.0 x 10−2. The range of values can be from 1 x 10−6 to 5 x 10−1. This command is equivalent to the Mode Partition Noise Factor setting which is located in the TDEC tab of the Configure Measurements dialog box.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDEC:PRESets

Command Syntax

:MEASure:TDEC:PRESets <preset name>

<preset name> is a string.

Description

Loads a previously saved settings known as a preset for a TDEC (Transmitter and Dispersion Eye Closure) measurement. The preset configures the measurement to your saved settings. To query which presets are available for loading, use the PRESet:SELections? query. The following factory presets are provided:

  • IEEE 802.3bm (100 GbEn)
  • T11 FC-PI-6P (32xFibre Channel)

The saved settings include those made with the following sibling commands:

  • TDEC:HWIDth
  • TDEC:MNFactor
  • TDEC:MPNFactor
  • TDEC:TBER

Presets can only be saved from the measurements Setup dialog box. There is no programming command for this task.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Example Commands

:MEASure:TDEC:PRESet "IEEE 802.3bm (100 GbEn)"  //  Load a factory provided preset.
:MEASure:TDEC:PRESet "MyPreset"  //  Load your saved preset.
:MEASure:TDEC:PRESet:SELections?  //  Get list of saved presets.


:MEASure:TDEC:PRESets:SELections?

Query Syntax

:MEASure:TDEC:PRESets:SELections?

Query Response

"preset name, preset name, preset name, …"

Description

Returns a string which is a comma-separated list of all saved presets for the TDEC (Transmitter and Dispersion Eye Closure) measurement. Use the PRESet command to load one of these presets.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDEC:TBER

Command Syntax

:MEASure:TDEC:TBER  <target_BER>

<target_BER> is a double.

Query Syntax

:MEASure:TDEC:TBER?

Description

Sets the target BER for the TDEC measurement (:MEASure:EYE:TDEC command). The optical power penalty of the measured optical transmitter is based on the amount of noise that would need to be added to obtain a target BER. The default setting is 5 x 10−5 BER, which is called out for 100GBASE-SR4 which uses FEC. The range of values can be from 1 x 10−12 to 1 x 10−1. This command is equivalent to the TDEC Taget BER setting which is located in the TDEC tab of the Configure Measurements dialog box.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:DELTatime

Command Syntax

:MEASure:TDR:DELTatime

Query Syntax

:MEASure:TDR:DELTatime?

Description

Performs a Delta Time measurement on the selected waveform and shows the measurement at the top of the Results table. If the measurement listing is already shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value. Delta time is the time difference from the specified edge on source one to the specified edge on source two. Use the :EDIRection, :ENUMber, and :ETHReshold child commands to define the source waveform's edges. Sources edges can be from different displayed waveforms. Use :MEASure:TBASe:METHod to change the definition of the waveform's top and base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • :EDIRection{1:2} specifies the waveform's edge direction.
  • :ENUMber{1:2} specifies the waveform's edge number.
  • :ETHReshold{1:2} specifies the waveform's edge threshold.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

This sequence defines source one's edge number, direction, and threshold followed by source two's edge number, direction, and threshold. The delta time measurement is then started and the measurement result returned.

:SYSTem:MODE TDR
:MEASure:TDR:DELTatime:SOURce1 TRACe2
  //  Defines first measurement edge
:MEASure:TDR:DELTatime:ENUMber1 2
:MEASure:TDR:DELTatime:EDIRection1 RISing
:MEASure:TDR:DELTatime:ETHReshold1 MIDDle
  //  Defines second measurement edge
:MEASure:TDR:DELTatime:SOURce2 TRACe2
:MEASure:TDR:DELTatime:ENUMber2 3
:MEASure:TDR:DELTatime:EDIRection2 FALLing
:MEASure:TDR:DELTatime:ETHReshold2 MIDDle
  //  Perform measurement
:MEASure:TDR:DELTatime
:MEASure:TDR:DELTatime?


:MEASure:TDR:DELTatime:EDIRection{1|2}

Command Syntax

:MEASure:TDR:DELTatime:EDIRection{1:2}  {RISing | FALLing | EITHer}

Query Syntax

:MEASure:TDR:DELTatime:EDIRection?

Description

For the Delta Time measurement, specifies the waveform's edge direction used to identify the first or second measurement edge: rising, falling or either. To set the edge number, use the :TDR:DELTatime:ENUMber command. To set the edge threshold, use the :TDR:DELTatime:ETHReshold command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:DELTatime:ENUMber{1|2}

Command Syntax

:MEASure:TDR:DELTatime:ENUMber{1:2}  <edge_number>

<edge_number> is an int.

Query Syntax

:MEASure:TDR:DELTatime:ENUMber?

Description

For the Delta Time measurement, specifies the waveform's edge number to be used to identify the first or second measurement edge. To set the edge direction, use the :TDR:DELTatime:EDIRection command. To set the edge threshold, use the :TDR:DELTatime:ETHReshold command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:DELTatime:ETHReshold{1|2}

Command Syntax

:MEASure:TDR:DELTatime:ETHReshold{1:2}  {UPPer | MIDDle | LOWer}

Query Syntax

:MEASure:TDR:DELTatime:ETHReshold?

Description

For the Delta Time measurement, specifies the waveform's edge threshold to be used to identify the first or second measurement edge. To set the edge direction, use the :TDR:DELTatime:EDIRection command. To set the edge number, use the :TDR:DELTatime:ENUMber command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:DELTatime:LOCation

Query Syntax

:MEASure:TDR:DELTatime:LOCation?

Description

Returns an index for the location of the DELTatime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:DELTatime:REGion

Command Syntax

:MEASure:TDR:DELTatime:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:DELTatime:REGion?

Description

Select a time span over which the :DELTatime measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:DELTatime:SOURce TRACe4
:MEASure:TDR:DELTatime:REGion REGion1
:MEASure:TDR:DELTatime
:MEASure:TDR:DELTatime?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:DELTatime:SOURce{1|2}

Command Syntax

:MEASure:TDR:DELTatime:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:DELTatime:SOURce?

Description

The DELTatime measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:DELTatime:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:DELTatime:STATus

Query Syntax

:MEASure:TDR:DELTatime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the DELTatime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:DELTatime:STATus:REASon

Query Syntax

:MEASure:TDR:DELTatime:STATus:REASon?

Description

Returns a string that explains the reason for a failed DELTatime measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:ECAPacitance

Command Syntax

:MEASure:TDR:ECAPacitance

Query Syntax

:MEASure:TDR:ECAPacitance?

Description

Measures Excess Capacitance on a portion of the TDR time-domain waveform as shown in the following figure. The excess capacitance is returned in Farads. The waveform can be displayed on any of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

The response area over which the excess capacitance is to be measured must first be placed within a measurement region, as this measurement does not work over the entire display. Use the following commands to setup the measurement region:

  • :MEASure:REGions:STATe to turn regions on.
  • :MEASure:REGions:REGion:X to position a region on the response.
  • :MEASure:ECAPacitance:REGion. If multiple measurement regions are displayed, selects the region over which the measurement is made.
  • :MEASure:ECAPacitance:SOURce selects the TDR time-domain response on which to perform the measurement. For example, T11(Ω) or CHAN1A.
  • :MEASure:ECAPacitance:REFerence:TYPe selects the portion of the response to used as the measurement reference: left, right, nominal, or custom.
  • :MEASure:ECAPacitance:REFerence:VALue to enter a custom reference impedance.

To measure excess inductance, use the :MEASure:TDR:EINDuctance command.

Shunt capacitance is negative going. Series inductance is positive going.

Note

When measuring discontinuities on lines, whose impedance is not 50Ω, the excess reactance measurement is still valid as long as the 50Ω measurement system is connected to the non 50Ω line without using matching resistors.

Other Child Commands

  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:ECAPacitance:LOCation

Query Syntax

:MEASure:TDR:ECAPacitance:LOCation?

Description

Returns an index for the location of the ECAPacitance measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:ECAPacitance:REFerence:TYPE

Command Syntax

:MEASure:TDR:ECAPacitance:REFerence:TYPE {LEFT | RIGHt | NOMinal | CUSTom}

Query Syntax

:MEASure:TDR:ECAPacitance:REFerence:TYPE?

Description

Selects the reference impedance for the excess capacitance measurement (:MEASure:TDR:ECAPacitance).

Command Arguments
Argument | Description
LEFT | The reference impedance is located at the left side of the measurement region.
RIGHt | The reference impedance is located at right side of the measurement region.
NOMinal | The reference is set to the nominal impedance.
CUSTom | The reference impedance is set to the value entered with the :VALue sibling command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above. Revision A.04.50 is required to use the CUSTom argument.


:MEASure:TDR:ECAPacitance:REFerence:VALue

Command Syntax

:MEASure:TDR:ECAPacitance:REFerence:VALue <impedance>

<impedance> is a double with units in ohms.

Query Syntax

:MEASure:TDR:ECAPacitance:REFerence:VALue?

Description

Selects the reference impedance for the excess capacitance measurement (:MEASure:TDR:ECAPacitance). The sibling command :TYPE must be set to CUSTom before the reference value can be used in the measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:TDR:ECAPacitance:REGion

Command Syntax

:MEASure:TDR:ECAPacitance:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:ECAPacitance:REGion?

Description

Select a time span over which the :ECAPacitance measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:ECAPacitance:SOURce TRACe4
:MEASure:TDR:ECAPacitance:REGion REGion1
:MEASure:TDR:ECAPacitance
:MEASure:TDR:ECAPacitance?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:ECAPacitance:SOURce

Command Syntax

:MEASure:TDR:ECAPacitance:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:ECAPacitance:SOURce?

Description

The ECAPacitance measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:ECAPacitance:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:ECAPacitance:STATus

Query Syntax

:MEASure:TDR:ECAPacitance:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the ECAPacitance measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:ECAPacitance:STATus:REASon

Query Syntax

:MEASure:TDR:ECAPacitance:STATus:REASon?

Description

Returns a string that explains the reason for a failed ECAPacitance measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:EINDuctance

Command Syntax

:MEASure:TDR:EINDuctance

Query Syntax

:MEASure:TDR:EINDuctance?

Description

Measures Excess Inductance on a portion of the TDR time-domain waveform as shown in the following figure. The excess inductance is returned in Henrys. The waveform can be displayed on any of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

The response area over which the excess inductance is to be measured must first be placed within a measurement region, as this measurement does not work over the entire display. Use the following commands to setup the measurement region:

  • :MEASure:REGions:STATe to turn regions on.
  • :MEASure:REGions:REGion:X to position a region on the response.
  • :MEASure:EINDuctance:REGion. If multiple measurement regions are displayed, selects the region over which the measurement is made.
  • :MEASure:EINDuctance:SOURce selects the TDR time-domain response on which to perform the measurement. For example, T11(Ω) or CHAN1A.
  • :MEASure:EINDuctance:REFerence:TYPe selects the portion of the response to used as the measurement reference: left, right, nominal, or custom.
  • :MEASure:EINDuctance:REFerence:VALue to enter a custom reference impedance.

To measure excess capacitance, use the :MEASure:TDR:ECAPacitance command.

Shunt capacitance is negative going. Series inductance is positive going.

Note

When measuring discontinuities on lines, whose impedance is not 50Ω, the excess reactance measurement is still valid as long as the 50Ω measurement system is connected to the non 50Ω line without using matching resistors.

Other Child Commands

  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:EINDuctance:LOCation

Query Syntax

:MEASure:TDR:EINDuctance:LOCation?

Description

Returns an index for the location of the EINDuctance measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:EINDuctance:REFerence:TYPE

Command Syntax

:MEASure:TDR:EINDuctance:REFerence:TYPE {LEFT | RIGHt | NOMinal | CUSTom}

Query Syntax

:MEASure:TDR:EINDuctance:REFerence:TYPE?

Description

Selects the reference for the excess inductance measurement (:MEASure:TDR:EINDuctance).

Command Arguments
Argument | Description
LEFT | The reference impedance is located at the left side of the measurement region.
RIGHt | The reference impedance is located at the right side of the measurement region.
NOMinal | The reference impedance is set to the nominal impedance.
CUSTom | The reference impedance is set to the value entered with the :VALue sibling command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above. Revision A.04.50 is required to use the CUSTom argument.


:MEASure:TDR:EINDuctance:REFerence:VALue

Command Syntax

:MEASure:TDR:EINDuctance:REFerence:VALue <impedance>

<impedance> is a double with units in ohms.

Query Syntax

:MEASure:TDR:EINDuctance:REFerence:VALue?

Description

Selects the reference impedance for the excess inductance measurement (:MEASure:TDR:EINDuctance). The sibling command :TYPE must be set to CUSTom before the reference value can be used in the measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:MEASure:TDR:EINDuctance:REGion

Command Syntax

:MEASure:TDR:EINDuctance:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:EINDuctance:REGion?

Description

Select a time span over which the :EINDuctance measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:EINDuctance:SOURce TRACe4
:MEASure:TDR:EINDuctance:REGion REGion1
:MEASure:TDR:EINDuctance
:MEASure:TDR:EINDuctance?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:EINDuctance:SOURce

Command Syntax

:MEASure:TDR:EINDuctance:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:EINDuctance:SOURce?

Description

The EINDuctance measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:EINDuctance:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:EINDuctance:STATus

Query Syntax

:MEASure:TDR:EINDuctance:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the EINDuctance measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:EINDuctance:STATus:REASon

Query Syntax

:MEASure:TDR:EINDuctance:STATus:REASon?

Description

Returns a string that explains the reason for a failed EINDuctance measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:FALLtime

Command Syntax

:MEASure:TDR:FALLtime

Query Syntax

:MEASure:TDR:FALLtime?

Description

Performs a Falltime measurement on the selected waveform and shows the measurement at the top of the Results table. If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value. Falltime is the difference in time between the lower and upper threshold points. The first displayed falling edge is used for the measurement. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:FALLtime:LOCation?

Query Syntax

:MEASure:TDR:FALLtime:LOCation?

Description

Returns an index for the location of the FALLtime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:FALLtime:REGion

Command Syntax

:MEASure:TDR:FALLtime:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:FALLtime:REGion?

Description

Select a time span over which the :FALLtime measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:FALLtime:SOURce TRACe4
:MEASure:TDR:FALLtime:REGion REGion1
:MEASure:TDR:FALLtime
:MEASure:TDR:FALLtime?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:FALLtime:SOURce TRACe4
:MEASure:TDR:FALLtime:REGion REGion1
:MEASure:TDR:FALLtime
:MEASure:TDR:FALLtime?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:FALLtime:SOURce

Command Syntax

:MEASure:TDR:FALLtime:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:FALLtime:SOURce?

Description

The Falltime measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:FALLtime:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:FALLtime:STATus

Query Syntax

:MEASure:TDR:FALLtime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the FALLtime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:FALLtime:STATus:REASon?

Query Syntax

:MEASure:TDR:FALLtime:STATus:REASon?

Description

Returns a string that explains the reason for a failed FALLtime measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:LIST:CLEar

Command Syntax

:MEASure:TDR:LIST:CLEar

Description

Clears the entire active measurement list in the displayed Results table.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:LIST:CLEar

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:LIST:REMove

Command Syntax

:MEASure:TDR:LIST:REMove <index>

<index> is an int.

Description

Removes the selected measurement from the active measurement list, which is displayed in the Results table. The argument is an index number that specifies the measurement to be removed. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:TDR:FALLtime:LOCation?.

Example Command Sequence

Read the location of the falltime result in the table, send the REMove command with the returned value. In this case 2.

:SYSTem:MODE TDR
:MEASure:TDR:FALLtime:LOCation?
…
…
:MEASure:TDR:LIST:REMove 2

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:LIST:SELect

Command Syntax

:MEASure:TDR:LIST:SELect  <index>

<index> is an int.

Query Syntax

:MEASure:TDR:LIST:SELect?

Description

Selects an measurement in the active measurement list, which is displayed in the Results table. Annotations for the selected measurement are placed on the displayed waveform at the level or coordinate used to calculate the final measurement result.

The argument is an index number that specifies the measurement to select. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. To get the index value for a specific measurement, use the :LOCation? child command for the targeted measurement. For example, use :MEASure:TDR:FALLtime:LOCation?.

Example Command Sequence

Read the measurement location in the active measurement list, send the SELect command using the returned value. In this case 2.

:SYSTem:MODE TDR
:MEASure:TDR:FALLtime:LOCation?
…
…
:MEASure:TDR:LIST:SELect 2

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:RISetime

Command Syntax

:MEASure:TDR:RISetime

Query Syntax

:MEASure:TDR:RISetime?

Description

Performs a Risetime measurement on the selected waveform and shows the measurement at the top of the Results table. If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value. Risetime is the difference in time between the lower and upper threshold points. The first displayed rising edge is used for the measurement. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:RISetime:LOCation

Query Syntax

:MEASure:TDR:RISetime:LOCation?

Description

Returns an index for the location of the RISetime measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:RISetime:REGion

Command Syntax

:MEASure:TDR:RISetime:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:RISetime:REGion?

Description

Select a time span over which the :RISetime measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:RISetime:SOURce TRACe4
:MEASure:TDR:RISetime:REGion REGion1
:MEASure:TDR:RISetime
:MEASure:TDR:RISetime?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:RISetime:SOURce TRACe4
:MEASure:TDR:RISetime:REGion REGion1
:MEASure:TDR:RISetime
:MEASure:TDR:RISetime?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:RISetime:SOURce

Command Syntax

:MEASure:TDR:RISetime:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:RISetime:SOURce?

Description

The Risetime measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:RISetime:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:RISetime:STATus

Query Syntax

:MEASure:TDR:RISetime:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the RISetime measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:RISetime:STATus:REASon

Query Syntax

:MEASure:TDR:RISetime:STATus:REASon?

Description

Returns a string that explains the reason for a failed RISetime measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TEDGe

Command Syntax

:MEASure:TDR:TEDGe

Query Syntax

:MEASure:TDR:TEDGe?

Description

Performs a Time-at-Edge measurement on the selected waveform and shows the measurement at the top of the Results table. If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. Time-at-Edge is the measure of the time at which the specified waveform edge occurs on the displayed waveform. To specify the edge, use the NUMBer child command. Specify a rising or falling edge with the DIRection child command. Specify the edge threshold with the THReshold child command.

The query form of the command returns the measured value.

Child Commands

  • :DIRection specifies the edge direction.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :NUMBer specifies the edge number.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :THReshold specifies the edge threshold.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TEDGe:SOURce TRACe4
:MEASure:TDR:TEDGe:DIRection RISing
:MEASure:TDR:TEDGe:NUMBer 2
:MEASure:TDR:TEDGe:THReshold MIDDle
:MEASure:TDR:TEDGe
:MEASure:TDR:TEDGe?


:MEASure:TDR:TEDGe:DIRection

Command Syntax

:MEASure:TDR:TEDGe:DIRection  {RISing | FALLing}

Query Syntax

:MEASure:TDR:TEDGe:DIRection?

Description

For the Time-at-Edge measurement, specifies the edge direction used to identify the waveform's edge: rising or falling. To specify the edge number, use the :TDR:TEDGe:NUMBer command. To specify the edge threshold, use the :TDR:TEDGe:THReshold command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TEDGe:SOURce TRACe4
:MEASure:TDR:TEDGe:DIRection RISing
:MEASure:TDR:TEDGe:NUMBer 2
:MEASure:TDR:TEDGe:THReshold MIDDle
:MEASure:TDR:TEDGe
:MEASure:TDR:TEDGe?


:MEASure:TDR:TEDGe:LOCation

Query Syntax

:MEASure:TDR:TEDGe:LOCation?

Description

Returns an index for the location of the TEDGe measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TEDGe:NUMBer

Command Syntax

:MEASure:TDR:TEDGe:NUMBer <edge_number>

<edge_number> is an integer.

Query Syntax

:MEASure:TDR:TEDGe:NUMBer?

Description

For the Time-at-Edge measurement, specifies the edge number used to identify the waveform's edge. To specify the edge threshold, use the :TDR:TEDGe:THReshold command. To specify the edge direction, use the :TDR:TEDGe:DIRection command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TEDGe:SOURce TRACe3
:MEASure:TDR:TEDGe:DIRection RISing
:MEASure:TDR:TEDGe:NUMBer 2
:MEASure:TDR:TEDGe:THReshold MIDDle
:MEASure:TDR:TEDGe
:MEASure:TDR:TEDGe?


:MEASure:TDR:TEDGe:REGion

Command Syntax

:MEASure:TDR:TEDGe:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:TEDGe:REGion?

Description

Select a time span over which the :TEDGe measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TEDGe:SOURce TRACe4
:MEASure:TDR:TEDGe:REGion REGion1
:MEASure:TDR:TEDGe
:MEASure:TDR:TEDGe?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TEDGe:SOURce

Command Syntax

:MEASure:TDR:TEDGe:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:TEDGe:SOURce?

Description

The TEDGe measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:TEDGe:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TEDGe:STATus

Query Syntax

:MEASure:TDR:TEDGe:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TEDGe measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TEDGe:STATus:REASon

Query Syntax

:MEASure:TDR:TEDGe:STATus:REASon?

Description

Returns a string that explains the reason for a failed TEDGe measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TEDGe:THReshold

Command Syntax

:MEASure:TDR:TEDGe:THReshold  {UPPer | MIDDle | LOWer}

Query Syntax

:MEASure:TDR:TEDGe:THReshold?

Description

For the Time-at-Edge measurement, specifies the edge threshold used to identify the waveform's edge: upper, middle, or lower. To specify the edge number, use the :TDR:TEDGe:NUMBer command. To specify the edge direction, use the :TDR:TEDGe:DIRection command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TEDGe:SOURce TRACe4
:MEASure:TDR:TEDGe:DIRection RISing
:MEASure:TDR:TEDGe:NUMBer 2
:MEASure:TDR:TEDGe:THReshold MIDDle
:MEASure:TDR:TEDGe
:MEASure:TDR:TEDGe?


:MEASure:TDR:TMAXimum

Command Syntax

:MEASure:TDR:TMAXimum

Query Syntax

:MEASure:TDR:TMAXimum?

Description

Performs a Time-at-Maximum measurement on the selected waveform and shows the measurement at the top of the Results table. If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value. Time-at-Maximum is the time of the first occurrence of the absolute maximum ampliltude on the waveform, and it is position independent. Therefore, the entire displayed waveform to determine the maximum signal level.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMAXimum:LOCation

Query Syntax

:MEASure:TDR:TMAXimum:LOCation?

Description

Returns an index for the location of the TMAXimum measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMAXimum:REGion

Command Syntax

:MEASure:TDR:TMAXimum:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:TMAXimum:REGion?

Description

Select a time span over which the :TMAXimum measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TMAXimum:SOURce TRACe4
:MEASure:TDR:TMAXimum:REGion REGion1
:MEASure:TDR:TMAXimum
:MEASure:TDR:TMAXimum?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMAXimum:SOURce

Command Syntax

:MEASure:TDR:TMAXimum:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:TMAXimum:SOURce?

Description

The TMAXimum measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:TMAXimum:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMAXimum:STATus

Query Syntax

:MEASure:TDR:TMAXimum:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TMAXimum measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMAXimum:STATus:REASon

Query Syntax

:MEASure:TDR:TMAXimum:STATus:REASon?

Description

Returns a string that explains the reason for a failed TMAXimum measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMINimum

Command Syntax

:MEASure:TDR:TMINimum

Query Syntax

:MEASure:TDR:TMINimum?

Description

Performs a Time-at-Minimum measurement on the selected waveform and shows the measurement at the top of the Results table. If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value. Time-at-Minimum is the time of the first occurrence of the absolute minimum ampliltude on the waveform, and it is position independent. Therefore, the entire displayed waveform to determine the minimum signal level.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMINimum:LOCation

Query Syntax

:MEASure:TDR:TMINimum:LOCation?

Description

Returns an index for the location of the TMINimum measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMINimum:REGion

Command Syntax

:MEASure:TDR:TMINimum:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:TMINimum:REGion?

Description

Select a time span over which the :TMINimum measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TMINimum:SOURce TRACe4
:MEASure:TDR:TMINimum:REGion REGion1
:MEASure:TDR:TMINimum
:MEASure:TDR:TMINimum?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMINimum:SOURce

Command Syntax

:MEASure:TDR:TMINimum:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:TMINimum:SOURce?

Description

The TMINimum measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:TMINimum:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMINimum:STATus

Query Syntax

:MEASure:TDR:TMINimum:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TMINimum measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TMINimum:STATus:REASon

Query Syntax

:MEASure:TDR:TMINimum:STATus:REASon?

Description

Returns a string that explains the reason for a failed TMINimum measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TVOLt

Command Syntax

:MEASure:TDR:TVOLt

Query Syntax

:MEASure:TDR:TVOLt?

Description

Performs a Time-at-Amplitude measurement on the selected waveform and shows the measurement at the top of the Results table. If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. Time-at-Amplitude is the measure of the time at which the specified edge's amplitude occurs on the displayed waveform. Use the child commands EDIRection, ENUMber, and YVALue to specify the measurement location on the source waveform.

The query form of the command returns the measured value.

Use :MEASure:TBASe:METHod to change the definition of the waveform's top and base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Child Commands

  • :EDIRection specifies the edge direction.
  • :ENUMber specifies the edge number.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • :YVALue specifies the amplitude value at which to perform the measurement.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TVOLt:EDIRection

Command Syntax

:MEASure:TDR:TVOLt:EDIRection {RISing | FALLing}

Query Syntax

:MEASure:TDR:TVOLt:EDIRection?

Description

For the Time-at-Amplitude measurement, specifies the edge direction used to identify the waveform location at which to perform the measurement. The edge can be identified as rising or falling. To specify the edge number, use the :TDR:TVOLt:ENUMber command. To specify the amplitude value, use the :TDR:TVOLt:YVALue command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TVOLt:SOURce TRACe8
:MEASure:TDR:TVOLt:EDIRection RISing
:MEASure:TDR:TVOLt:ENUMber 1
:MEASure:TDR:TVOLt:YVALue 100E-03
:MEASure:TDR:TVOLt
:MEASure:TDR:TVOLt?


:MEASure:TDR:TVOLt:ENUMber

Command Syntax

:MEASure:TDR:TVOLt:ENUMber <edge_number>

<edge_number> is an integer.

Query Syntax

:MEASure:TDR:TVOLt:ENUMber?

Description

For the Time-at-Amplitude measurement, specifies the edge number used to identify the waveform location at which to perform the measurement. To specify the edge direction, use the :TDR:TVOLt:EDIRection command. To specify the amplitude value, use the :TDR:TVOLt:YVALue command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TEDGe:SOURce TRACe7
:MEASure:TDR:TEDGe:DIRection RISing
:MEASure:TDR:TEDGe:NUMBer 2
:MEASure:TDR:TEDGe:THReshold MIDDle
:MEASure:TDR:TEDGe
:MEASure:TDR:TEDGe?


:MEASure:TDR:TVOLt:LOCation

Query Syntax

:MEASure:TDR:TVOLt:LOCation?

Description

Returns an index for the location of the TVOLt measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TVOLt:REGion

Command Syntax

:MEASure:TDR:TVOLt:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:TVOLt:REGion?

Description

Select a time span over which the :TVOLt measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TVOLt:SOURce TRACe4
:MEASure:TDR:TVOLt:REGion REGion1
:MEASure:TDR:TVOLt
:MEASure:TDR:TVOLt?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TVOLt:SOURce

Command Syntax

:MEASure:TDR:TVOLt:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:TVOLt:SOURce?

Description

The TVOLt measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:TVOLt:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TVOLt:STATus

Query Syntax

:MEASure:TDR:TVOLt:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the TVOLt measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TVOLt:STATus:REASon

Query Syntax

:MEASure:TDR:TVOLt:STATus:REASon?

Description

Returns a string that explains the reason for a failed TVOLt measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:TVOLt:YVALue

Command Syntax

:MEASure:TDR:TVOLt:YVALue  <amplitude>

<amplitude> is a double.

Query Syntax

:MEASure:TDR:TVOLt:YVALue?

Description

For the Time-at-Amplitude measurement, specifies the amplitude value at which to perform the measurement. To specify the edge direction, use the :TDR:TVOLt:EDIRection command. To specify the edge number, use the :TDR:TVOLt:ENUMber command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:TVOLt:SOURce TRACe2
:MEASure:TDR:TVOLt:EDIRection RISing
:MEASure:TDR:TVOLt:ENUMber 1
:MEASure:TDR:TVOLt:YVALue 100E-03
:MEASure:TDR:TVOLt
:MEASure:TDR:TVOLt?


:MEASure:TDR:USER{1:8}

Command Syntax

:MEASure:TDR:USER{1:8}

{1:8} selects one of eight possible user measurements.

Description

Turns on the selected TDR mode user-defined measurement. The query form of the command returns the measured value. If the selected user measurement has not been created using the :CFILe child command, the value NaN (9.91E+37) is returned.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Child Commands

  • :ABBReviation? returns the abbreviated user measurement name.
  • :CFILe specifies the configuration file for an TDR mode user measurement.
  • :CFILe:CLEar removes an existing configuration file which removes a user measurement from the TDR mode User toolbar.
  • :CFILe:RELoad reloads the XML configuration file.
  • :CFLoaded? query the existence of the user measurement.
  • :COMMents? returns the comment string for the user measurement.
  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :LSTatus? queries the status of the loading of a configuration file.
  • :LSTatus:REASon? queries the reason for a failed loading of a configuration file.
  • :NAME? returns the user measurement name.
  • :REGion Selects a waveform measurement region over which to perform the user measurement.
  • :SOURce selects the input waveform for the user measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? queries the reason a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.


:MEASure:TDR:USER{1:8}:ABBReviation?

Query Syntax

:MEASure:TDR:USER{1:8}:ABBReviation?

Description

For the selected TDR mode user measurement, returns the abbreviated test name. If an XML file was used to define the test, the abbreviated test name is specified in the file's XML <Abbreviation> tag. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename. The abbreviation string is shown in the displayed Measurement results table and is limited in length to 15 characters.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:CFILe

Command Syntax

:MEASure:TDR:USER{1:8}:CFILe <filename>

<filename> is the configuration file (*.xml, *.m, *.py).

Description

Specifies the configuration file that is used to create an TDR mode user measurement. The file is an XML file that describes the measurement and points to a Matlab (*.m) or Python (*.py) script file. Refer to Creating the XML File for information on creating a user measurement XML file. A Matlab or Python script can directly be used to define the measurement, but this method lacks the power of measurement variables as described in User Defined Measurements. When an XML file is not used or the measurement's name is not defined in the XML file, the file name is used to name the measurement on the measurement button and in the displayed Measurement results table.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

To remove a user measurement, use the :MEASure:TDR:USER{1:8}:CFILe:CLEar command.

To create a TDR mode user measurement, use the :MEASure:TDR:USER:CFILe command. To create a Oscilloscope mode user measurement, use the :MEASure:OSCilloscope:USER:CFILe command.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:CFILe:CLEar

Command Syntax

:MEASure:TDR:USER{1:8}:CFILe:CLEar

Description

Removes an existing configuration file for a user measurement. This removes the measurement from TDR mode's User toolbar. A user measurement is created using the :MEASure:TDR:USER:CFILe parent command.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:CFILe:RELoad

Command Syntax

:MEASure:TDR:USER{1:8}:CFILe:RELoad

Description

Reloads the XML configuration file for the selected user-defined measurement.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:CFLoaded?

Query Syntax

:MEASure:TDR:USER{1:8}:CFLoaded?

Query Response

{1 | 0}

Description

Queries the existence of the specified user measurement. Returns a one if the measurement is defined and a zero it the measurement has not been setup.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:COMMents?

Query Syntax

:MEASure:TDR:USER{1:8}:COMMents?

Description

Returns the comment string for the selected user measurement. The comment string is defined in the measurement's XML definition file using the <Comments> tag. The comment string is limited in length to 512 characters.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:LOCation?

Query Syntax

:MEASure:TDR:USER{1:8}:LOCation?

Description

Returns an index for the location of the :MEASure:TDR:USER measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:LSTatus?

Query Syntax

MEASure:TDR:USER:LSTatus?

Description

Returns the status of the loading of the XML configuration file (:MEASure:TDR:USER:CFILe command). Use the :REASon child command to return the reason for a failed load.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:LSTatus:REASon?

Query Syntax

MEASure:TDR:USER:LSTatus:REASon?

Description

Returns the reason for a failed load of a configuration file.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:NAME?

Query Syntax

:MEASure:TDR:USER{1:8}:NAME?

Description

For the selected TDR mode user measurement, returns the measurement name that is shown on TDR mode's User measurement tab. If an XML file was used to define the test, the test name is specified in the file's XML <Name> tag. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename. The string is limited in length to 15 characters. If the measurement has not been created, an empty string is returned.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:REGion

Command Syntax

:MEASure:TDR:USER{1:8}:REGion {DISPlay | REGion{1:8}}

Description

Selects a waveform measurement region over which to perform the user measurement. This allows you to restrict the measurement over a specific portion of the waveform over the X axis. Measurement regions are available in FlexDCA's Oscilloscope and TDR/TDT modes. Use the :MEASure:REGions:STATe command to turn on an configure measurement regions.

:MEASure:FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:SOURce{1:2}

Command Syntax

:MEASure:TDR:USER{1:8}:SOURce{1:2} {CHANnel{N} | DIFF{1:8}{A|C} | FUNCtion{1:16} | WMEMory{1:8}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Selects the source waveforms on which to perform the USER measurement. If one source waveform is required, use :SOURce or :SOURce1. If two source waveforms are required, use :SOURce2. If an XML file was used to define the test, the test source waveforms are specified in the file's XML <SourceIndex> tag in combination with the Select Source dialog box when the measurement is started.

Use the :MEASure:TDR:USER parent command to turn on the measurement and return the measured value.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:STATus?

Query Syntax

:MEASure:TDR:USER{1:8}:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the :MEASure:TDR:USER measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:USER{1:8}:STATus:REASon?

Query Syntax

:MEASure:TDR:USER{1:8}:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed :MEASure:TDR:USER measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:MEASure:TDR:VAVerage

Command Syntax

:MEASure:TDR:VAVerage

Query Syntax

:MEASure:TDR:VAVerage?

Description

Performs a average amplitude measurement on the selected T-parameter waveform and shows the measurement at the top of the Results table. As shown in the example below, use the :TRACE:OPERator command to select the type of waveform content window which determines the y-axis units (volts, ohms, or percent).

The measurement is the mean value of the data sampled from the entire displayed waveform. If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value. Use :MEASure:TBASe:METHod to change the definition of the waveform's top and base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

// Create Trace 1 (T11) from DUT 1.
:TRACe1:DUT DUT1
:TRACe1:PARameter T1_1
  //  Display in OHMS, VOLTs, or PERCent content window.
:TRACe1:OPERator OHMS
:TRACe1:COLor TCOLor2
:TRACe1:DISPlay ON
:MEASure:TDR:VAVerage?


:MEASure:TDR:VAVerage:AREa

Command Syntax

:MEASure:TDR:VAVerage:AREa  {CYCLe | {DISPlay | REGion} }

Query Syntax

:MEASure:TDR:VAVerage:AREa?

Description

Configures the Vaverage measurement (:MEASure:TDR:VAVerage) data to be sampled across the entire displayed waveform (DISPlay) or a single cycle (CYCle). The DISPlay and REGion arguments are identical.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VAVerage:LOCation

Query Syntax

:MEASure:TDR:VAVerage:LOCation?

Description

Returns an index for the location of the VAVerage measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VAVerage:REGion

Command Syntax

:MEASure:TDR:VAVerage:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:VAVerage:REGion?

Description

Select a time span over which the :VAVerage measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:VAVerage:SOURce TRACe4
:MEASure:TDR:VAVerage:REGion REGion1
:MEASure:TDR:VAVerage
:MEASure:TDR:VAVerage?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VAVerage:SOURce

Command Syntax

:MEASure:TDR:VAVerage:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:VAVerage:SOURce?

Description

The VAVerage measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:VAVerage:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VAVerage:STATus

Query Syntax

:MEASure:TDR:VAVerage:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VAVerage measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VAVerage:STATus:REASon

Query Syntax

:MEASure:TDR:VAVerage:STATus:REASon?

Description

Returns a string that explains the reason for a failed VAVerage measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMAXimum

Command Syntax

:MEASure:TDR:VMAXimum

Query Syntax

:MEASure:TDR:VMAXimum?

Description

Measures the maximum voltage on the selected waveform and shows the measurement at the top of the Results table. As shown in the example below, use the :TRACE:OPERator command to select the type of waveform content window which determines the y-axis units (volts, ohms, or percent).

If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

// Create Trace 1 (T11) from DUT 1.
:TRACe1:DUT DUT1
:TRACe1:PARameter T1_1
  //  Display in OHMS, VOLTs, or PERCent content window.
:TRACe1:OPERator OHMS
:TRACe1:COLor TCOLor2
:TRACe1:DISPlay ON
:MEASure:TDR:VMAXimum?


:MEASure:TDR:VMAXimum:LOCation

Query Syntax

:MEASure:TDR:VMAXimum:LOCation?

Description

Returns an index for the location of the VMAXimum measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMAXimum:REGion

Command Syntax

:MEASure:TDR:VMAXimum:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:VMAXimum:REGion?

Description

Select a time span over which the :VMAXimum measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:VMAXimum:SOURce TRACe4
:MEASure:TDR:VMAXimum:REGion REGion1
:MEASure:TDR:VMAXimum
:MEASure:TDR:VMAXimum?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMAXimum:SOURce

Command Syntax

:MEASure:TDR:VMAXimum:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:VMAXimum:SOURce?

Description

The VMAXimum measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:VMAXimum:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMAXimum:STATus

Query Syntax

:MEASure:TDR:VMAXimum:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VMAXimum measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMAXimum:STATus:REASon

Query Syntax

:MEASure:TDR:VMAXimum:STATus:REASon?

Description

Returns a string that explains the reason for a failed VMAXimum measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMINimum

Command Syntax

:MEASure:TDR:VMINimum

Query Syntax

:MEASure:TDR:VMINimum?

Description

Measures the minimum voltage on the selected waveform and shows the measurement at the top of the Results table. As shown in the example below, use the :TRACE:OPERator command to select the type of waveform content window which determines the y-axis units (volts, ohms, or percent).

If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

Example Command Sequence

// Create Trace 1 (T11) from DUT 1.
:TRACe1:DUT DUT1
:TRACe1:PARameter T1_1
  //  Display in OHMS, VOLTs, or PERCent content window.
:TRACe1:OPERator OHMS
:TRACe1:COLor TCOLor2
:TRACe1:DISPlay ON
:MEASure:TDR:VMINimum?


:MEASure:TDR:VMINimum:LOCation

Query Syntax

:MEASure:TDR:VMINimum:LOCation?

Description

Returns an index for the location of the VMINimum measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMINimum:REGion

Command Syntax

:MEASure:TDR:VMINimum:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:VMINimum:REGion?

Description

Select a time span over which the :VMINimum measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:VTIMe:SOURce TRACe4
:MEASure:TDR:VTIMe:REGion REGion1
:MEASure:TDR:VTIMe
:MEASure:TDR:VTIMe?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMINimum:SOURce

Command Syntax

:MEASure:TDR:VMINimum:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:VMINimum:SOURce?

Description

The VMINimum measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:VMINimum:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMINimum:STATus

Query Syntax

:MEASure:TDR:VMINimum:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VMINimum measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VMINimum:STATus:REASon

Query Syntax

:MEASure:TDR:VMINimum:STATus:REASon?

Description

Returns a string that explains the reason for a failed VMINimum measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VTIMe

Command Syntax

:MEASure:TDR:VTIMe

Query Syntax

:MEASure:TDR:VTIMe?

Description

Performs a Amplitude-at-Time measurement on the selected waveform and shows the measurement at the top of the Results table. Use the :TIMe child command to specifiy the time at which to measure the amplitude. If the measurement listing is already in shown in the Results table, the listing is moved to the top of the table. To select the waveform, use the :SOURce child command. The query form of the command returns the measured value.

Child Commands

  • :LOCation? returns the index for the measurement's displayed results. The index is used to select, clear, or remove the measurement result.
  • :REGion selects a measurement region over which the measurement is made.
  • :SOURce specifies the source waveform on which to perform the measurement.
  • :STATus? queries the measurement status.
  • :STATus:REASon? query to determine why a measurement failed.
  • Information on MEAN?, MIN?, MAX?, SDEViation?, and COUNt? common measurement queries.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VTIMe:LOCation

Query Syntax

:MEASure:TDR:VTIMe:LOCation?

Description

Returns an index for the location of the VTIMe measurement results in the active measurement list. Using this information, you can select, clear, or remove measurement results from the displayed results table. If the measurement is not listed in the table, a "−1" is returned.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VTIMe:REGion

Command Syntax

:MEASure:TDR:VTIMe:REGion {DISPlay | REGion{1:8} }

Query Syntax

:MEASure:TDR:VTIMe:REGion?

Description

Select a time span over which the :VTIMe measurement is made.

DISPlay
The measurement is performed on the displayed portion of the waveform. This is the default selection.
REGion{1:8}
The measurement is performed across one of eight regions. Regions are defined using the :MEASure:REGions:STATe command.

Example Command Sequence

:SYSTem:MODE TDR
:MEASure:TDR:VTIMe:SOURce TRACe4
:MEASure:TDR:VTIMe:REGion REGion1
:MEASure:TDR:VTIMe
:MEASure:TDR:VTIMe?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VTIMe:SOURce

Command Syntax

:MEASure:TDR:VTIMe:SOURce {TRACe{1:128} | CHANnel{N} | DIFF{N} | FUNCtion{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C. For differential channels, the identifier to select from is {1:8}{A|C}. For example, 1A but not 1B.

Query Syntax

:MEASure:TDR:VTIMe:SOURce?

Description

The VTIMe measurement can be made on T-domain parameters, S-parameters, channels, differential channels, and function waveforms. A T-domain parameter or S-parameter waveform is selected by using the TRACe argument as shown in the following example. The parameter is assigned to a trace number when you create the trace using :TRACe subsystem commands.

:MEASure:TDR:VTIMe:SOURce TRACe9

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VTIMe:STATus

Query Syntax

:MEASure:TDR:VTIMe:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the VTIMe measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VTIMe:STATus:REASon

Query Syntax

:MEASure:TDR:VTIMe:STATus:REASon?

Description

Returns a string that explains the reason for a failed VTIMe measurement. Refer to the table of Possible Common :STATus:REASon? Query Responses. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:TDR:VTIMe:TIMe

Command Syntax

:MEASure:TDR:VTIMe:TIMe <seconds>

<seconds> is a double.

Query Syntax

:MEASure:TDR:VTIMe:TIMe?

Description

Specifies the time in seconds at which the TDR/TDT Amplitude-at-Time (:VTIMe) measurement is made.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:MEASure:THReshold:DISTal

Command Syntax

:MEASure:THReshold:DISTal  <amplitude>

<amplitude> is a double.

Query Syntax

:MEASure:THReshold:DISTal?

Description

Sets or queries the upper threshold-definition level. This value is used when making certain measurements with custom threshold definitions based on percent. When custom threshold definitions are based on absolute amplitude, use the :CHANnel, :EMEMory, :FUNCtion, or :WMEMory command refered to in :MEASure:THReshold:METHod.

Use the :MEASure:THReshold:METHod command to use custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on percentages.

Use the :MEASure:THReshold:MESial command to enter a middle threshold level. Use the :MEASure:THReshold:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs PERCent
:MEASure:THReshold:DISTal 9.50E+1
:MEASure:THReshold:MESial 5.0E+1
:MEASure:THReshold:PROXimal 1.50E+1

  • Learn More


:MEASure:THReshold:EREFerence

Command Syntax

:MEASure:THReshold:EREFerence {TBASe | OZERo}

Query Syntax

:MEASure:THReshold:EREFerence?

Description

Sets the reference used to when establishing custom threshold definitions.

TBASe
Selects custom levels based on Vtop (100%) and Vbase (0%). When TBASe is selected, use the :MEASure:TBase:METHod command if you want to define custom the top and base levels.
OZERo
Selects custom levels based on one and zero levels.

Note

This command is available in Eye/Mask mode only.

Example Command Sequence

:SYSTem:MODE EYE
:MEASure:THReshold:EREFerence OZERo

  • Learn More


:MEASure:THReshold:MESial

Command Syntax

:MEASure:THReshold:MESial  <amplitude>

<amplitude> is a double.

Query Syntax

:MEASure:THReshold:MESial?

Description

Sets or queries the middle threshold-definition level. This value is used when making certain measurements with custom threshold definitions based on percent. When custom threshold definitions are based on absolute amplitude, use the :CHANnel, :EMEMory, :FUNCtion, or :WMEMory command refered to in :MEASure:THReshold:METHod.

Use the :MEASure:THReshold:METHod command to use custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on percentages.

Use the :MEASure:THReshold:DISTal command to enter a upper threshold level. Use the :MEASure:THReshold:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs PERCent
:MEASure:THReshold:DISTal 9.50E+1
:MEASure:THReshold:MESial 5.0E+1
:MEASure:THReshold:PROXimal 1.50E+1

  • Learn More


:MEASure:THReshold:METHod

Command Syntax

:MEASure:THReshold:METHod  {P105090 | P205080 | UDEFined}

Query Syntax

:MEASure:THReshold:METHod?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the top and base levels to locate a waveform's lower, middle, and upper threshold levels for certain measurements.

Selects the upper, middle, and lower waveform threshold definitions using the following arguments:

P105090
Specifies levels based on 10%, 50%, and 90%.
P205080
Specifies levels based on 20%, 50%, and 80%.
UDEFined
Selects custom user definitions based on absolute amplitudes. Use the :MEASure:THReshold:UNITs command to select levels based on percentages or unit amplitudes. Use the commands listed in the following table to set the actual levels.
Commands to Enter Custom Threshold Levels
Level | Levels Based On
 | Percentage | Unit Amplitude
Upper Level | :MEASure:THReshold:DISTal | :CHANnel{N}:UDEFined:DISTal :EMEMory{1:8}:UDEFined:DISTal :WMEMory{1:8}:UDEFined:DISTal :FUNCtion{1:16}:UDEFined:DISTal
Middle Level | :MEASure:THReshold:MESial | :CHANnel{N}:UDEFined:MESial :EMEMory{1:8}:UDEFined:MESial :WMEMory{1:8}:UDEFined:MESial :FUNCtion{1:16}:UDEFined:MESial
Lower Level | :MEASure:THReshold:PROXimal | :CHANnel{N}:UDEFined:PROXimal :EMEMory{1:8}:UDEFined:PROXimal :WMEMory{1:8}:UDEFined:PROXimal :FUNCtion{1:16}:UDEFined:PROXimal

In Eye/Mask mode, use the :MEASure:THReshold:EREFerence command to establish the reference used when setting the custom threshold-definition levels.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:EMEMory2:UDEFined:DISTal 125E-3
:EMEMory2:UDEFined:MESial 0E0
:EMEMory2:UDEFined:PROXimal -125E-3

  • Learn More


:MEASure:THReshold:PROXimal

Command Syntax

:MEASure:THReshold:PROXimal  <amplitude>

<amplitude> is a double.

Query Syntax

:MEASure:THReshold:PROXimal?

Description

Sets or queries the lower threshold-definition level. This value is used when making duty cyle distortion, rise time, and fall time measurements with custom threshold definitions based on percent. When custom threshold definitions are based on absolute amplitude, use the :CHANnel, :EMEMory, :FUNCtion, or :WMEMory command refered to in :MEASure:THReshold:METHod.

Use the :MEASure:THReshold:METHod command to use custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on percentages.

Use the :MEASure:THReshold:DISTal command to enter a upper threshold level. Use the :MEASure:THReshold:MESial command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs PERCent
:MEASure:THReshold:DISTal 9.50E+1
:MEASure:THReshold:MESial 5.0E+1
:MEASure:THReshold:PROXimal 1.50E+1

  • Learn More


:MEASure:THReshold:UNITs

Command Syntax

:MEASure:THReshold:UNITs  {PERCent | UNITs}

Query Syntax

:MEASure:THReshold:UNITs?

Description

Selects custom threshold definition levels based on percentages (PERCent argument) or absolute amplitudes (UNITs argument). To apply these definitions to measurements, custom threshold definitions must first be selected using the :MEASure:THReshold:METHod command. Depending on the argument, use the commands listed in the following table to set the actual levels.

Commands to Enter Custom Threshold Levels
Level | Levels Based On
 | Percentage | Unit Amplitude
Upper Level | :MEASure:THReshold:DISTal | :CHANnel{N}:UDEFined:DISTal :EMEMory{1:8}:UDEFined:DISTal :WMEMory{1:8}:UDEFined:DISTal :FUNCtion{1:16}:UDEFined:DISTal
Middle Level | :MEASure:THReshold:MESial | :CHANnel{N}:UDEFined:MESial :EMEMory{1:8}:UDEFined:MESial :WMEMory{1:8}:UDEFined:MESial :FUNCtion{1:16}:UDEFined:MESial
Lower Level | :MEASure:THReshold:PROXimal | :CHANnel{N}:UDEFined:PROXimal :EMEMory{1:8}:UDEFined:PROXimal :WMEMory{1:8}:UDEFined:PROXimal :FUNCtion{1:16}:UDEFined:PROXimal

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:EMEMory2:UDEFined:DISTal 125E-3
:EMEMory2:UDEFined:MESial 0E0
:EMEMory2:UDEFined:PROXimal -125E-3

  • Learn More


:MEASure:EYE:DJ:RJSValue

Deprecated command

Deprecated command. For FlexDCA revision A.05.30 and above, use the :MEASure:EYE:DJ:RJSValue:EYE command instead.

Command Syntax

:MEASure:EYE:DJ:RJSValue <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:DJ:RJSValue?

Description

Enters the value of RJ used for RJ stabilization. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :MEASure:EYE:DJ:RJSTabilize command to turn on or off the use of RJ stabilization.

The following table shows that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use any of the four commands to change or query the RJ value.

Equivalent RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Equivalent RJ Value Commands

  • :MEASure:EYE:DJ:RJSValue
  • :MEASure:EYE:JN:RJSValue
  • :MEASure:EYE:RJ:RJSValue
  • :MEASure:EYE:TJ:RJSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:JN:RJSValue

Deprecated command

Deprecated command. For FlexDCA revision A.05.30 and above, use the :MEASure:EYE:JN:RJSValue:EYE command instead.

Command Syntax

:MEASure:EYE:JN:RJSValue <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:JN:RJSValue?

Description

Enters the value of RJ used for RJ stabilization. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :MEASure:EYE:JN:RJSTabilize command to turn on or off the use of RJ stabilization.

The following table shows that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use any of the four commands to change or query the RJ value.

Equivalent RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Equivalent RJ Value Commands

  • :MEASure:EYE:DJ:RJSValue
  • :MEASure:EYE:JN:RJSValue
  • :MEASure:EYE:RJ:RJSValue
  • :MEASure:EYE:TJ:RJSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:DJ:RJSValue

Deprecated command

Deprecated command. For FlexDCA revision A.05.30 and above, use the :MEASure:EYE:RJ:RJSValue:EYE command instead.

Command Syntax

:MEASure:EYE:DJ:RJSValue <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:DJ:RJSValue?

Description

Enters the value of RJ used for RJ stabilization. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :MEASure:EYE:RJ:RJSTabilize command to turn on or off the use of RJ stabilization.

The following table shows that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use any of the four commands to change or query the RJ value.

Equivalent RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Equivalent RJ Value Commands

  • :MEASure:EYE:DJ:RJSValue
  • :MEASure:EYE:JN:RJSValue
  • :MEASure:EYE:RJ:RJSValue
  • :MEASure:EYE:TJ:RJSValue

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:EYE:TJ:RJSValue

Deprecated command

Deprecated command. For FlexDCA revision A.05.30 and above, use the :MEASure:EYE:TJ:RJSValue:EYE command instead.

Command Syntax

:MEASure:EYE:TJ:RJSValue <random_jitter>

<random_jitter> is a double.

Query Syntax

:MEASure:EYE:TJ:RJSValue?

Description

Enters the value of RJ used for RJ stabilization. To measure the RJ, switch the 86100D to Jitter Mode and measure the RJ while using a signal that has a short pattern. Or, measure the RJ using a separate instrument, such as a spectrum analyzer. Use the :MEASure:EYE:TJ:RJSTabilize command to turn on or off the use of RJ stabilization.

The following table shows that the eye mode DJ, Jn, RJ, and TJ measurements each have RJSTabilize and RJSValue child commands. Because the RJSTabilize commands control the same setting, you can use any of the four commands to turn RJ stabilization on or off. Also, because the RJSValue commands enter or query the same variable, you can use any of the four commands to change or query the RJ value.

Equivalent RJ Stabilization (On / Off) Commands

  • :MEASure:EYE:DJ:RJSTabilize
  • :MEASure:EYE:JN:RJSTabilize
  • :MEASure:EYE:RJ:RJSTabilize
  • :MEASure:EYE:TJ:RJSTabilize

Equivalent RJ Value Commands

  • :MEASure:EYE:DJ:RJSValue
  • :MEASure:EYE:JN:RJSValue
  • :MEASure:EYE:RJ:RJSValue
  • :MEASure:EYE:TJ:RJSValue

Requires Option 401, Advanced Eye Analysis Software license.

FlexDCA Revision

Requires FlexDCA revision A.02.50 and above.

  • Learn about listing measurements in the table


:MEASure:MARKer:IXDelta?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:IXDelta?

This command supports the STATus? and STATus:REASon? common child commands.

Description

Queries the reciprocal of the difference in time between any two X-axis markers (1/ΔX): X1 manual marker, X2 manual marker, waveform tracking markers X1/Y1, or waveform tracking markers X2/Y2. The two markers can have different source waveforms. To turn on an X manual marker, use the :MARKer:X<N>:STATe command. To turn on a waveform tracking marker, use the :MARKer:Y<N>:STATe command.

Child Commands

:STATus? queries the measurement status.

:STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:MARKer:X1:SOURce CHAN2A
:MARKer:X2:SOURce CHAN2B
  //  Marker 1 turned on as a manual marker
:MARKer:X1:STATe MANual
  //  Marker 2 turned on as a waveform tracking marker
:MARKer:Y2:STATe TRAC
…
…
:MEASure:MARKer:IXDelta?


:MEASure:MARKer:IXDelta:STATus?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:IXDelta:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the IXDelta measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MARKer:IXDelta:STATus:REASon?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:IXDelta:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed IXDelta measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MARKer:XDELta?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:XDELta?

This command supports the STATus? and STATus:REASon? common child commands.

Description

Queries the difference in time between any two X-axis markers: X1 manual marker, X2 manual marker, waveform tracking markers X1/Y1, or waveform tracking markers X2/Y2. The two markers can have different source waveforms. To turn on an X manual marker, use the :MARKer:X<N>:STATe command. To turn on a waveform tracking marker, use the :MARKer:Y<N>:STATe command.

Child Commands

:STATus? queries the measurement status.

:STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:MARKer:X1:SOURce CHAN2A
:MARKer:X2:SOURce CHAN2B
  //  Marker 1 turned on as a manual marker
:MARKer:X1:STATe MANual
  //  Marker 2 turned on as a waveform tracking marker
:MARKer:Y2:STATe TRAC
…
…
:MEASure:MARKer:XDELta?


:MEASure:MARKer:XDELta:STATus?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:XDELta:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the XDELta measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MARKer:XDELta:STATus:REASon?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:XDELta:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed XDELta measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


:MEASure:MARKer:YDELta?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:YDELta?

This command supports the STATus? and STATus:REASon? common child commands.

Description

Queries the difference in amplitude between any two Y-axis markers: Y1 manual marker, Y2 manual marker, waveform tracking markers X1/Y1, or waveform tracking markers X2/Y2. The two markers can have different source waveforms. To turn on a Y manual marker or a waveform tracking marker, use the :MARKer:Y<N>:STATe command.

Child Commands

:STATus? queries the measurement status.

:STATus:REASon? query to determine why a measurement failed.

Example Command Sequence

:MARKer:Y1:SOURce CHAN2A
:MARKer:Y2:SOURce CHAN2B
:MARKer:Y1:STATe MANual
:MARKer:Y2:STATe MANual
…
…
:MEASure:MARKer:YDELta?


:MEASure:MARKer:YDELta:STATus?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:YDELta:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid.
QUES
The measurement result is questionable.

Description

Queries the status of the YDELta measurement. Use the STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


:MEASure:MARKer:YDELta:STATus:REASon?

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Query Syntax

:MEASure:MARKer:YDELta:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed YDELta measurement. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


Common Queries for Statistical Measurement Results

Description

This topic describes the queries used to return the measured value of common statistical measurement results and to query the validity of those values. These results are displayed in the Results table, but you may need to expand the table to its full width to be able to see them. Common statistical queries include :COUNt?, :MAXimum?, :MEAN?, :MINimum?, and :SDEViation?. Depending on the particular measurements, the results can be affected by the settings in the Configure Measurements dialog box:

  • Top-Base Definition
  • Threshold Definition
  • Eye Boundary Definition

The common child commands and queries are available for all oscilloscope, eye, and jitter/noise measurements. To return the current measurement resule (listed as Current in the table) use the parent command. For example, use :OSCilloscope:RISetime?, which returns the value for the last waveform acquisition.

Note

Before these values can be displayed in the results table, the table must be configured in full width mode.

Query Syntax

The following commands are examples of a common queries:

:MEASure:OSCilloscope:RISetime:MAXimum?
:MEASure:OSCilloscope:RISetime:MAXimum:STATus?
:MEASure:OSCilloscope:RISetime:MAXimum:STATus:REASon?

The Common Queries

If smoothing is turned on (:ACQure:SMOothing), the Current, Mean, Minimum, Maximum, and standard deviation (Std Dev) measurements are an average of all previous waveform or pattern acquisitions and are not available until the terminal acquisition Count has been reached (:ACQuire:ECOunt). For example, in 16-count smoothing, the mean measurement is reported after the first 16 acquisitions have completed and the displayed Count value is then incremented from 0 to 1. Each subsequent acquisition increments the Count value.

MEAN?
Returns the Mean measurement. It is calculated over the number of waveform acquisitions returned by the COUNt? query.
MIN?
Returns the Minimum measurement. It is calculated over the number of waveform acquisitions returned by the COUNt? query.
MAX?
Returns the Maximum measurement. It is calculated over the number of waveform acquisitions returned by the COUNt? query.
SDEViation?
Returns the standard diviation (Std Dev) measurement, which is only displayed in the result table for Oscilloscope Mode measurements. It is calculated over the number of waveform acquisitions returned by the COUNt? query.
COUNt?
Returns the number of waveform acquisitions (Count) that have occurred for the parent measurement.
STATus?
Queries the status of the measurement. This common child query has its own help topic.
STATus? Query Response
Response | Description
CORR | The measurement result is correct.
INV | The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES | The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.
STATus:REASon?
Queries the explanation why the STATus? child query indicates an unsuccessful measurement. Refer to the table "Possible Common :STATus:REASon? Query Responses". If the STATus? child query indicates a successful measurement, STATus:REASon? returns a null string.

  • Common Child Commands


Common :STATus? Query for Statistical Measurements

Query Syntax

:STATus?

Query Response

{CORR | INV | QUES}
CORR
The measurement result is correct.
INV
The measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result.
QUES
The measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.

Description

Queries the status of the common statistical measurement results. Use the :STATus:REASon? child query to determine the reason for a invalid or questionable measurement.


Common :STATus:REASon? Query for Statistical Measurements

Query Syntax

:STATus:REASon?

Query Response

Refer to the table "Possible Common :STATus:REASon? Query Responses".

Description

Returns a string that explains the reason for a failed common statistical measurement results. If the measurement was successful, a null string is returned. Use the STATus? query to determine if the measurement has failed.


Introduction to :MTESt Subsystem

The Mask Test (MTESt) subsystem commands and queries control Eye/Mask Mode's mask testing. To query mask test results, use the MEASure subsystem's :MTESt commands.

  • Learn More
  • Programming Home

Commands

  • ALIGnment:X
  • ALIGnment:X:METHod
  • ALIGnment:Y
  • ALIGnment:Y:METHod
  • AOPTimize
  • DISPlay
  • LOAD
  • LOAD:FNAMe
  • MARGin:AUTo:HITs
  • MARGin:AUTo:HRATio
  • MARGin:AUTo:METHod
  • MARGin:METHod
  • MARGin:PERCent
  • MARGin:STATe
  • MLOaded?
  • MODified?
  • SOURce
  • TITLe?
  • X{1|2}
  • XDELta
  • Y1, Y2
  • YTRack

Deprecated Commands

  • AMEThod (deprecated A.03.00)
  • SMODe (deprecated A.03.00)
  • YALign (deprecated A.03.00)


Introduction to :MTESt Subsystem (continued)

Example Script

Click here to learn about a Python script that runs a mask test.

Mask testing compares waveforms with the boundaries of a mask. Any portion of a waveform (sample) that falls within the boundaries of the mask or mask margin is recorded as a failure. Many standard masks, defined according to telecom and datacom standards, are available for use. Or, you can create your own masks. Use the :MTESt:LOAD command to load a mask file. Mask files have the .mskx or .msk extensions.

Up to 16 eye mask tests can be running at the same time. When multiple tests are running, use the :DISPlay:TMASk command to select which eye mask test results are display in the Mask Test results table. Masks are numbered in the order that they are created.

Example of a Mask with Margins Applied

A specific testing database is used for mask testing which is a different memory area than the waveform record for each channel. The database is 521 points high by 751 points wide and is used for histograms, mask testing, and color grade-gray scale displays. Behind each database point is a counter which is incremented each time a pixel is hit by data from a displayed waveform, color-grade memory, or function. The maximum count (saturation) for each counter is unlikely to occur as it is greater than 2 giga-hits. You can query the peak (highest) number of hits recorded by any of the database counters using the :MEASure:CGRade:PEAK? query.

The database continues to build until FlexDCA stops acquiring data or the source is turned off. Data acquisition stops when the power is cycled, the :ACQuire:STOP or :ACQuire:SINGle commands are issued, after a specified number of waveforms or samples are acquired, or as another module is plugged in. You can clear the database by sending the :ACQuire:CDISplay command, cycling the power, or turning off the source.

To avoid erroneous data, clear the display after you change setup conditions or device under test (DUT) conditions and acquire new data before extracting measurement results.

Example Command Sequence

This sequence of commands sets up a mask test with an waveform acquisition limit test to capture 200 waveforms from an optical channel. A complete example of this code is located in the supplied example programs.

*CLS
:SYSTem:DEFault
*OPC?
…  //  Your code to synchronize execution timing.
:TRIGger:SOURce FPANel
:CHANnel3A:WAVelength WAVelength2
:CHANnel3A:FSELect FILTer2
:CHANnel3A:FILTer ON
:ACQ:RUN
:SYSTem:MODE EYE    //  Select Eye/Mask Mode and Autoscale
:SYSTem:AUToscale
*OPC?
…  //  Your code to synchronize execution timing.
:MTESt2:LOAD:FNAMe "C:\Program Files\Keysight\FlexDCA\Demo\Masks\SONET_SDH\002.48832 - STM016_OC48.mskx"    //  Define and Load Mask
:MTESt2:LOAD
:ACQuire:CDISplay    //  Setup Acquisition Limit and acquire data
:LTESt:ACQuire:CTYPe:WAVeforms 200
:LTESt:ACQuire:STATe ON
:ACQuire:RUN
*OPC?
…  //  Your code to synchronize execution timing.
:MTESt2:MARGin:STATe ON    //  Setup Mask Margin
:MTESt2:MARGin:METHod AUTO
:MTESt2:MARGin:AUTO:METHod HRATio
:MTESt2:MARGin:AUTO:HRATio 5e-5
:MEASure:MTESt2:HREGion1?    //  Query Mask Test Result
…  //  Your code to read measurement result.
:MEASure:MTESt2:HREGion2?
…  //  Your code to read measurement result.
:MEASure:MTESt2:HREGion3?
…  //  Your code to read measurement result.
:MEASure:MTESt2:MARgin?
…  //  Your code to read measurement result.
:MEASure:EYE:ERATio
:MEASure:EYE:ERATio?    //  Query Measurement Results
…  //  Your code to read measurement result.
:MEASure:EYE:APOWer
:MEASure:EYE:APOWer?
…  //  Your code to read measurement result.
:MEASure:EYE:AMPLitude
:MEASure:EYE:AMPLitude?
…  //  Your code to read measurement result.
:MEASure:EYE:RISetime
:MEASure:EYE:RISetime?
…  //  Your code to read measurement result.
:MEASure:EYE:FALLtime
:MEASure:EYE:FALLtime?
…  //  Your code to read measurement result.
:LTESt:ACQuire:STATe OFF    //  Turn off Acquisition Limit

More Information

  • Programming Home
  • Subsystem Home
  • Creating Masks
  • From the Front Panel


:MTESt{1:16}:ALIGnment:X

Command Syntax

:MTESt{1:16}:ALIGnment:X {AUTomatic | MANual}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:ALIGnment:X?

Description

Selects automatic or manual horizontal alignment of the selected mask to the eye diagram. If MANual is selected, use the following commands to scale the mask:

  • :MTESt:ALIGnment:X:METHod
  • :MTESt:X
  • :MTESt:XDELta

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MTESt{1:16}:ALIGnment:X:METHod

Command Syntax

:MTESt{1:16}:ALIGnment:X:METHod {NRZeye | ECMean}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:ALIGnment:X:METHod?

Description

Determines how a mask is aligned to an eye diagram. When designing masks, alignment can be specified in a specific mask file by embedding the MaskAlignMethod element in the setup block at the end of the mask file. Use the :MTESt:ALIGnment:X command to select automatic or manual mask scaling.

NRZeye
Aligns the mask reference point to the first displayed eye crossing for NRZ measurements. This is the default method.
ECMean
Aligns the mask reference point to the eye crossing mean of the rise and fall time at waveform's average power at the first eye crossing point for NRZ eye measurements. This is currently applicable to 10 GbEthernet masks.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MTESt{1:16}:ALIGnment:Y

Command Syntax

:MTESt{1:16}:ALIGnment:Y {AUTomatic | MANual}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:ALIGnment:Y?

Description

Selects automatic or manual vertical alignment of the selected mask to the eye diagram. If MANual is selected, use the following commands to scale the mask:

  • :MTESt:ALIGnment:Y:METHod
  • :MTESt:Y
  • :MTESt:YTRack

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MTESt{1:16}:ALIGnment:Y:METHod

Command Syntax

:MTESt{1:16}:ALIGnment:Y:METHod {DISPlay | EWINdow}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:ALIGnment:Y:METHod?

Description

Specifies the method used to align the mask's Y-axis. It ensures that the mask will be properly adjusted on the display. Alignment mode needs to be specified for optical NRZ masks. Use the :MTESt:ALIGnment:Y command to select automatic or manual mask scaling.

DISPlay
Aligns the mask's Y axis using the Vbase and Vtop of the eye diagram. This can be used for all mask tests.
EWINdow
Align the Y axis to the eye boundaries (one and zero logic levels). This argument applies to optical NRZ mask. It is typically used to align 10 GB Ethernet masks. This alignment mode does not apply to fixed-voltage masks. Use :MEASure:EBOundary:LEFT and :MEASure:EBOundary:RIGHt to set the eye boundaries.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:MTESt{1:16}:AOPTimize

Command Syntax

:MTESt{1:16}:AOPTimize {ON | OFF | 1 | 0}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:AOPTimize?

Query Response

{1 | 0}

Description

Enables or disables optimization of the placement of the center mask region during mask alignment. Mask are automatically aligned whenever they are loaded using the :MTESt:LOAD command. When optimization is turned on, the center region (Region 1) is offset along the X-axis to achieve the best mask test margin when mask alignment is performed. The amount of offset is in the range of ±25% of the unit interval. By default, optimization is off. When designing masks, optimization may be defined in a specific mask file by embedding the MaskAlignmentOptimize element in the setup block at the end of the mask file.

Note

Not all mask test standards allow optimization. Optimization is enabled in mask files provided by Keysight Technologies as allowed by relevant standards. To ensure conformance, consult appropriate standards documents before enabling optimization.


:MTESt{1:16}:DISPlay

Command Syntax

:MTESt{1:16}:DISPlay {ON | OFF | 1 | 0}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:DISPlay?

Query Response

{1 | 0}

Description

Turns the mask testing on or off. When a mask is loaded (:MTESt:LOAD), the mask is automatically displayed. When a mask is turned off, the mask remains loaded in FlexDCA and you can simply display the mask again without having to re-load it. Performing a default setup (:SYSTem:DEFault) unloads the mask.

Example Command Sequence

:MTESt2:LOAD:FNAMe "009.95328 - 10GbE_9_953_May02.mskx"
:MTESt2:LOAD
…
…
:MTESt2:DISPlay OFF
…
…
:MTESt2:DISPlay ON


:MTESt{1:16}:LOAD

Command Syntax

:MTESt{1:16}:LOAD

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Example Script

Click here to learn about a Python script that runs a mask test.

Loads the mask file specified with the :MTESt:LOAD:FNAMe command. When a mask is loaded, it is automatically displayed and mask testing immediately begins. There is no query form of this command. To turn mask testing off, use the :MTESt:DISPlay OFF command.

Up to 16 eye mask tests can be running at the same time. When multiple tests are running, use the :DISPlay:TMASk command to select which eye mask test results are displayed in the Mask Test results table. Masks are numbered in the order that they are created.

Note

Be sure to back up your user files to prevent accidental loss of important data.

Note

After a mask is loaded, it remains loaded until you perform a default setup or load a different mask. This feature allows you to load a mask only one time if testing multiple devices against the same mask.

Note

Any change to the waveform setup resets the measurement database and starts the acquisition of new data. The mask test also stops and restarts with the waveform and mask hits counts reset to zero. Changing a channel's vertical scale, vertical offset, horizontal position, horizontal scale, and filter status (on or off), trigger settings, or performing an Auto Scale will also reset the measurement database.


:MTESt{1:16}:LOAD:FNAMe

Command Syntax

:MTESt{1:16}:LOAD:FNAMe "filename"

"filename" is a string. This command supports the DEFault common child command.

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:LOAD:FNAMe?

Description

XML FILE FORMAT

FlexDCA mask files (*.mskx) are XML files, which are a different format than 86100D mask files (*.msk). FlexDCA can read and load .msk files, but cannot convert these files to the new .mskx format.

Selects a mask file (extension .mskx or .msk) to load using the :MTESt:LOAD parent command. The following figures show the default location for mask files. Mask file sub-folders are provided that group the mask according to the standards. This is shown in the right-most picture. The available mask files that are also provided in the FlexDCA applications installation folder, although this folder is not available for storing user files, but mask files can be copied from this folder. On the 86100D, files are located in the the D:\User Files\Masks folder.

On the 86100D, standard masks, the instrument application, and the operating system are located on the C: drive. As a result, keep all of your files on the D: drive and avoid making modifications to the files or folders on the C: drive.

File Locations

Learn about user-file folders and path substitution variables for remote programming commands.

File Locations on 86100D

File Locations Shortcuts on PC

Example Command Sequence

Loading a mask using the FlexDCA install path on an 86100D.

:MTESt2:LOAD:FNAMe "C:\Program Files\Keysight\FlexDCA\Demo\Masks\SONET_SDH\002.48832 - STM016_OC48.mskx"
:MTESt2:LOAD

Loading a mask using the user shorcut path on an 86100D.

:MTESt2:LOAD:FNAMe "C:\User Files\Masks\SONET_SDH\002.48832 - STM016_OC48.mskx"
:MTESt2:LOAD

Loading a mask using the FlexDCA install path on a Windows 7 PC.

:MTESt2:LOAD:FNAMe "C:\Program Files (x86)\Keysight\FlexDCA\Demo\Masks\SONET_SDH\002.48832 - STM016_OC48.mskx"
:MTESt2:LOAD

Loading a mask using the Libraies shorcut path on a Windows 7 PC.

:MTESt2:LOAD:FNAMe "C:\Users\<user_name>\Documents\Keysight\FlexDCA\Masks\SONET_SDH\002.48832 - STM016_OC48.mskx"
:MTESt2:LOAD


:MTESt{1:16}:MARGin:AUTo:HITs

Command Syntax

:MTESt{1:16}:MARGin:AUTo:HITs <hits>

<hits> is an integer.

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:MARGin:AUTo:HITs?

Description

Automatically sets the margin size based on a target hit count. The margin is sized so that:

Automatic margin sizing can also be based on a hit ratio as determined by the :MTESt:MARGin:AUTo:METHod command.

Example Command Sequence

:MTESt3:MARGin:METHod AUTO
:MTESt3:MARGin:AUTo:METHod HITS
:MTESt3:MARGin:AUTo:HITs 10
:MTESt3:MARGin:STATe ON
:MTESt3:LOAD:FNAMe "009.95328 - 10GbE_9_953_May02.mskx"
:MTESt3:LOAD


:MTESt{1:16}:MARGin:AUTo:HRATio

Command Syntax

:MTESt{1:16}:MARGin:AUTo:HRATio <ratio>

<ratio> is a double.

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Description

Automatically sizes the mask margin to be based on the target hit ratio. Typically this is 5.0E−5 (allows 1 violation in every 20000 samples). In the displayed Mask Test results table, a hit ratio confidence value (+/-) is displayed above the Hit Ratio. This value shows the confidence that the actual hit ratio of the signal is less than or equal to the target hit ratio. Use Hit Ratio based mask testing with measurement limit testing (based on percent uncertainty) to reduce test times while increasing test repeatability. This is especially important in testing high-volume optical transceivers. Automatic margin sizing can also be based on a hit count as determined by the :MTESt:MARGin:AUTo:METHod command.

  • An explanation of how Hit Ratio mask testing works

Use the following procedure to set up your testing.

  1. Load a mask.
  2. Select automatic margins based on hit ratio.
  3. Configure a measurement limit test based on margin uncertainty for the given hit ratio. Set the Lower Limit and Upper Limit to set the percentage range of margin uncertainty that you want to stop the mask margin testing. For example, ±3%. When the uncertainty drops within this limit, the testing stops.
  4. Stop data acquisition, clear the display, and run the test.

Example Command Sequence

:MTESt2:LOAD:FNAMe "C:\Program Files (x86)\Keysight\FlexDCA\Demo\Masks\SONET_SDH\009.95328 - STM064_OC192.mskx"
:MTESt2:LOAD
:MTESt2:MARGin:METHod AUTO
:MTESt2:MARGin:AUTo:METHod HRATio
:MTESt2:MARGin:AUTo:HRATio 5.0E-5
:MTESt2:MARGin:STATe ON


:MTESt{1:16}:MARGin:AUTo:METHod

Command Syntax

:MTESt{1:16}:MARGin:AUTo:METHod {HITS | HRATio}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:MARGin:AUTo:METHod?

Description

Selects that automatic configuration of the margin size is to be based on a target hit count (HITS) or target hit ratio (HRATio). Automatic mask margin configuration must first be enabled using the :MTESt:MARGin:METHod command.

Example Command Sequence

:MTESt2:MARGin:METHod AUTO
:MTESt2:MARGin:AUTo:METHod HITS
:MTESt2:MARGin:AUTo:HITs 10
:MTESt2:MARGin:STATe ON
:MTESt2:LOAD:FNAMe "009.95328 - 10GbE_9_953_May02.mskx"
:MTESt2:LOAD


:MTESt{1:16}:MARGin:METHod

Command Syntax

:MTESt{1:16}:MARGin:METHod {MANual | AUTO}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:MARGin:METHod?

Description

Selects the the manual or automatic method of setting the margin size.

MANual
Selects manual margin configuration where the margin size is configured as a percentage of the mask. Use the :MTESt:MARGin:PERCent command to enter the margin size as a percentage of the mask.
AUTO
Selects automatic margin configuration where the margin size is configured based on a target hit count or target hit ratio. Use the :MTESt:MARGin:AUTo:METHod command to select between hit count or hit ratio.


:MTESt{1:16}:MARGin:PERCent

Command Syntax

:MTESt{1:16}:MARGin:PERCent <percent_margin>

<percent_margin> is a double.

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:MARGin:PERCent?

Description

Sets the amount of mask margin to apply to the selected mask. The margin is expressed as a percentage (−100 to +100). Manual margin configuration must first be selected using the :MTESt:MARGin:METHod. Negative mask margins encroach on the area of the standard mask. Positive mask margins expand the area of the mask. Margin percent can also be queried from the Mask Tests results table using :MEASure:MTESt:MARGin?.

Example Command Sequence

:MTESt2:MARGin:METHod MANual
:MTESt2:MARGin:PERCent 100
:MTESt2:MARGin:STATe ON
:MTESt2:LOAD:FNAMe "009.95328 - 10GbE_9_953_May02.mskx"
:MTESt2:LOAD


:MTESt{1:16}:MARGin:STATe

Command Syntax

:MTESt{1:16}:MARGin:STATe {ON | OFF | 1 | 0}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:MARGin:STATe?

Query Response

{1 | 0}

Description

Turns the compliance margins for a mask on or off. Use the :MTESt:MARGin:METHod command to select automatic or manual determination of margin size.


:MTESt{1:16}:MLOaded?

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:MLOaded?

Description

Queries whether a mask has been loaded. Masks are loaded using the :MTESt:LOAD command. When mask testing is turned off using the :MTESt:DISPlay OFF command, the mask is still loaded in FlexDCA and this query returns true.


:MTESt{1:16}:MODified?

Query Syntax

:MTESt{1:16}:MODified?

Description

Queries whether mask scaling or position have been modified. Returns true if altered or false if not.


:MTESt{1:16}:SOURce

Command Syntax

:MTESt{1:16}:SOURce {CHANnel{M} | CGMemory{1:8} | FUNCtion{1:16}}

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

{M} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:MTESt{1:16}:SOURce?

Description

Selects the source waveform when more than one source is displayed.


:MTESt{1:16}:TITLe?

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:TITLe?

This query supports the DEFault common child command.

Description

Returns the title of the mask, which is a string contained in the mask file. A mask file may not include a title.


:MTESt{1:16}:X1

Command Syntax

:MTESt{1:16}:X1 <time>

<time> is a double.

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:X{1|2}?

Description

Sets the position of the mask's left edge in time. If not specified in the mask file, the position is automatically set to the first eye crossing time. Changing the position value from a value specified in a mask disables the mask's alignment method (:MTESt:ALIGnment:X:METHod). Use the delta time command, :MTESt:XDELta, to set the mask's right edge (inverse of the data rate), if this value is not specified in the mask file. By default, the mask's right edge is located at the second eye-crossing time. This establishes the absolute shape of the mask width. Every standard mask has a predefined absolute width. These values can be specified in the mask file to any allowable time value.

This command defines where X=0 is located in the base coordinate system used for mask testing. The other X coordinate is defined by the :MTESt:XDELta command. Once the X1 and XDELta coordinates are set, all X values of vertices in region masks are defined with respect to this value, according to the equation:

X = (X)(XDELta) + X1

Thus, if you set X1 to 100 µs, and XDELta to 100 µs, an X value of .100 in a vertex is at 110 µs. FlexDCA uses this equation to normalize vertex values. This simplifies reprogramming to handle different data rates. For example, if you halve the period of the waveform of interest, you need only to adjust the XDELta value to set up the mask for the new waveform. The argument is a time value specifying the location of the X1 coordinate, which will then be treated as X=0 for region vertex coordinates.

The X1? query returns the mask's left edge in time (X1 marker). The X2? query returns the mask's right edge in time (X2 marker).


:MTESt{1:16}:XDELta

Command Syntax

:MTESt{1:16}:XDELta <time>

<time> is a double.

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:XDELta?

Description

Sets the time difference between the mask's left edge (X1 marker) and right edge (X2 marker). In the mask test coordinate system, the X1 marker defines where X=0; thus, the X2 marker defines where X=1. Because all X vertices of regions defined for mask testing are normalized with respect to X1 and XDELta, redefining XDELta also moves those vertices to stay in the same locations with respect to X1 and XDELta. Thus, in many applications, it is best if you define XDELta as a pulse width or bit period. Then a change in data rate, without corresponding changes in the waveform, can easily be handled by changing XDELta. The X-coordinate of region vertices are normalized using the equation:

X = (X)(XDELta) + X1


:MTESt{1:16}:Y{1:2}

Command Syntax

:MTESt{1:16}:Y{1:2} <amplitude>

<amplitude> is a double.

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:Y{1:2}?

Description

Adjusts the Y-axis scaling of logic level one (:MTESt:Y2) and logic level zero (:MTESt:Y1). Use the :MTESt:YTRack command to apply logic-level tracking. The :Y1 version of this command defines where Y=0 (logic 0 level) in the coordinate system for mask testing and :Y2 defines where Y=1 (logic 1 level). All Y values of vertices in the coordinate system are defined with respect to the boundaries set by :Y1 and :Y2, according to the equation:

Y = (Y (Y2 − Y1)) + Y1

Thus, if you set Y1 to 100 mV, and Y2 to 1V, a Y value of .100 in a vertex is at 190 mV. The command argument is a voltage value specifying the point at which Y equals zero.


:MTESt{1:16}:YTRack

Command Syntax

:MTESt{1:16}:YTRack {ON | OFF | 1 | 0}

{1:16} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{1:16}:YTRack?

Query Response

{1 | 0}

Description

Turns logic-level tracking on or off, which affects the masks Y-axis scaling and position. Use the :MTESt:Y2 command to adjust logic-level one. Use the :MTESt:Y1 command to adjust logic-level zero. Changing a logic-level from the default value specified in the mask sets the mask scale mode selection to X-axis only (:MTESt:SMODe XONLy).

ON
Logic level tracking is enabled and the logic levels track each other, allowing you to manually move the mask up and down on the display. For example, if you adjust the logic 1 level by 5 mW, the logic 0 level will also move by 5 mW.
OFF
You can independently scale the mask to logic level one and zero.


:MTESt{N}:AMEThod

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above. Use :MTESt:ALIGnment:X:METHod instead.

Command Syntax

:MTESt{N}:AMEThod  {NRZeye | ECMean | NONE}

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{N}:AMEThod?

Description

Determines how a mask is aligned to an eye diagram. When designing masks, alignment can be specified in a specific mask file by embedding the MaskAlignMethod element in the setup block at the end of the mask file.

NRZeye
Aligns the mask reference point to the first displayed eye crossing for NRZ measurements. This is the default method.
ECMean
Aligns the mask reference point to the eye crossing mean of the rise and fall time at waveform's average power at the first eye crossing point for NRZ eye measurements. This is currently applicable to 10 GbEthernet masks.
NONE
The mask is not aligned.


:MTESt{N}:SMODe

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above.

Command Syntax

:MTESt{N}:SMODe  {XANDY | XONLy}

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{N}:SMODe?

Description

Sets the mode for scaling the mask's X and Y axis ensuring that the mask will be properly loaded and adjusted on the screen.

XANDY
Specifies that both axis are scaled when the mask is loaded and aligned. The time value reference point (X) and vertical scaling points (Y) are adjusted. This parameter applies to all non-fixed voltage masks.
XONLy
Specifies that only the X-axes is scaled. This argument is designed for use on fixed voltage masks. Only the time value reference point (X) is adjusted. The vertical scaling points (Y) remain fixed.


:MTESt{N}:YALign

Deprecated command

Deprecated command. For FlexDCA revision A.03.00 and above. Use :MTESt:ALIGnment:Y:METHod instead.

Command Syntax

:MTESt{N}:YALign  {DISPlay | EWINdow}

{N} identifies a specific mask and must be a value from 1 to 16. For example, :MTESt2: selects mask 2.

Query Syntax

:MTESt{N}:YALign?

Description

Specifies the method used to align the mask's Y-axis. It ensures that the mask will be properly adjusted on the display. Alignment mode needs to be specified for optical NRZ masks. . EWINdow specifies that instrument aligns the mask using the one level and zero level of the eye diagram.

DISPlay
Aligns the mask's Y axis using the Vbase and Vtop of the eye diagram. This can be used for all mask tests.
EWINdow
Align the Y axis to the eye boundaries (one and zero logic levels). This argument applies to optical NRZ mask. It is typically used to align 10 GB Ethernet masks. This alignment mode does not apply to fixed-voltage masks. Use :MEASure:EBOundary:LEFT and :MEASure:EBOundary:RIGHt to set the eye boundaries.


Introduction to :PTIMebase Subsystem

The Precision Timebase subsystem commands control features available for the 86107A precision timebase module and 86108A Precision Waveform Analyzer module. Be sure to include the module slot number (1 through 8), represented as {1:8} in the:PTIMebase{1:8} command. For 86108A modules, the module slot number to identify the precision timebase is always 1. For the 86107A, the module slot identification number is either 1 or 3.

To control the optional 86100D's Internal Precision Timebase (Option PTB), use commands found in the :TIMebase subsystem. Refer to :TIMebase:PTIMebase:STATe.

Note

Commands in this subsystem requires an 86107A Precision Timebase Module or an 86108A Precision Waveform Analyzer module.

  • Programming Home

86107A and 86108A/B Precision Timebase Commands

  • RFRequency
  • RFRequency:AUTo
  • RMEThod
  • RSOurce
  • RTReference
  • STATe
  • VPTBsignals

Deprecated Commands

  • RIPRogress? (deprecated)


:PTIMebase{1:8}:RFRequency

Command Syntax

:PTIMebase{1:8}:RFRequency <frequency>

<frequency> is a double.

{1:8} identifies slot number which is associated with precision timebase.

Query Syntax

:PTIMebase{1:8}:RFRequency?

Description

Specifies the frequency of the reference clock at the input of the 86107A or 86108A module. On 86107A modules, the range of the <frequency> argument depends upon the module's option number (9.0 GHz to 12.6 GHz and 18.0 GHz to 25.0 GHz for option 020 or, additionally, 38.0 GHz to 43.0 GHz for option 040). On 86108A modules, you must first select an external reference source using the :PTIMebase:RSOurce command.


:PTIMebase{1:8}:RFRequency:AUTo

Command Syntax

:PTIMebase{1:8}:RFRequency:AUTo {ON | OFF | 1 | 0}

{1:8} identifies slot number which is associated with precision timebase.

Query Syntax

:PTIMebase{1:8}:RFRequency:AUTo?

Query Response

{1 | 0}

Description

Enables and disables automatic detection of the external precision-timebase reference frequency during an Auto Scale (:SYSTem:AUToscale). The default setting is ON. If pattern lock is turned on, the instrument may be unable to correctly detect an external reference frequency. If this happens, disable automatic detection.

Note

On 86108A modules, an external reference source must be selected using the :PTIMebase:RSOurce command.


:PTIMebase{1:8}:RMEThod

Command Syntax

:PTIMebase{1:8}:RMEThod {FAST | OLINearity}

{1:8} identifies slot number which is associated with precision timebase.

Query Syntax

:PTIMebase{1:8}:RMEThod?

Description

Specifies the synchronization method used by a precision timebase module.

FAST
Optimizes for RJ (Random Jitter) only with fast synchronization that is suitable for analysis of most signals. This is the default method.
OLINearity
Optimizes for RJ measurements and linearity. This type of synchronization takes much longer but results in an extremely linear timebase as well as the lowest possible RJ. This type of synchronization is suggested for signals with extremely low DJ (Deterministic Jitter), where the signal rate is a multiple of the precision timebase reference frequency. For example, if your Data Rate is 32 Gb/s while your precision timebase reference frequency is 8 GHz, this option may improve the accuracy of the DJ measurements.


:PTIMebase{1:8}:RSOurce

Command Syntax

:PTIMebase{1:8}:RSOurce {INTernal | EXTernal}

{1:8} identifies slot number which is associated with precision timebase.

Query Syntax

:PTIMebase{1:8}:RSOurce?

Description

This 86108A command selects an internal or external reference source for the precision timebase. When an external source is selected, use the :PTIMebase:RFRequency command to specify the frequency of the input reference signal.


:PTIMebase{1:8}:RTReference

Command Syntax

:PTIMebase{1:8}:RTReference

{1:8} identifies slot number which is associated with precision timebase.

Description

Resets the time reference. If the time reference fails to set, an error is produced. The usual causes for not being able to set the time reference include missing, too small, or too large signal or a frequency that is not in the specified ranges.


:PTIMebase{1:8}:STATe

Command Syntax

:PTIMebase{1:8}:STATe {ON | OFF | 1 | 0}

{1:8} identifies slot number which is associated with precision timebase.

Query Syntax

:PTIMebase{1:8}:STATe?

Query Response

{1 | 0}

Description

Enables and disables the precision timebase of an 86107A or 86108A/B module. Enabling the precision timebase also sets the time reference. Disabling the precision timebase invalidates the time reference. For 86108A modules, the module slot number to identify the precision timebase is always 1. For the 86107A, the module slot identification number is either 1 or 3.

Note

Requires an 86107A Precision Timebase Module or an 86108A/B Precision Waveform Analyzer module.

Example Command Sequence

:PTIMebase1:STATe ON


:PTIMebase:VPTBsignals

Command Syntax

:PTIMebase{1:8}:VPTBsignals {ON | OFF | 1 | 0}

{1:8} identifies slot number which is associated with precision timebase.

Query Syntax

:PTIMebase{1:8}:VPTBsignals?

Description

Turns on and off the display of the two precision timebase IQ input waveforms. These two waveforms are displayed on the Precision Timebase tab, which is located on Setup dialog boxes for 86107A and 86108A/B modules. To return the waveforms to the computer, use the :WAVeform:SOURce command. The query form of the command returns the current display state, on or off.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:PTIMebase{1:4}:RIPRogress?

Note

Deprecated command for FlexDCA revision A.02.00 and above.

Query Syntax

:PTIMebase{1:4}:RIPRogress?

{1:4} identifies slot number which is associated with precision timebase.

Description

Queries if the external frequency reference is in the process of being detected.


Introduction to :RDCA Subsystem

Use the Remote DCA subsystem commands to control the remote connection between N1010A FlexDCA running on a PC and the 86100D. These settings correspond to those located on the FlexDCA Connection Setup dialog box. The following Python code shows how the subsystem commands are used to establish the recommended standard connection:

FlexDCA.write(':RDCA:CONNect:METhod LAN') # Use LAN rather than GPIB
FlexDCA.write(':RDCA:CONNect:MODE STANdard') # Recommended connection method
FlexDCA.write(':RDCA:CONNect:ACTion TBSettings') # Select Standard connection options
FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"') # Specify VISA address
FlexDCA.query(':RDCA:CONNect;*OPC?') # Make connection
s = FlexDCA.query('*IDN?') Return 86100D identification
  • Programming Home

Commands

  • CONNect
  • CONNect:ACTion
  • CONNect:GPIB:ADDRess
  • CONNect:GPIB:INAMe
  • CONNect:HOST
  • CONNect:METHod
  • CONNect:MODE
  • CONNect:SFILe
  • CONNect:STATe?
  • CONNect:TSETtings
  • DISConnect
  • DISConnect:TSETtings


:RDCA:CONNect

Command Syntax

:RDCA:CONNect

Description

Establishes a connection between N1010A FlexDCA on a PC and the 86100D DCA. After setting up the connection options, use the :RDCA:CONNect:HOST command to specify the specific 86100D and the :RDCA:CONNect command to make the connection. Use the :RDCA:DISConnect command to break the connection to the 86100D.

Note

Requires a *OPC? query for program timing.

Example Command Sequence

This Python example lines show the basic commands required to establish a connection via LAN. See a complete example using Python 3.x, PyVISA, and VISA from Keysight's IO libraries that first connects to the PC's N1010A FlexDCA and then connects N1010A to an 86100D's FlexDCA.

FlexDCA.write(':RDCA:CONNect:METhod LAN') # Use LAN rather than GPIB
FlexDCA.write(':RDCA:CONNect:MODE STANdard') # Recommended connection method
FlexDCA.write(':RDCA:CONNect:ACTion TBSettings') # Select Standard connection options
FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"') # Specify VISA address
FlexDCA.timeout=20000 # wait up to 20s for response from the 86100D
FlexDCA.query(':RDCA:CONNect;*OPC?') # Make connection
s = FlexDCA.query('*IDN?') # Return 86100D identification
…
…
FlexDCA.query(':RDCA:DISConnect;*OPC?') # Disconnect from 86100D


:RDCA:CONNect:ACTion

Command Syntax

:RDCA:CONNect:ACTion {DSETtings | TBSettings | RPSettings | ASFSettings}

Description

Selects from one of four possible actions that occur whenever FlexDCA connects to the 86100D (:RDCA:CONNect). The query returns the current setting. The following four arguments can be specified:

RPSettings
Restores the 86100D settings to the same settings used the last time FlexDCA was connected.
TBSettings
Copies the 86100D's front-panel related settings into FlexDCA.
DSETtings
Defaults all settings.
ASFSettings
Starts the application with settings that have been saved to a setup file (.setx). The 86100D is set to the same settings. By default, setup files are saved to the "My Documents/Keysight/FlexDCA/Setups" folder located on the PC. To specify the setup file, use the :RDCA:CONNect:SFILe command.


:RDCA:CONNect:GPIB:ADDRess

Command Syntax

:RDCA:CONNect:GPIB:ADDRess  <address>

<address> is an int.

Query Syntax

:RDCA:CONNect:GPIB:ADDRess?

Description

Enters the 86100D's GPIB address setting for connecting to the instrument via GPIB. Use the :RDCA:CONNect:METHod command to specify a GPIB connection. The address can be any integer from 0 to 30. The default value is 7. To locate the 86100D's GPIB address, click Tools > Remote Interface on the 86100D's menu. Use the :RDCA:CONNect:GPIB:INAMe command to specify the GPIB interface's name.


:RDCA:CONNect:GPIB:INAMe

Command Syntax

:RDCA:CONNect:GPIB:INAMe  "interface name"

"interface name" is a string. This command supports the DEFault common child command.

Query Syntax

:RDCA:CONNect:GPIB:INAMe?

Description

Enters the name of the GPIB interface for connecting to the instrument via GPIB. Use the :RDCA:CONNect:GPIB:ADDRess command to specify the GPIB address. Use the :RDCA:CONNect:METHod command to specify a GPIB connection.

Example Command Sequence

:RDCA:CONNect:GPIB:INAMe "gpib3"


:RDCA:CONNect:HOST

Command Syntax

:RDCA:CONNect:HOST "hostname"

"hostname" is a string. This command supports the DEFault common child command.

Description

Sets or queries the current host name of an 86100D when connecting to the instrument via a LAN. Use the :RDCA:CONNect:METHod command to specify a LAN connection. Use the :RDCA:CONNect command to make the actual connection.


:RDCA:CONNect:METHod

Command Syntax

:RDCA:CONNect:METhod  {LAN | GPIB}

Query Syntax

:RDCA:CONNect:METhod?

Description

Establishes the method used to create a connection to an 86100D instrument. The default setting is LAN.

LAN
Specifies a LAN connection. Use the :RDCA:CONNect:HOST command to enter the actual host ID of the 86100D.
GPIB
Specifies a GPIB connection. Use the :RDCA:CONNect:GPIB:INAMe command to specify the GPIB interface address and the :RDCA:CONNect:GPIB:ADDRess command to enter the actual address of the 86100D.


:RDCA:CONNect:MODE

Command Syntax

:RDCA:CONNect:MODE {COMPatible | STANdard}

Query Syntax

:RDCA:CONNect:MODE?

Description

Sets the 86100D configuration when FlexDCA that is running on a PC is connected to FlexDCA that is running on an 86100D.

STANdard
Standard configuration allows you to use the new one-slot mini modules, which significantly increases the number of channels that are available for measurements. Many of the 86100D's two-slot modules are also supported. Standard is the 86100D's default setting. However, be aware that when the 86100D is turned on it automatically starts in the configuration mode that was active when the instrument was last turned off. To place the 86100D in Standard configuration, click Apps > FlexDCA.
COMPatible

Compatibility configuration provides a FlexDCA GUI that support all of the two-slot modules. However, Compatibility configuration:

  • Does not support new one-slot mini modules
  • Does not support TDR mode
  • Is not available on N1010A FlexDCA that is installed on a PC.

To start Compatibility configuration on the 86100D, click File > Exit and on the Windows Start menu click All Programs > Keysight FlexDCA > FlexDCA (Compatibility Mode). To return to Standard configuration, return to the Windows Start menu and click FlexDCA.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:RDCA:CONNect:SFILe

Command Syntax

:RDCA:CONNect:SFILe  "filename"

"filename" is a string.

Query Syntax

:RDCA:CONNect:SFILe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the FlexDCA setup file used to configure the FlexDCA's settings when connecting to an 86100D. You must also specify that a setup file is used when the connection is estableshed (:RDCA:CONNect:ACTion command with the ASFSettings argument). Setup files use the .setx file extension and by default is located in the \Setups folder.


:RDCA:CONNect:STATe?

Query Syntax

:RDCA:CONNEct:STATe?

Description

Queries the state of the connection between FlexDCA and an 86100D. Returns CONN if a connection is established. Returns NCON if a connection is not established.


:RDCA:CONNect:TSETtings

Command Syntax

:RDCA:CONNect:TSETtings {ON | OFF | 1 | 0}

Query Syntax

:RDCA:CONNect:TSETtings?

Description

Sets or clears the Pull State from Instrument on Connect setting on the FlexDCA Connection Setup dialog box. This option determines what happens immediately after the connection is made between the PC's N1010A FlexDCA and the 86100D's FlexDCA. When selected, the instrument state of the 86100D's FlexDCA is copied to the PC's N1010A FlexDCA. The display and settings on the PC's FlexDCA will match the display and settings that were on the 86100D's FlexDCA.

To set or clear the Push State to Instrument on Disconnect setting, use the :RDCA:DISConnect:TSETtings command. The Pull State from Instrument on Connect and the Push State to Instrument on Disconnect settings are available whenever a Standard (Recommended) connection is established, but not when a Compatibility connection is established. Refer to the :RDCA:CONNect:MODE command. Use the :RDCA:CONNect command followed by an *OPC? query to actually make the connection.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:RDCA:DISConnect

Command Syntax

:RDCA:DISConnect

Description

Breaks the connection between FlexDCA and the 86100D. Use the :RDCA:CONNect command to make a connection to an 86100D.

Note

Requires a *OPC? query for program timing.


:RDCA:DISConnect:TSETtings

Command Syntax

:RDCA:DISConnect:TSETtings {ON | OFF | 1 | 0}

Query Syntax

:RDCA:DISConnect:TSETtings?

Description

Sets or clears the Push State to Instrument on Disconnect setting on the FlexDCA Connection Setup dialog box. This option determines what happens immediately before disconnecting the PC's N1010A FlexDCA from the 86100D's FlexDCA. When selected, the instrument state of the PC's N1010A FlexDCA is copied to the 86100D's FlexDCA. The display and settings on the 86100D's FlexDCA will match the display and settings that were on the PC's N1010A FlexDCA.

To set or clear the Pull State from Instrument on Connect setting, use the :RDCA:CONNect:TSETtings command. The Pull State from Instrument on Connect and the Push State to Instrument on Disconnect settings are available whenever a Standard (Recommended) connection is established, but not when a Compatibility connection is established. Refer to the :RDCA:CONNect:MODE command. Use the :RDCA:CONNect command followed by an *OPC? query to actually make the connection.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


Introduction to :SIMulator Subsystem (Deprecated)

DATA SIMULATION STATE

The commands in this subsystem require that FlexDCA be started in Data Simulation State, which was available in firmware revision A.01.80 and below.

The simulator subsystem commands are available whenever FlexDCA is started in data simulation state. Data Simulation state enables FlexDCA to be used without connecting to or controlling the 86100D.

Note

Deprecated sybsystem. For FlexDCA revision A.02.00 and above, use the :SOURce subsystem instead.

Four simulated modules are available using the :SLOT{1:4}:MODule command. Each module has two channels identified as "A" or "B". The sampler (:SAMP<N>) series of commands in this subsystem configure the simulated waveforms. Waveforms are identified by simulated module slot number followed by "A" or "B" to identify a simulated channel. For example,

:SIMulator:SAMP2A:WAVeform:AMPLitude 1.5E-1

sets the amplitude of channel "A" in the simulated slot 2 module. For a simulated module that has both optical and electrical channels, the optical channel is identified as "A" and the electrical channel is identified as "B".

You can work offline by loading a pattern file (.csv) or waveform file (.wfmx) into a waveform. Use the :SIMulator:SAMP<N>:FNAMe and :SIMulator:SAMP<N>:WAVeform:TYPe commands. This allows you to work offline with data saved from an actual signal.

After selecting a simulated module and configuring the simulated channels, use the :CHANnel{N}DISPlay command to display the waveform.

  • Programming Home

Commands

  • SAMP<N>:DTRack (Deprecated)
  • SAMP<N>:FILTer:CUToff (Deprecated)
  • SAMP<N>:FILTer:TYPE (Deprecated)
  • SAMP<N>:FNAMe (Deprecated)
  • SAMP<N>:JITTer:PJ (Deprecated)
  • SAMP<N>:JITTer:PJFRequency (Deprecated)
  • SAMP<N>:JITTer:PJSHape (Deprecated)
  • SAMP<N>:JITTer:RJ (Deprecated)
  • SAMP<N>:NOISe:PI (Deprecated)
  • SAMP<N>:NOISe:PIFRequency (Deprecated)
  • SAMP<N>:NOISe:PISHape (Deprecated)
  • SAMP<N>:NOISe:RN (Deprecated)
  • SAMP<N>:WAVeform:AMPLitude (Deprecated)
  • SAMP<N>:WAVeform:DRATe (Deprecated)
  • SAMP<N>:WAVeform:OFFSet (Deprecated)
  • SAMP<N>:WAVeform:TYPE (Deprecated)
  • SLOT<N>:MODule (Deprecated)
  • SRATe (Deprecated)


:SIMulator:SAMPler<N>:DTRack

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:DIFFerential.

Command Syntax

:SIMulator:SAMPler<N>:DTRack  {ON | OFF | 1 | 0}

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}.

Query Syntax

:SIMulator:SAMPler<N>:DTRack?

Query Response

{1 | 0}

Description

Turns on differential tracking between the two channels of a dual-electrical simulated module. When differential tracking is turned on, all channel "A" waveform settings are copied into the "B" channel setup. The polarity of the amplitude and offset values are reversed. While differential tracking is on, the settings for channel "B" can not be changed.

Example Command Sequence

:SIMulator:SAMP2A:WAVeform:TYPE PRBS7
:SIMulator:SAMP2A:WAVeform:DRATe 8.5E+9
:SIMulator:SAMP2A:WAVeform:AMPLitude 1.2E-1
:SIMulator:SAMP2A:WAVeform:OFFSet 1.0E-3
:SIMulator:SAMP2A:JITTer:RJ 1.1E-12
:SIMulator:SAMP2A:DTRack ON


:SIMulator:SAMPler<N>:FILTer:CUToff

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:FILTer:CUToff command.

Command Syntax

:SIMulator:SAMPler<N>:FILTer:CUToff <frequency>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <frequency> is a double.

Description

Specifies the filter's cutoff frequency. Use the :SIMulator:SAMPler<N>:FILter:TYPE command to specify the type of filter.

Example Command Sequence

:SIMulator:SAMP2B:FILTer:TYPe BESSel4
:SIMulator:SAMP2B:FILTer:CUToff 1.6E+10


:SIMulator:SAMPler<N>:FILTer:TYPE

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:FILTer:TYPe command.

Command Syntax

:SIMulator:SAMPler<N>:FILTer:TYPE  {NONE | BESSel4 | BUTTerworth1 | BUTTerworth2 | BUTTerworth3 | BUTTerworth4}

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}.

Query Syntax

:SIMulator:SAMPler<N>:FILTer:TYPE?

Description

Specifies the type of filter for the waveform using the following arguments:

BESSel4
4th order Bessel filter
BUTTerworth1
1st order Butterworh filter
BUTTerworth2
2nd order Butterworh filter
BUTTerworth3
3rd order Butterworh filter
BUTTerworth4
4th order Butterworh filter

Use the :SIMulator:SAMPler<N>:FILter:CUToff command to specify the filter's cutoff frequency.

Example Command Sequence

:SIMulator:SAMP2B:FILTer:TYPE BESSel4
:SIMulator:SAMP2B:FILTer:CUToff 1.6E+10


:SIMulator:SAMPler<N>:FNAMe

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:FNAMe command.

Command Syntax

:SIMulator:SAMPler<N>:FNAMe  <filename>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <filename> is a string. This command supports the DEFault common child command.

Query Syntax

:SIMulator:SAMPler<N>:FNAMe?

Description

Loads a pattern waveform file (.csv) or waveform file (.wfmx) to configure a waveform. You must first select the waveform type as a file using the :SIMulator:SAMPler<N>:WAVeform:TYPe command.

Location of User Files
FlexDCA Running Embedded on 86100D | N1010A Running on Windows 7 PC

Example Command Sequence

:SIMulator:SAMP2A:WAVeform:TYPE FILE
:SIMulator:SAMP2A:FNAMe "MyPattern.csv"


:SIMulator:SAMPler:JITTer:BUJ

Command Syntax

:SIMulator:SAMPler:JITTer:BUJ

Query Syntax

:SIMulator:SAMPler:JITTer:BUJ?

Description

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:SIMulator:SAMPler:JITTer:BUJ:STDDev

Command Syntax

:SIMulator:SAMPler:JITTer:BUJ:STDDev

Query Syntax

:SIMulator:SAMPler:JITTer:BUJ:STDDev?

Description

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:SIMulator:SAMPler:JITTer:BUJ:TYPe

Command Syntax

:SIMulator:SAMPler:JITTer:BUJ:TYPe

Query Syntax

:SIMulator:SAMPler:JITTer:BUJ:TYPe?

Description

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:SIMulator:SAMPler:JITTer:BUN

Command Syntax

:SIMulator:SAMPler:JITTer:BUN

Query Syntax

:SIMulator:SAMPler:JITTer:BUN?

Description

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:SIMulator:SAMPler:JITTer:BUN:STDDev

Command Syntax

:SIMulator:SAMPler:JITTer:BUN:STDDev

Query Syntax

:SIMulator:SAMPler:JITTer:BUN:STDDev?

Description

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:SIMulator:SAMPler:JITTer:BUN:TYPe

Command Syntax

:SIMulator:SAMPler:JITTer:BUN:TYPe

Query Syntax

:SIMulator:SAMPler:JITTer:BUN:TYPe?

Description

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:SIMulator:SAMPler<N>:JITTer:PJ

Note

Deprecated command for firmware revision A.02.00 and above.

Command Syntax

:SIMulator:SAMPler<N>:JITTer:PJ  <seconds>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <seconds> is a double.

Query Syntax

:SIMulator:SAMPler<N>:JITTer:PJ?

Description

Adds uncorrelated periodic jitter (PJ) to the selected waveform. Enter the value in seconds. Use the :SIMulator:SAMPler<N>:JITTer:PJFRequency command to specify the frequency of the PJ.

  • Learn More


:SIMulator:SAMPler<N>:JITTer:PJFRequency

Note

Deprecated command for firmware revision A.02.00 and above.

Command Syntax

:SIMulator:SAMPler<N>:JITTer:PJFRequency  <frequency>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <frequency> is a double.

Query Syntax

:SIMulator:SAMPler<N>:JITTer:PJFRequency?

Description

Specifies the frequency of any PJ added to the waveform. Enter the value in Hertz. To add uncorrelated periodic jitter (PJ) to the selected waveform, use the :SIMulator:SAMPler<N>:JITTer:PJ command.


:SIMulator:SAMPler<N>:JITTer:PJSHape

Note

Deprecated command for firmware revision A.02.00 and above.

Command Syntax

:SIMulator:SAMPler<N>:JITTer:PJSHape  {SINusoid | SQUare | TRIangle | DSINusoid}

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}.

Query Syntax

:SIMulator:SAMPler<N>:JITTer:PJSHape?

Description

Defines the shape of any added PJ, which can be sinusoid, square, triangle, or double sinusoid (DSINusoid). To add uncorrelated periodic jitter (PJ) to the selected waveform, use the :SIMulator:SAMPler<N>:JITTer:PJ command.


:SIMulator:SAMPler<N>:JITTer:RJ

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:JITTer:RJ and :SOURce:JITTer:STATe commands.

Command Syntax

:SIMulator:SAMPler<N>:JITTer:RJ  <seconds>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <seconds> is a double.

Query Syntax

:SIMulator:SAMPler<N>:JITTer:RJ?

Description

Adds Random Jitter (RJ) to the selected waveform. Enter the value in seconds.


:SIMulator:SAMPler<N>:NOISe:PI

Note

Deprecated command for firmware revision A.02.00 and above.

Command Syntax

:SIMulator:SAMPler<N>:NOISe:PI  <pi>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <pi> is a double.

Query Syntax

:SIMulator:SAMPler<N>:NOISe:PI?

Description

Adds Periodic Interference (PI) to the selected waveform. Enter the value in volts (electrical waveforms) or Watts (optical waveforms). Use the :SIMulator:SAMPler<N>:NOISe:PIFRequency command to specify the frequency of the PI.

  • Learn More


:SIMulator:SAMPler<N>:NOISe:PIFRequency

Note

Deprecated command for firmware revision A.02.00 and above.

Command Syntax

:SIMulator:SAMPler<N>:NOISe:PIFRequency  <frequency>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <frequency> is a double.

Query Syntax

:SIMulator:SAMPler<N>:NOISe:PIFRequency?

Description

Specifies the frequency of any PI added to the waveform. Enter the value in Hertz. To add Periodic Interference (PI) to the selected waveform, use the :SIMulator:SAMPler<N>:NOISe:PI command.


:SIMulator:SAMPler<N>:NOISe:PISHape

Note

Deprecated command for firmware revision A.02.00 and above.

Command Syntax

:SIMulator:SAMPler<N>:NOISe:PISHape  {SINusoid | SQUare | TRIangle | DSINusoid}

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}.

Query Syntax

:SIMulator:SAMPler<N>:NOISe:PISHape?

Description

Defines the shape of any added PI, which can be sinusoid, square, triangle, or double sinusoid (DSINusoid). To add Periodic Interference (PI) to the selected waveform, use the :SIMulator:SAMPler<N>:NOISe:PI command.


:SIMulator:SAMPler<N>:NOISe:RN

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:NOISe:RN and :SOURce:NOISe:STATe commands.

Command Syntax

:SIMulator:SAMPler<N>:NOISe:RN  <RN>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <RN> is a double.

Query Syntax

:SIMulator:SAMPler<N>:NOISe:RN?

Description

Adds Random Noise (RN) to the selected waveform. Enter the value in volts (electrical waveforms) or Watts (optical waveforms).

  • Learn More


:SIMulator:SAMPler:PORT

Command Syntax

:SIMulator:SAMPler:PORT

Query Syntax

:SIMulator:SAMPler:PORT?

Description

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:SIMulator:SAMPler<N>:WAVeform:AMPLitude

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:AMPLitude command.

Command Syntax

:SIMulator:SAMPler<N>:WAVeform:AMPLitude  <amplitude>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <amplitude> is a double.

Query Syntax

:SIMulator:SAMPler<N>:WAVeform:AMPLitude?

Description

Sets the specified simulated waveform's amplitude. Enter the amplitude in volts for electrical channels and Watts for optical channels.

Example Command Sequence

:SIMulator:SAMP2A:WAVeform:AMPLitude 1.2E-1


:SIMulator:SAMPler<N>:WAVeform:DRATe

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:DRATe command.

Command Syntax

:SIMulator:SAMPler<N>:WAVeform:DRATe  <rate>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <rate> is a double.

Query Syntax

:SIMulator:SAMPler<N>:WAVeform:DRATe?

Description

Sets the data rate for the specified simulated waveform. Each waveform can be set to a different data rate.

Example Command Sequence

:SIMulator:SAMP2A:WAVeform:DRATe 8.5E+9


:SIMulator:SAMPler<N>:WAVeform:OFFSet

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:OFFSet command.

Command Syntax

:SIMulator:SAMPler<N>:WAVeform:OFFSet  <offset>

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}. <offset> is a double.

Query Syntax

:SIMulator:SAMPler<N>:WAVeform:OFFSet?

Description

Sets the specified simulated waveform's amplitude offset. Enter the offset in volts for electrical channels and Watts for optical channels.

Example Command Sequence

:SIMulator:SAMP2A:WAVeform:OFFSet 1.0E-3


:SIMulator:SAMPler<N>:WAVeform:TYPE

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :SOURce:WTYPe, :SOURce:FUNCtion , and :SOURce:PATTerncommands.

Command Syntax

:SIMulator:SAMPler<N>:WAVeform:TYPE {PRBS7 | EPRBs7 | PRBS15 | EPRBs15 | SINE | COSine | TRIangle | SQUare | SAWTooth | FILE | NOISe}

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}.

Query Syntax

:SIMulator:SAMPler<N>:WAVeform:TYPE?

Description

Specifies the type of waveform using the following arguments:

PRBS7
Configures a waveform with a 27-1 pseudo-random bit sequence (127 bits).
EPRBs7
Configures a waveform with a 27 pseudo-random bit sequence (128 bits).
PRBS15
Configures a waveform with a 215-1 pseudo-random bit sequence (32,767 bits).
EPRBs15
Configures a waveform with a 215 pseudo-random bit sequence (32,768 bits).
SINE
Configures a sine waveform.
COSine
Configures a cosine waveform.
TRIangle
Configures a triangle waveform.
SQUare
Configures a square waveform.
SAWTooth
Configures a sawtooth waveform.
FILE
Configures a waveform using a pattern waveform file (.csv) or waveform file (.wfmx). Load the file using the :SIMulator:SAMPler<N>:FNAMe command.
NOISe
Configures a waveform comprised entirely of noise.

Example Command Sequence

:SIMulator:SAMP2A:WAVeform:TYPE PRBS7


:SIMulator:{SLOT[1:8] | LMODule | RMODule}:MODule

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :EMODules:SLOT:SELection command.

Command Syntax

:SIMulator:{SLOT[1:8] | LMODule | RMODule}:MODule  {NONE | DEMini | OEMini | DOMini}

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}.

Query Syntax

:SIMulator:{SLOT[1:8] | LMODule | RMODule}:MODule?

Description

Selects up to four simulated modules as the sources of the simulated channel waveforms. The left-most module slot (as shown in FlexDCA's user interface) is identified by :SLOT1: in the command string and the right-most slot by :SLOT4: Each simulated module has two "input" channels that are identified as "A" and "B", for a total of 8 channels. The arguments select the following type of modules:

NONE
No simulated module is selected for the indicated slot.
DEMini
Selects a dual-electrical module.
OEMini
Selects a module that has both an optical and electrical channel.
DOMini
Selects a dual-optical module.

Example Command Sequence

:SIMulator:SLOT2 OEMini


:SIMulator:SRATe

Deprecated command

Deprecated command. For firmware revision A.02.00 and above, use the :EMODules:SIMulator:SRATe command.

Command Syntax

:SIMulator:SRATe  {LOW | STANdard | HIGH}

<N> is {1A | 1B | 2A | 2B | 3A | 3B | 4A | 4B}.

Query Syntax

:SIMulator:SRATe?

Description

Selects the waveform simulation rate which affects the amount of CPU usage devoted to data simulation: LOW, STANdard, or HIGH. The default setting is STANdard. Adjusting this setting can affect the performance of FlexDCA and any concurrently running applications.


Introduction to :SLOT Subsystem

The :SLOT subsystem commands control the trigger setting of a hardware extended modules that have triggering capability. An example of a hardware extended module is an N1090A DCA-M single optical channel sampling oscilloscope. When FlexDCA is running on an 86100D, slots 5 through 8 are available for extended hardware modules. When FlexDCA is running on a PC, slots 1 through 8 are available unless a connection has been established with an 86100D. In this case, the 86100D consumes slots 1 through 4.

FlexDCA Revision

This subsystem Requires FlexDCA revision A.05.00 and above.

Commands

  • TRIGger:BRATe (Reserved for future use)
  • TRIGger:BRATe:AUTodetect (Reserved for future use)
  • TRIGger:DCDRatio (Reserved for future use)
  • TRIGger:DCDRatio:AUTodetect (Reserved for future use)
  • TRIGger:MODe
  • TRIGger:MRATe?
  • TRIGger:PLENgth (Reserved for future use)
  • TRIGger:PLENgth:AUTodetect (Reserved for future use)
  • TRIGger:SOURce
  • TRIGger:TRACking (Reserved for future use)


:SLOT{1:8}:TRIGger:BRATe

Note

This command is reserved for future use.

Command Syntax

:SLOT{1:8}:TRIGger:BRATe  <rate>

<rate> is a double.

Query Syntax

:SLOT{1:8}:TRIGger:BRATe?

Description

When using pattern lock, enters the bit-rate of the trigger source. Automatic detection must be turned off before the entered bit rate setting is applied (:SLOT{1:8}:TRIGger:BRATe:AUTodetect).

Example Command Sequence

:SLOT5:TRIGger:BRATe:AUTodetect OFF
:SLOT5:TRIGger:BRATe 2.0E+10
:TRIGger:PLOCk ON


:SLOT{1:8}:TRIGger:BRATe:AUTodetect

Note

This command is reserved for future use.

Command Syntax

:SLOT{1:8}:TRIGger:BRATe:AUTodetect {ON | OFF | 1 | 0}

Query Syntax

:SLOT{1:8}:TRIGger:BRATe:AUTodetect?

Query Response

{1 | 0}

Description

When using pattern lock, enables or disables automatic bit-rate detection. When turned off, use the :SLOT{1:8}:TRIGger:BRATe command to set the bit rate. When turned on, send the :TRIGger:PLOCk ON or :SYSTem:PAUTodetect command to actually detect the bit rate.

Example Command Sequence

:SLOT{1:8}:TRIGger:BRATe:AUTodetect ON
:TRIGger:PLOCk ON


:SLOT{1:8}:TRIGger:DCDRatio

Note

This command is reserved for future use.

Command Syntax

:SLOT{1:8}:TRIGger:DCDRatio  {UNITy | SUB2 | SUB4 | …}

Query Syntax

:SLOT{1:8}:TRIGger:DCDRatio?

Description

When using pattern lock, enters the trigger-divide ratio. To apply the ratio, disable autodetection (:SLOT{1:8}:TRIGger:DCDRatio:AUTodetect). In some situations, you may need to enter a trigger divide ratio for a trigger that is a divided rate from the data rate. For example, for rates greater then 23.2 Gbs, you must provide a divided trigger.

DCDRatio Rate Arguments
Rate | Argument
1:1 (Sub-Rate) | UNITy
1:2 (Sub-Rate) | SUB2
1:4 (Sub-Rate) | SUB4
1:5 (Sub-Rate) | SUB5
1:8 (Sub-Rate) | SUB8
1:10 (Sub-Rate) | SUB10
1:15 (Sub-Rate) | SUB15
1:16 (Sub-Rate) | SUB16
1:18 (Sub-Rate) | SUB18
1:20 (Sub-Rate) | SUB20
1:24 (Sub-Rate) | SUB24
1:25 (Sub-Rate) | SUB25
1:30 (Sub-Rate) | SUB30
1:32 (Sub-Rate) | SUB32
1:35 (Sub-Rate) | SUB35
1:36 (Sub-Rate) | SUB36
1:40 (Sub-Rate) | SUB40
1:45 (Sub-Rate) | SUB45
1:50 (Sub-Rate) | SUB50
1:64 (Sub-Rate) | SUB64
1:66 (Sub-Rate) | SUB66
1:100 (Sub-Rate) | SUB100
1:128 (Sub-Rate) | SUB128

Example Command Sequence

:SLOT{1:8}:TRIGger:DCDRatio:AUTodetect OFF
:SLOT{1:8}:TRIGger:DCDRatio SUB2
:TRIGger:PLOCk


:SLOT{1:8}:TRIGger:DCDRatio:AUTodetect

Note

This command is reserved for future use.

Command Syntax

:SLOT{1:8}:TRIGger:DCDRatio:AUTodetect  {ON | OFF | 1 | 0}

Query Syntax

:SLOT{1:8}:TRIGger:DCDRatio:AUTodetect?

Query Response

{1 | 0}

Description

When using pattern lock, enables or disables automatic trigger-divide-ratio detection. When disabled, use the :SLOT{1:8}:TRIGger:DCDRatio command to set the ratio. When enabled, send the :TRIGger:PLOCk ON or :SYSTem:PAUTodetect command to actually detect the trigger-divide-ratio.

Example Command Sequence

:SLOT{1:8}:TRIGger:DCDRatio:AUTodetect ON
:TRIGger:PLOCk ON


:SLOT{1:8}:TRIGger:MODe?

Query Syntax

:SLOT{1:8}:TRIGger:MODe?

Description

Returns the trigger mode of a DCA-M product. The value returned is always CLOCk.

Compatible DCA-M Products

  • N1090A DCA-M single optical channel sampling oscilloscope
  • N1092A/B/D DCA-M single optical channel sampling oscilloscope

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SLOT{1:8}:TRIGger:MRATe?

Query Syntax

:SLOT{1:8}:TRIGger:MRATe?

Description

Returns the measured clock rate at the Clock In input of a DCA-M product.

Compatible DCA-M Products

  • N1090A DCA-M single optical channel sampling oscilloscope
  • N1092A/B/D DCA-M single optical channel sampling oscilloscope

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SLOT{1:8}:TRIGger:PLENgth

Note

This command is reserved for future use.

Command Syntax

:SLOT{1:8}:TRIGger:PLENgth  <bits>

<bits> is an int.

Query Syntax

:SLOT{1:8}:TRIGger:PLENgth?

Description

When using pattern lock, enters the length of the test pattern in bits. You must first disable automatic pattern-length detection (:SLOT{1:8}:TRIGger:PLENgth:AUTodetect OFF) before manually entering the pattern length. The command query returns the pattern length setting in bits regardless of whether automatic detection is on or off.

To set or query the pattern length on simulated channels, use the :SOURce:PLENgth command.

Example Command Sequence

:SLOT{1:8}:TRIGger:PLENgth:AUTodetect OFF
:SLOT{1:8}:TRIGger:PLENgth 128


:SLOT{1:8}:TRIGger:PLENgth:AUTodetect

Note

This command is reserved for future use.

Command Syntax

:SLOT{1:8}:TRIGger:PLENgth:AUTodetect  {ON | OFF | 1 | 0}

Query Syntax

:SLOT{1:8}:TRIGger:PLENgth:AUTodetect?

Query Response

{1 | 0}

Description

When using pattern lock, enables or disables automatic pattern-length detection. When disabled, use the :TIMebase:PLENgth command to specify the pattern length. When enabled, send the :TRIGger:PLOCk ON or :SYSTem:PAUTodetect command to actually detect the pattern length.

Example Command Sequence

:SLOT{1:8}:TRIGger:PLENgth:AUTodetect OFF
:SLOT{1:8}:TRIGger:PLENgth 128


:SLOT{1:8}:TRIGger:SOURce?

Query Syntax

:SLOT{1:8}:TRIGger:SOURce?

Description

Returns the selected trigger input for a DCA-M product. There are two possible returned values FPANel and FRUN. To actually select the source, use the :TRIGger:SOURce command.

FPANel
Front Panel. The DCA-M is being triggered from a clock that is input to theDCA-M's front-panel Clock In connector. The clock must be at a rate specified by the DCA-M's installed filter rate option or a related rate (for example, a sub-multiple). This is the recommended and default setting.
FRUN
Free Run. The DCA-M is triggered as soon as the trigger is armed, without having to provide an external trigger. Free run is asynchronous to the data. Free-run triggering is mostly used as an quick method to visually confirm that a signal is present.

Compatible DCA-M Products

  • N1090A DCA-M single optical channel sampling oscilloscope
  • N1092A/B/D DCA-M single optical channel sampling oscilloscope

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SLOT{1:8}:TRIGger:TRACking

Note

This command is reserved for future use.

Command Syntax

:SLOT{1:8}:TRIGger:TRACking {ON | OFF | 1 | 0}

Query Syntax

:SLOT{1:8}:TRIGger:TRACking?

Query Response

{1 | 0}

Description

When using pattern lock, turns on pattern lock tracking.


Introduction to :SOURce Subsystem

Use the :SOURce subsystem to configure the source waveforms of simulated extended modules. In the future, this subsystem will support source waveforms of additional types of extended modules. Use the WTYPe command to select the type of source waveform, which could be data, clock, function, or file. After defining the waveform, use OENable command to enable the source output and the the :CHANnel<N>:DISPlay command to display the waveform.

  • Programming Home

Note

Always perform an Auto Scale after configuring the source waveform.

Note

This subsystem requires FlexDCA revision A.02.00 and above.

Commands

  • AMPLitude
  • DIFFerential
  • DRATe
  • FILTer:CUToff
  • FILTer:STATe
  • FILTer:TYPe
  • FNAMe
  • FOTWo:JITTer
  • FOTWo:STATe
  • FUNCtion
  • INVert
  • JITTer:DRJ?
  • JITTer:DRN?
  • JITTer:RJ
  • JITTer:STATe
  • FORMat
  • NOISe:RN
  • NOISe:STATe
  • OENable
  • OFFSet
  • PATTern
  • PLENgth
  • WTYPe


:SOURce<N>:AMPLitude

Command Syntax

:SOURce<N>:AMPLitude  <amplitude>

<amplitude> is a double.

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:AMPLitude?

Description

On simulated modules, sets the specified source waveform's amplitude. Enter the amplitude in volts for electrical channels and Watts for optical channels. To set the offset, use the :SOURce<N>:OFFSet command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce3A:AMPLitude 1.2E-1


:SOURce<N>:DIFFerential

Command Syntax

:SOURce<N>:DIFFerential  {ON | OFF | 1 | 0}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:DIFFerential?

Query Response

{1 | 0}

Description

Turns on differential tracking between the two channels of a simulated electrical module. The two channels are the primary (+) channel waveform (for example, 6A) and the secondary (−) channel waveform (in this example, 6B). When differential tracking is turned on, the channel primary (+) channel waveform settings (data type, amplitude, and offset) are copied into the secondary (−) channel setup. The polarity of the amplitude and offset values are reversed. For secondary channels, this command can only be queried. While differential tracking is on, the settings for a secondary (−) channel can not be changed. For example, the amplitude of the channel can not be changed. This command does not work on simulated optical channels.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2A:WAVeform:TYPE PRBS7
:SOURce2A:WAVeform:DRATe 8.5E+9
:SOURce2A:WAVeform:AMPLitude 1.2E-1
:SOURce2A:WAVeform:OFFSet 1.0E-3
:SOURce2A:JITTer:RJ 1.1E-12
:SOURce2A:DIFFerential ON


:SOURce{N}:DRATe

Command Syntax

:SOURce{N}:DRATe <rate>

<rate> is a double.

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce{N}:DRATe?

Description

On simulated modules, sets the data rate for the specified source waveform. Each waveform can be set to a different data rate.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce:DRATe 8.5E+9


:SOURce<N>:FILTer:CUToff

Command Syntax

:SOURce<N>:FILTer:CUToff <frequency>

<frequency> is a double.

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

On simulated modules, specifies the cutoff frequenc for a filter that can be applied to the indicated source waveform. Use the :SOURce<N>:FILter:TYPe command to specify the type of filter. Use the :SOURce<N>:FILter:STATe command to apply or remove the filter.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2B:FILTer:TYPE BESSel4
:SOURce2B:FILTer:CUToff 1.6E+10
:SOURce2B:FILTER:STATe ON


:SOURce<N>:FILTer:STATe

Command Syntax

:SOURce<N>:FILTer:STATe {ON | OFF | 1 | 0}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:FILTer:STATe?

Query Response

{1 | 0}

Description

On simulated modules, applies or removes a filter for a source waveform. Use the :SOURce<N>:FILter:TYPe commands to select the filter type and the :SOURce<N>:FILter:CUToff command to specify the filter's cutoff frequency.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2B:FILTer:TYPE BESSel4
:SOURce2B:FILTer:CUToff 1.6E+10
:SOURce2B:FILTER:STATe ON


:SOURce<N>:FILTer:TYPE

Command Syntax

:SOURce<N>:FILTer:TYPE  {BESSel4 | BUTTerworth1 | BUTTerworth2 | BUTTerworth3 | BUTTerworth4}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:FILTer:TYPE?

Description

On simulated modules, specifies the type of filter that can be applied to the indicated source waveform. Use the :SOURce<N>:FILter:CUToff command to specify the filter's cutoff frequency. Use the :SOURce<N>:FILter:STATe command to apply or remove the filter.

BESSel4
4th order Bessel filter
BUTTerworth1
1st order Butterworh filter
BUTTerworth2
2nd order Butterworh filter
BUTTerworth3
3rd order Butterworh filter
BUTTerworth4
4th order Butterworh filter

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2B:FILTer:TYPE BESSel4
:SOURce2B:FILTer:CUToff 1.6E+10
:SOURce2B:FILTER:STATe ON


:SOURce<N>:FNAMe

Command Syntax

:SOURce<N>:FNAMe  <filename>

<filename> is a string. This command supports the DEFault common child command.

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

For simulated modules, loads a pattern waveform file (.csv) or waveform file (.wfmx) to define the waveform. To apply the pattern to the source waveform, use the :SOURce<N>:WTYPe FNAMe command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2A:WTYPe FILE
:SOURce2A:FNAMe "MyPattern.csv"


:SOURce:FORMat

Command Syntax

:SOURce:FORMat {NRZ | PAM4}

Query Syntax

:SOURce:FORMat?

Description

For simulated modules, sets the type of modulation applied to the simulated input signal. Selections are NRZ (which is the default format) and PAM4.

Example Command Sequence

:SOURce:FORMat PAM4
:SYSTem:AUToscale
*OPC?

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SOURce<N>:FOTWo:JITTer

Command Syntax

:SOURce<N>:FOTWo:JITTer <jitter>

<jitter> is a double.

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:FOTWo:JITTer?

Description

Sets the amount of F/2 jitter, in unit intervals (UI), that is added to the selected simulated waveform. The default value is 10 mUI. Use the :SOURCe:FOTWo:STATe command to turn apply or disable this jitter.

Example Command Sequence

:SOURCe5A:FOTWo:JITTer: 1.5E-2
:SOURCe5A:FOTWo:STATe ON

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SOURce<N>:FOTWo:STATe

Command Syntax

:SOURce<N>:FOTWo:STATe {ON | OFF}

Query Syntax

:SOURce<N>:FOTWo:STATe?

Description

Sets the F/2 (Pk-Pk) jitter that is added to the simulated waveform. Use the :SOURce:FOTWo:JITTer command to enter the actual amount of jitter that is added. The command for measuring F/2 jitter is :MEASure:JITTer:FOVer.

Example Command Sequence

:SOURCe5A:FOTWo:JITTer: 1.5E-2
:SOURCe5A:FOTWo:STATe ON

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SOURce<N>:FUNCtion

Command Syntax

:SOURce<N>:FUNCtion {COSine | SINE | SAWTooth | SQUare | TRIangle}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:FUNCtion?

Query Response

{COS | SINE | SAWT | SQU | TRI}

Description

On simulated modules, selects a function to create the source waveform. To apply the function to the source waveform, use the :SOURce<N>:WTYPe FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce9A:FUNCtion COS


:SOURce<N>:INVert

Command Syntax

:SOURce<N>:INVert  {ON | OFF | 1 | 0}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:INVert?

Query Response

{1 | 0}

Description

On simulated modules, inverts the amplitude of the specified source waveform.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SOURce<N>:JITTer:DRJ

Query Syntax

:SOURce<N>:JITTer:DRJ?

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

On simulated modules, returns the amount of Resultant Random Jitter applied to a differential source waveforms. To return the Resultant Random Noise, use the :JITTer:DRN command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SOURce<N>:JITTer:DRN

Query Syntax

:SOURce<N>:JITTer:DRN?

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

On simulated modules, returns the amount of Resultant Random Noise applied to a differential source waveforms. To return the Resultant RandomJitter, use the :JITTer:DRJ command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SOURce<N>:JITTer:RJ

Command Syntax

:SOURce<N>:JITTer:RJ  <seconds>

<seconds> is a double.

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:JITTer:RJ?

Description

On simulated modules, specifies the amount of Random Jitter (RJ) to be added to the indicated source waveform. Enter the amount of jitter in seconds. To apply the RJ to the waveform, use the :JITTer:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2B:JITTer:RJ 1.0E-12
:SOURce2B:JITTer:STATe ON


:SOURce<N>:JITTer:STATe

Command Syntax

:SOURce<N>:JITTer:STATe {ON | OFF | 1 | 0}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:JITTer:STATe?

Query Response

{1 | 0}

Description

On simulated modules, applies or removes Random Jitter (RJ) to the source waveform. To specify the amount of RJ, use the :SOURce<N>:JITTer:RJ command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2B:JITTer:RJ 1.0E-12
:SOURce2B:JITTer:STATe ON


:SOURce<N>:NOISe:RN

Command Syntax

:SOURce<N>:NOISe:RN  <RN>

<RN> is a double.

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:NOISe:RN?

Description

On simulated modules, specifies the amount of Random Noise (RN) to be added to the indicated source waveform. Enter the value in volts (electrical waveforms) or Watts (optical waveforms). To apply the RN to the waveform, use the :NOISe:STATe command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

  • Learn More


:SOURce<N>:NOISe:STATe

Command Syntax

:SOURce<N>:NOISe:STATe {ON | OFF | 1 | 0}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:NOISe:STATe?

Query Response

{1 | 0}

Description

On simulated modules, applies or removes Random Noise (RN) to the source waveform. To specify the amount of RN, use the :SOURce<N>:NOISe:RN command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2B:NOISe:RN 1.0E-12
:SOURce2B:NOISe:STATe ON


:SOURce{N}:OENable

Command Syntax

:SOURce{N}:OENable  {ON | OFF | 1 | 0}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce{N}:OENable?

Query Response

{1 | 0}

Description

Turns on or off the source waveform of a simulated electrical module. To turn on or off the display of a source waveform that has been turned on, use the :CHANnel:DISPlay command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SOURce<N>:OFFSet

Command Syntax

:SOURce<N>:OFFSet <offset>

<offset> is a double.

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:OFFSet?

Description

On simulated modules, sets the specified source waveform's offset. Enter the offset in volts for electrical channels and Watts for optical channels. To set the amplitude, use the :SOURce<N>:AMPLitude command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce2A:OFFSet 1.0E-3


:SOURce<N>:PATTern

Command Syntax

:SOURce<N>:PATTern {PRBS7 | EPRBs7 | PRBS9 | EPRBs9 | PRBS15 | EPRBs15}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:PATTern?

Description

On simulated modules, selects the pattern for the source waveform. To apply the pattern to the source waveform, use the :SOURce<N>:WTYPe DATA command. The following patterns are available using the these arguments:

PRBS7
Configures a waveform with a 27−1 pseudo-random bit sequence (127 bits).
EPRBs7
Configures a waveform with a 27 pseudo-random bit sequence (128 bits).
PRBS9
Configures a waveform with a 29−1 pseudo-random bit sequence (511 bits).
EPRBs9
Configures a waveform with a 29 pseudo-random bit sequence (512 bits).
PRBS15
Configures a waveform with a 215−1 pseudo-random bit sequence (32,767 bits).
EPRBs15
Configures a waveform with a 215 pseudo-random bit sequence (32,768 bits).

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SOURce<N>:PLENgth

Command Syntax

:SOURce<N>:PLENgth

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce<N>:PLENgth?

Description

Sets or queries the length of the simulated waveform's pattern in bits. The simulated waveform's type must be set to data using the :SOURce:WTYPe command. If the waveform type is not set to data, you cannot set the pattern length and the query returns a value of "1" bit.

To set or query the pattern length for triggering the 86100D on a real input signal, use the :TRIGger:PLENgth command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SOURce{N}:WTYPe

Command Syntax

:SOURce{N}:WTYPe {CLOCk | DATA | FUNCtion | FILE}

{N} identifies a specific waveform source by channel designation and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:SOURce:WTYPe?

Query Response

{CLOCk | DATA | FUNCtion | FILE}

Description

On simulated modules, specifies the type of source waveform using the following arguments. Use the :SOURce<N>:OENable command to enable the waveform. To display the source waveform that has been enabled, use the :CHANnel<N>:DISPlay command.

CLOCk
Selects a clock waveform.
DATA
Selects a data waveform. The pattern for the waveform is selected using the :SOURce<N>:PATTern command.
FUNCtion
Selects a waveform function, such as a sine wave. The actual function used to derive the source waveform is selected using the :SOURce<N>:FUNCtion command.
FILE
Configures a waveform using a pattern waveform file (.csv) or waveform file (.wfmx). Load the file using the :SOURce<N>:FNAMe command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SOURce5A:WTYPe FUNCtion
:SOURce5a:FUNCtion PRBS7


Introduction to :SPRocess Subsystem

Example Python Script

Click these links to an example script that creates two math functions.

  • Python 3.4 version
  • Python 2.7 version

The Signal Processing subsystem commands configure waveform signal processing function blocks. When building functions graphically using FlexDCA's drag-and-drop tool, clicking on the function blocks brings up configuration dialog boxes. The commands in this subsystem control the same settings that are accessed via these dialog boxes. Be sure to identify the individual functions blocks (one through sixteen) by the {1:16} index included in the SPRocess{1:16} command.

Note

Some functions, such as the Summation operator, do not have configuration options. When you click on them, no dialog box is opened. In this case, there are no commands in this subsystem for these functions.

Note

To create the functions in this subsystem, use the :FUNCtion:FOPerator command (:FUNCtion subsystem).

  • Programming Home

User Defined Operator (One Input)

  • USER:ABBReviation?
  • USER:CFILe
  • USER:CFILe:RELoad
  • USER:CFLoaded?
  • USER:COMMents?
  • USER:CONTrol:DOUBle
  • USER:CONTrol:ENUM
  • USER:CONTrol:FILE
  • USER:CONTrol:INTeger
  • USER:CONTrol:STRing
  • USER:LSTatus?
  • USER:LSTatus:REASon?
  • USER:NAME?

User Defined Operator (Two Inputs)

  • BUSer:ABBReviation?
  • BUSer:CFILe
  • BUSer:CFILe:RELoad
  • BUSer:CFLoaded
  • BUSer:COMMents?
  • BUSer:CONTrol:DOUBle
  • BUSer:CONTrol:ENUM
  • BUSer:CONTrol:FILE
  • BUSer:CONTrol:INTeger
  • BUSer:CONTrol:STRing
  • BUSer:LSTatus?
  • BUSer:LSTatus:REASon?
  • BUSer:NAME?

Align Operator Commands

  • ALIGn:TIMe
  • ALIGn:TIMe:AUTo
  • ALIGn:TIMe:RECalculate

Amplify Operator Commands

  • AMPLify:GAIN

Average Operator Commands

  • AVERage:ECOunt

Bessel Operator Commands

  • BESSel:BANDwidth

Butterworth Operator Commands

  • BUTTerworth:BANDwidth
  • BUTTerworth:ORDer

Apply S2P Operator Commands

  • CONVolve:FMODel
  • CONVolve:FNAMe
  • CONVolve:FRELoad
  • CONVolve:PEXTract
  • CONVolve:PORDer

CTLE Operator Commands

  • CTLequalizer:GAIN
  • CTLequalizer:POLE
  • CTLequalizer:PRESets
  • CTLequalizer:PRESets:SELections
  • CTLequalizer:ZERO

DFE Operator Commands

  • DFEQualizer:BANDwidth
  • DFEQualizer:BANDwidth:AUTo
  • DFEQualizer:CLKDelay
  • DFEQualizer:DTHReshold
  • DFEQualizer:PRESets
  • DFEQualizer:PRESets:SELections
  • DFEQualizer:TAPS
  • DFEQualizer:TAPS:AUTo
  • DFEQualizer:TAPS:COUNt
  • DFEQualizer:TAPS:RECalculate
  • DFEQualizer:TAPS:LLIMit
  • DFEQualizer:TAPS:ULIMit

Apply S4P Operator Commands

  • DCONvolve:DRESult
  • DCONvolve:FMODel
  • DCONvolve:FNAMe
  • DCONvolve:FRELoad
  • DCONvolve:PORDer

Remove S4P Operator Commands

  • DDEConvolve:BANDwidth
  • DDEConvolve:BANDwidth:AUTo
  • DDEConvolve:BLIMit
  • DDEConvolve:DRESult
  • DDEConvolve:FMODel
  • DDEConvolve:FNAMe
  • DDEConvolve:FRELoad
  • DDEConvolve:PORDer

DELay Operator Commands

  • DELay:TIMe

4-Port DeEmbedding Operator Commands

  • DDEMbed
  • DDEMbed:BANDwidth
  • DDEMbed:BANDwidth:AUTo
  • DDEMbed:BLIMit
  • DDEMbed:FNAMe

Remove S2P Operator Commands

  • DEConvolve:BANDwidth
  • DEConvolve:BANDwidth:AUTo
  • DEConvolve:BLIMit
  • DEConvolve:FMODel
  • DEConvolve:FNAMe
  • DEConvolve:FRELoad
  • DEConvolve:PEXTract
  • DEConvolve:PORDer

2-Port DeEmbedding Operator Commands

  • DEMBed:BANDwidth
  • DEMBed:BANDwidth:AUTo
  • DEMBed:BLIMit
  • DEMBed:FNAMe

Linear Feedforward Equalizer Operator Commands

  • FFEQualizer:BANDwidth
  • FFEQualizer:BANDwidth:AUTo
  • FFEQualizer:DCGain?
  • FFEQualizer:NPRecursors
  • FFEQualizer:PRESets
  • FFEQualizer:PRESets:SELections
  • FFEQualizer:TAPS
  • FFEQualizer:TAPS:AUTo
  • FFEQualizer:TAPS:COUNt
  • FFEQualizer:TAPS:NORMalize
  • FFEQualizer:TAPS:RECalculate
  • FFEQualizer:TSPacing
  • FFEQualizer:TSPacing:TIMe
  • FFEQualizer:TSPacing:TPBit

FFT Operator Commands

  • FFT:DISPlay
  • FFT:PREFerence
  • FFT:PREFerence:TORigin
  • FFT:TFACtor
  • FFT:WINDow

Gaussian Operator Commands

  • GAUSsian:BANDwidth
  • GAUSsian:RISetime

Interpolate Operator Commands

  • INTerpolate:FACTor
  • INTerpolate:METHod

Median Operator Commands

  • MEDian:ECOunt

Random Operator Commands

  • RANDom:JITTer
  • RANDom:NOISe


:SPRocess{1:16}:ALIGn:TIMe

Command Syntax

:SPRocess{1:16}:ALIGn:TIMe   <delay_time>

<delay_time> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:ALIGn:TIMe?

Description

Adds the time delay for the Align math operator (:FUNCtion:FOPerator ALIGn). This function lines up two single-values waveforms or eye diagrams. Operand 1 is aligned with reference to operand 2. Automatic alignment ( specified by the :SPRocess:ALIGn:TIMe:AUTo command) must be set to off to before you can manually enter a value. By default, the automatic time delay is calculated.

Input Waveforms Before Alignment

Waveforms After Alignment

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Example Command Sequence

:FUNCtion2:FOPerator ALIGn
:FUNCtion2:OPERand1 CHAN1A
:FUNCtion2:OPERand2 CHAN2A
:SPRocess2:ALIGn:TIMe:AUTo OFF
:SPRocess2:ALIGn:TIMe 10.6E-12
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:ALIGn:TIMe:AUTo

Command Syntax

:SPRocess{1:16}:ALIGn:TIMe:AUTo {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:ALIGn:TIMe:AUTo?

Query Response

{1 | 0}

Description

Turns on or off automatic time-delay calculation for the Align math operator (:FUNCtion:FOPerator ALIGn). To force a recalculation of the time delay, use the :SPRocess:ALIGn:TIMe:RECalculate command. Use the :FUNCtion:FOPerator command to create an Align function.

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Example Command Sequence

:FUNCtion2:FOPerator ALIGn
:SPRocess2:ALIGn:TIMe:AUTo ON
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.
:SPRocess2:ALIGn:TIMe:AUTo:RECalculate


:SPRocess{1:16}:ALIGn:TIMe:RECalculate

Command Syntax

:SPRocess{1:16}:ALIGn:TIMe:RECalculate

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Forces a recalculation of the time delay for the Align math operator (:FUNCtion:FOPerator ALIGn). Automatic alignment must be selected (:SPRocess:ALIGn:AUTO).

Note

The function's output waveform must be displayed before you can use the RECalculate command. Use the :FUNCtion:DISPlay command to display the function.

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Example Command Sequence

:FUNCtion2:FOPerator ALIGn
:SPRocess2:ALIGn:TIMe:AUTo ON
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.
:SPRocess2:ALIGn:TIMe:AUTo:RECalculate


:SPRocess{1:16}:AMPLify:GAIN

Command Syntax

:SPRocess{1:16}:AMPLify:GAIN <gain>

<gain> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:AMPLify:GAIN?

Description

Specifies the gain of an Amplify math operator (:FUNCtion:FOPerator AMPLify).

Example Command Sequence

:FUNCtion2:FOPerator AMPLify
:SPRocess2:AMPLify:GAIN 1.5
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:AVERage:ECOunt

Command Syntax

:SPRocess{1:16}:AVERage:ECOunt <count>

<count> is a int.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:AVERage:ECOunt?

Description

Specifies the count of an Average math operator (:FUNCtion:FOPerator AVERage).

Example Command Sequence

:FUNCtion2:FOPerator AVERage
:SPRocess2:AVERage:ECOunt 64
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:BESSel:BANDwidth

Command Syntax

:SPRocess{1:16}:BESSel:BANDwidth <cutoff_frequency>

<cutoff_frequency> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:BESSel:BANDwidth?

Description

Specifies the cutoff frrequency in Hertz of a Bessel filter operator (:FUNCtion:FOPerator BESSel).

Example Command Sequence

:FUNCtion2:FOPerator BESSel
:SPRocess2:BESSel:BANDwidth 10.5E6
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:BUSer:ABBReviation?

Query Syntax

:SPRocess{1:16}:BUSer:ABBReviation?

{1:16} identifies one of up to 16 possible operators that can be defined as a two-input user-defined function. The operators are numbered in the order that they were originally added to the function.

Description

For the selected user-defined operator, returns the operator's abbreviated name. If an XML file was used to define the operator, the abbreviated name is specified in the file's XML <Abbreviation> tag. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename.

Use the :SPRocess{1:16}:BUSer:CFILe sibling command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:CFILe

Command Syntax

:SPRocess{1:16}:BUSer:CFILe <filename>

<filename> is the configuration file (*.xml, *.m, *.py).

Description

Specifies the configuration file that is used to configure an existing two-input user-defined operator. The file is an XML file that describes the operator and points to a Matlab (*.m) or Python (*.py) script file. Refer to Creating the XML File for information on creating a user operator XML file. A Matlab or Python script can directly be used to define the operator, but this method lacks the power of operator variables as described in User Defined Measurements. When an XML file is not used or the operator's name is not defined in the XML file, the file name is used to name the operator in the Waveform Signal Processing Window.

Use the :FUNCtion:FOPerator BUSer command to select the operator and input waveform.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:CFILe:RELoad

Command Syntax

:SPRocess{1:16}:BUSer:CFILe:RELoad

Description

Reloads the XML configuration file for the selected user-defined function.

Use the :SPRocess{1:16}:BUSer:CFILe parent command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:CFLoaded?

Query Syntax

:SPRocess{1:16}:BUSer:CFLoaded?

Query Response

{1 | 0}

Description

Queries the existence of the specified user-defined operator. Returns a one if the operator is defined and a zero it the operator has not been setup.

Use the :SPRocess{1:16}:BUSer:CFILe sibling command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:COMMents?

Query Syntax

:SPRocess{1:16}:BUSer:COMMents?

Description

Returns the comment string for the selected user-defined operator (:FUNCtion:FOPerator BUSer). The comment string is defined in the operator's XML definition file using the <Comments> tag.

Use the :SPRocess{1:16}:BUSer:CFILe sibling command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:CONTrol{1:4}:DOUBle

Command Syntax

SPRocess{1:16}:BUSER:CONTrol{1:4}:DOUBle <number>

<number> is a float.

Query Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:DOUBle?

Description

Sets the value of a function's user-defined control which has been configured as a double. User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 through 4 starting with the top control shown in the dialog box. For example, the following figure shows how four controls are numbered:

  • "N", an integer, is control 1.
  • "Fc", a double, is control 2.
  • "Test String", a string, is control 3.
  • "Selections", a drop-down list (enumeration), is control 4.

Since control 2 is defined as a double, you could set its value to 9.95328 GHz using the following command:

SPRocess1:BUSer:CONTrol2:DOUBle 9.95328e9

In this case, the sibling commands ENUM, FILE, INTeger, and STRing do not affect this user-defined control as the control has been defined as a double in the XML configuration file. This user-defined control is defined by the XML file's <Double> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:BUSer:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:CONTrol{1:4}:ENUM

Command Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:ENUM SELection{1:10}

Query Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:ENUM?

Description

Sets the value of a function's user-defined control which has been configured as a drop-down list (enumeration). User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 through 4 starting with the top control shown in the dialog box. For example, the following figure shows how four controls are numbered:

  • "N", an integer, is control 1.
  • "Fc", a double, is control 2.
  • "Test String", a string, is control 3.
  • "Selections", a drop-down list (enumeration), is control 4.

Since control 4 is defined as an enumeration, you could set its value to SELection2 using the following command. Because the second selection listed in the XML configuration file is listed as "Medium", you would see "Medium" in the dialog box. A maximum of 10 selections can be defined in the file use the <Selection> XML element.

SPRocess1:BUSer:CONTrol4:STRing SELection2

In this case, the sibling commands DOUBle, FILE, INTeger, and STRing do not affect this user-defined control as the control has been defined as an string in the XML configuration file. This user-defined control is defined by the XML file's <Enumeration> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:BUSer:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:CONTrol{1:4}:FILE

Command Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:FILE <file_name>

<file_name> is a string that includes the file name and any path.

Query Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:FILE?

Description

Sets the value of a function's user-defined control which has been configured as a file. User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 to a maximum of 4 starting with the top control shown in the dialog box. For example, the following figure shows how two controls are numbered:

  • "N", an integer, is control 1.
  • "Test File", a file, is control 2.

Since control 2 is defined as a file, you could set its value to "data.txt" using the following command:

SPRocess1:BUSer:CONTrol2:FILE "data.txt"

In this case, the sibling commands DOUBle, ENUM, INTeger, and STRing do not affect this user-defined control as the control has been defined as an string in the XML configuration file. This user-defined control is defined by the XML file's <File> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:BUSer:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:CONTrol{1:4}:INTeger

Command Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:INTeger <number>

<number> is an integer.

Query Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:INTeger?

Description

Sets the value of a function's user-defined control which has been configured as an integer. User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 through 4 starting with the top control shown in the dialog box. For example, the following figure shows how four controls are numbered:

  • "N", an integer, is control 1.
  • "Fc", a double, is control 2.
  • "Test String", a string, is control 3.
  • "Selections", a drop-down list (enumeration), is control 4.

Since control 1 is defined as a integer, you could set its value to 4 using the following command:

SPRocess1:BUSer:CONTrol1:INTeger 4

In this case, the sibling commands DOUBle, ENUM, FILE, and STRing do not affect this user-defined control as the control has been defined as an integer in the XML configuration file. This user-defined control is defined by the XML file's <Integer> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:BUSer:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:CONTrol{1:4}:STRing

Command Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:STRing

Query Syntax

SPRocess{1:16}:BUSer:CONTrol{1:4}:STRing?

Description

Sets the value of a function's user-defined control which has been configured as a string. User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 through 4 starting with the top control shown in the dialog box. For example, the following figure shows how four controls are numbered:

  • "N", an integer, is control 1.
  • "Fc", a double, is control 2.
  • "Test String", a string, is control 3.
  • "Selections", a drop-down list (enumeration), is control 4.

Since control 3 is defined as a string, you could set its value to "A string!" using the following command:

SPRocess1:BUSer:CONTrol3:STRing "A string!"

In this case, the sibling commands DOUBle, ENUM, FILE, and INTeger do not affect this user-defined control as the control has been defined as an string in the XML configuration file. This user-defined control is defined by the XML file's <String> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:BUSer:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:LSTatus?

Query Syntax

SPRocess:BUSer:LSTatus?

Description

Returns the status of the loading of the XML configuration file. Use the :REASon child command to return the reason for a failed load.

Use the :SPRocess{1:16}:BUSer:CFILe sibling command to load the configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:LSTatus:REASon?

Query Syntax

SPRocess:BUSer:LSTatus:REASon?

Description

Returns the reason for a failed load of a configuration file.

Use the :SPRocess{1:16}:BUSer:CFILe command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUSer:NAME?

Query Syntax

:SPRocess{1:16}:BUSer:NAME?

Description

For the selected user-defined operator (:FUNCtion:FOPerator BUSer), returns the operator's name. If an XML file was used to define the operator, the name is specified in the file's XML <Name> element. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename. The string is limited in length to 15 characters. If the operator has not been created, an empty string is returned.

Use the :SPRocess{1:16}:BUSer:CFILe sibling command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:BUTTerworth:BANDwidth

Command Syntax

:SPRocess{1:16}:BUTTerworth:BANDwidth <cutoff_frequency>

<cutoff_frequency> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:BUTTerworth:BANDwidth?

Description

Specifies the cutoff frrequency in Hertz of a Butterworth filter operator (:FUNCtion:FOPerator BUTTerworth).

Example Command Sequence

:FUNCtion2:FOPerator BUTTerworth
:SPRocess2:BUTTerworth:BANDwidth 7.5E9
:SPRocess2:BUTTerworth:ORDer 2
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:BUTTerworth:ORDer

Command Syntax

:SPRocess{1:16}:BUTTerworth:ORDer <order>

<order> is a int.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:BUTTerworth:ORDer?

Description

Specifies the order of a Butterworth filter operator (:FUNCtion:FOPerator BUTTerworth).

Example Command Sequence

:FUNCtion2:FOPerator BUTTerworth
:SPRocess2:BUTTerworth:BANDwidth 7.5E9
:SPRocess2:BUTTerworth:ORDer 2
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:CONVolve:FMODel

Command Syntax

:SPRocess{1:16}:CONVolve:FMODel {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}CONVolve:FMODel?

Query Response

{1 | 0}

Description

Flips the S-parameters of an Apply s2p operator (:FUNCtion:FOPerator CONVolve). If S-parameter file's data is not defined with the ports located as shown in the following diagram, flip the S-parameters to ensure that the S-parameter order is properly interpreted. Use the :SPRocess:CONVolve:FNAMe command to specify the S-parameter file.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator CONVolve
:SPRocess2:CONVolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:CONVolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:CONVolve:PORDer PORDer1234  // Port order in file
:SPRocess2:CONVolve:PEXTract TPORt2  // Extract port data
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:CONVolve:FNAMe

Command Syntax

:SPRocess{1:16}:CONVolve:FNAMe  "filename"

"filename" is a string. This command supports the DEFault common child command.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:CONVolve:FNAMe?

Description

User File Locations

  • Location of files
  • Path substitution variables

Specifies an S-parameter file that define a basic one-block model for an Apply s2p operator (:FUNCtion:FOPerator CONVolve). These files use a filename extension of .s2p. Any time delay added by the S-parameter file will be automatically removed in order to align the input and output waveforms. Use the :SPRocess:CONVolve:FMODel command to flip the file's S-parameter data, if needed. Two commands are provided that allow you to use 4-port S-parameters files (.s4p) with this operator. The commands are :SPRocess:CONVolve:PEXTract and :SPRocess:CONVolve:PORDer.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator CONVolve
:SPRocess2:CONVolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:CONVolve:FMODel ON  // Flips  S-parameters ports
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:CONVolve:FRELoad

Command Syntax

:SPRocess{1:16}:CONVolve:FRELoad

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Reloads an S-parameter file for an Apply s2p operator (:FUNCtion:FOPerator CONVolve). The file must have been previously loaded using the :SPRocess:CONVolve:FNAMe command.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator CONVolve
:SPRocess2:CONVolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:CONVolve:FMODel ON  // Flips  S-parameters ports
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
…
…
:SPRocess2:CONVolve:FRELoad


:SPRocess{1:16}:CONVolve:PEXTract

Command Syntax

:SPRocess{1:16}:CONVolve:PEXTract {DIFFerential | CMODe | TPORt1 | TPORt2}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}CONVolve:PEXTract?

Description

Specifies extracting 2-port information from a 4-port S-parameter file for an Apply s2p operator (:FUNCtion:FOPerator CONVolve). The following table shows the relationship between the three commands used to define and extract the 2-port data from the S-parameter file.

DIFFerential
Extracts s2p data from an s4p file with differential mode data.
CMODe
Extracts s2p data from an s4p file with common mode data.
TPORt1
Extracts s2p data from an s4p file selecting ports 1 and 2 or ports 1 and 3, depending on the state of :CONVolve:PORDer as shown in the following table.
TPORt2
Extracts s2p data from an s4p file selecting ports 1 and 3 or ports 2 and 4, depending on the state of :CONVolve:PORDer as shown in the following table.

Note

The :CONVolve:PEXTract and :CONVolve:PORDer commands are only available after an 4-port S-parameter file has been opened using the :CONVolve:FMODel command.

Arguments and Dialog-Box Settings for 4-Port S-Parameters Files
Port Configuration in s4p File | 4 Port Numbering Argument (:CONVolve:PORDer) | 2 Port Extraction Argument (:CONVolve:PEXTract) | Flip Model Argument (:CONVolve:FMODel)
 | PORDer1324 | (1⇔2) TPORt1 (3⇔4) TPORt2 | OFF
 | PORDer1234 | (1⇔3) TPORt1 (2⇔4) TPORt2 | OFF
 | PORDer1324 | (1⇔2) TPORt1 (3⇔4) TPORt2 | ON
 | PORDer1234 | (1⇔3) TPORt1 (2⇔4) TPORt2 | ON

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator CONVolve
:SPRocess2:CONVolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:CONVolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:CONVolve:PORDer PORDer1234  // Port order in file
:SPRocess2:CONVolve:PEXTract TPORt2  // Extract port data
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:CONVolve:PORDer

Command Syntax

:SPRocess{1:16}:CONVolve:PORDer {PORDer1234 | PORDer1324}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:CONVolve:PORDer?

Description

Specifies the order of the S-parameter file's ports to ensure that the data is properly interpreted by an Apply s2p operator (:FUNCtion:FOPerator CONVolve). The following table shows the relationship between the three commands used to define and extract the 2-port data from the S-parameter file.

Note

The :CONVolve:PORDer and :CONVolve:PEXTract commands are only available after an 4-port S-parameter file has been opened using the :CONVolve:FMODel command.

Arguments and Dialog-Box Settings for 4-Port S-Parameters Files
Port Configuration in s4p File | 4 Port Numbering Argument (:CONVolve:PORDer) | 2 Port Extraction Argument (:CONVolve:PEXTract) | Flip Model Argument (:CONVolve:FMODel)
 | PORDer1324 | (1⇔2) TPORt1 (3⇔4) TPORt2 | OFF
 | PORDer1234 | (1⇔3) TPORt1 (2⇔4) TPORt2 | OFF
 | PORDer1324 | (1⇔2) TPORt1 (3⇔4) TPORt2 | ON
 | PORDer1234 | (1⇔3) TPORt1 (2⇔4) TPORt2 | ON

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator CONVolve
:SPRocess2:CONVolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:CONVolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:CONVolve:PORDer PORDer1234  // Port order in file
:SPRocess2:CONVolve:PEXTract TPORt2  // Extract port data
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:CTLequalizer:GAIN

Command Syntax

:SPRocess{1:16}:CTLequalizer:GAIN <gain>

<gain> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:CTLequalizer:GAIN?

Description

Specifies the DC gain applied by a Continuous Time Linear Equalizer (CTLE) operator. Use the :FUNCtion:FOPerator CTLE command to apply the operator. The CTLE is a first-order transfer function defined by DC gain, zero frequency (:SPRocess:CTLequalizer:ZERo), and two poles (:SPRocess:CTLequalizer:POLe).

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Example Command Sequence

:FUNCtion2:FOPerator CTLequalizer
:SPRocess2:CTLequalizer:GAIN 1.2
:SPRocess2:CTLequalizer:ZERo 4.0E9
:SPRocess2:CTLequalizer:POLe1 10E9
:SPRocess2:CTLequalizer:POLe2 15.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:CTLequalizer:POLE{1|2}

Command Syntax

:SPRocess{1:16}:CTLequalizer:POLE{1|2} <pole_frequency>

<pole_frequency> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:CTLequalizer:POLE{1|2}?

Description

Specifies the frequency of pole 1 or pole 2 of a Continuous Time Linear Equalizer (CTLE) operator (:FUNCtion:FOPerator CTLE). The CTLE is a first-order transfer function defined by DC gain (:SPRocess:CTLequalizer:GAIN), zero frequency (:SPRocess:CTLequalizer:ZERo), and two poles.

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Example Command Sequence

:FUNCtion2:FOPerator CTLequalizer
:SPRocess2:CTLequalizer:GAIN 1.2
:SPRocess2:CTLequalizer:ZERO 4.0E9
:SPRocess2:CTLequalizer:POLE1 10E9
:SPRocess2:CTLequalizer:POLE2 15.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess:CTLequalizer:PRESets

Command Syntax

:SPRocess:CTLequalizer:PRESets <preset name>

<preset name> is a string.

Description

Loads a previously saved settings known as a preset for a Continuous Time Linear Equalizer (CTLE) operator. The preset configures the operator to your saved settings. To query which presets are available for loading, use the PRESet:SELections? query. The following factory presets are provided:

  • OIF CEI-28G-VSR (1db)
  • OIF CEI-28G-VSR (2db)
  • OIF CEI-28G-VSR (3db)
  • OIF CEI-28G-VSR (4db)
  • OIF CEI-28G-VSR (5db)
  • OIF CEI-28G-VSR (6db)
  • OIF CEI-28G-VSR (7db)
  • OIF CEI-28G-VSR (8db)
  • OIF CEI-28G-VSR (9db)

Presets can only be saved from the operator's Setup dialog box. There is no programming command for this task.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Commands

:SPRocess:CTLequalizer:PRESet "OIF CEI-28G-VSR (3db)"  //  Load a factory provided preset.

:SPRocess:CTLequalizer:PRESet "MyPreset"  //  Load your saved preset.

:SPRocess:CTLequalizer:PRESet:SELections?  //  Get list of saved presets.


:SPRocess:CTLequalizer:PRESets:SELections?

Query Syntax

:SPRocess:CTLequalizer:PRESets:SELections?

Query Response

"preset name, preset name, preset name, …"

Description

Returns a string which is a comma-separated list of all saved presets for the Continuous Time Linear Equalizer (CTLE) operator. Use the PRESet command to load one of these presets.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SPRocess{1:16}:CTLequalizer:ZERO

Command Syntax

:SPRocess{1:16}:CTLequalizer:ZERO <zero_frequency>

<zero_frequency> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:CTLequalizer:ZERO?

Description

Specifies the zero frequency of a ontinuous Time Linear Equalizer (CTLE) operator (:FUNCtion:FOPerator CTLE). The CTLE is a first-order transfer function defined by DC gain (:SPRocess:CTLequalizer:GAIN), zero frequency, and two poles (:SPRocess:CTLequalizer:POLe).

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Example Command Sequence

:FUNCtion2:FOPerator CTLequalizer
:SPRocess2:CTLequalizer:GAIN 1.2
:SPRocess2:CTLequalizer:ZERO 4.0E9
:SPRocess2:CTLequalizer:POLE1 10E9
:SPRocess2:CTLequalizer:POLE2 15.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DCONvolve:DRESult

Command Syntax

:SPRocess{1:16}:DCONvolve:DRESult {DIFFerential | CMODe | SPLus | SMINus}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}DCONvolve:DRESult?

Description

Selects the output type of an Apply S4P operator (:FUNCtion:FOPerator DCONvolve). Use the :SPRocess:DCONvolve:FNAMe command to open an S-parameter file that define a basic one-block model for a four-port device.

DIFFerential
Specifies a differential output signal.
CMODe
Specifies a common mode output signal.
SPLus
Specifies a single-ended (+) output signal.
SMINus
Specifies a single-ended (−) output signal.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DCONvolve
:SPRocess2:DCONvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DCONvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DCONvolve:DRESult CMODe
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DCONvolve:FMODel

Command Syntax

:SPRocess{1:16}:DCONvolve:FMODel {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}DCONvolve:FMODel?

Query Response

{1 | 0}

Description

Flips the S-parameters input to an Apply S4P operator (:FUNCtion:FOPerator DCONvolve). If the S-parameter file's data is not defined with the ports located as shown in the top two diagrams in the following table, flip the S-parameters to ensure that the S-parameter order is properly interpreted. Use the :SPRocess:DCONvolve:PORDer command to ensure that the S-parameter port order is also properly interpreted.

Arguments and Dialog-Box Settings for 4-Port S-Parameters Files
Port Configuration in File | Flip Model Argument (DCONvolve:FMODel) | 4 Port Numbering Argument (:DCONvolve:PORDer)
 | OFF | PORDer1324
 | OFF | PORDer1234
 | ON | PORDer1324
 | ON | PORDer1234

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DCONvolve
:SPRocess2:DCONvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DCONvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DCONvolve:PORDer PORDer1234  // Port order in file
:SPRocess2:DCONvolve:DRESult CMODe
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DCONvolve:FNAMe

Command Syntax

:SPRocess{1:16}:DCONvolve:FNAMe  "filename"

"filename" is a string. This command supports the DEFault common child command.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DCONvolve:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Opens an S-parameter file that define a basic one-block model for an Apply S4P operator (:FUNCtion:FOPerator DCONvolve). These files use a filename extension of .s4p. Any time delay added by the S-parameter file will be automatically removed in order to align the input and output waveforms. Use the :SPRocess:DCONvolve:FMODel command to flip the file's S-parameter data, if needed. Use the :SPRocess:DCONvolve:PORDer command to reverse the port order used in the file's S-parameter data, if needed.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DCONvolve
:SPRocess2:DCONvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DCONvolve:FMODel ON  // Flips  S-parameters ports
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DCONvolve:FRELoad

Command Syntax

:SPRocess{1:16}:DCONvolve:FRELoad

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Reloads an S-parameter file for an Apply S4P operator (:FUNCtion:FOPerator DCONvolve). The file must have been previously loaded using the :SPRocess:DCONvolve:FNAMe command.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DCONvolve
:SPRocess2:DCONvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DCONvolve:FMODel ON  // Flips  S-parameters ports
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
…
…
:SPRocess2:DCONvolve:FRELoad


:SPRocess{1:16}:DCONvolve:PORDer

Command Syntax

:SPRocess{1:16}:DCONvolve:PORDer {PORDer1234 | PORDer1324}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}DCONvolve:PORDer?

Description

Reverses the order of the S-parameter file's ports to an Apply S4P operator (:FUNCtion:FOPerator DCONvolve). This ensures that the data is properly interpreted. If the S-parameter file's port order is not defined with the ports located as shown in the first or third diagrams in the following table, reverse the port order. Use the :SPRocess:DCONvolve:FMODel command to flip the S-parameter data.

Arguments and Dialog-Box Settings for 4-Port S-Parameters Files
Port Configuration in File | Flip Model Argument (DCONvolve:FMODel) | 4 Port Numbering Argument (:DCONvolve:PORDer)
 | OFF | PORDer1324
 | OFF | PORDer1234
 | ON | PORDer1324
 | ON | PORDer1234

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DCONvolve
:SPRocess2:DCONvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DCONvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DCONvolve:PORDer PORDer1234  // Port order in file
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEConvolve:BANDwidth

Command Syntax

:SPRocess{1:16}:DDEConvolve:BANDwidth <bandwidth>

<bandwidth> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEConvolve:BANDwidth?

Description

To minimize the effects of noise, specifies the bandwidth, in Hertz, of a Remove s4p operator (:FUNCtion:FOPerator DDEConvolve). The :SPRocess:DDEConvolve:BANDwidth:AUTo child command must be set OFF, before you can set the bandwidth manually. Use the :SPRocess:DDEConvolve:BANDwidth:BLIMit command to select the type of bandwidth filter used. Use the :SPRocess:DDEConvolve:FNAMe command to open an S-parameter file or your device.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEConvolve
:SPRocess2:DDEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DDEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEConvolve:BANDwidth:AUTo OFF
:SPRocess2:DDEConvolve:BANDwidth:BLIMit GAUSsian
:SPRocess2:DDEConvolve:BANDwidth 7.5E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEConvolve:BANDwidth:AUTo

Command Syntax

:SPRocess{1:16}:DDEConvolve:BANDwidth:AUTo {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEConvolve:BANDwidth:AUTo?

Query Response

{1 | 0}

Description

Turns on or off automatic bandwidth setting for a Remove s4p operator (:FUNCtion:FOPerator DDEConvolve). When off, use the parent command (:SPRocess:DDEConvolve:BANDwidth) to enter the bandwidth.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEConvolve
:SPRocess2:DDEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DDEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEConvolve:BANDwidth:AUTo OFF
:SPRocess2:DDEConvolve:BANDwidth:BLIMit GAUSsian
:SPRocess2:DDEConvolve:BANDwidth 7.5E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEConvolve:BLIMit

Command Syntax

:SPRocess{1:16}:DEConvolve:BLIMit {NONE | GAUSsian | SINC}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEConvolve:BLIMit?

Description

Specifies the type of bandwidth filter used in a Remove s4p operator (:FUNCtion:FOPerator DDEConvolve). Use the :SPRocess:DDEConvolve:BANDwidth command to specify the function's bandwidth. Use the :SPRocess:DDEConvolve:FNAMe command to open an existing network file that models your test setup.

NONE
No filter is applied.
GAUSsian
A Gaussian filter is used, which is the default.
SINC
Selects a sin(x)/x filter.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEConvolve
:SPRocess2:DDEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DDEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEConvolve:BANDwidth:AUTo OFF
:SPRocess2:DDEConvolve:BANDwidth:BLIMit GAUSsian
:SPRocess2:DDEConvolve:BANDwidth 7.5E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEConvolve:DRESult

Command Syntax

:SPRocess{1:16}:DDEConvolve:DRESult {DIFFerential | CMODe | SPLus | SMINus}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}DDEConvolve:DRESult?

Description

Selects the output type of a Remove s4p operator (:FUNCtion:FOPerator DDEConvolve). Use the :SPRocess:DDEConvolve:FNAMe command to open an S-parameter file that define a basic one-block model for a four-port device.

DIFFerential
Specifies a differential output signal.
CMODe
Specifies a common mode output signal.
SPLus
Specifies a single-ended (+) output signal.
SMINus
Specifies a single-ended (−) output signal.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEConvolve
:SPRocess2:DDEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DDEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEConvolve:DRESult CMODe
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEConvolve:FMODel

Command Syntax

:SPRocess{1:16}:DDEConvolve:FMODel {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}DDEConvolve:FMODel?

Query Response

{1 | 0}

Description

Flips the S-parameters for an Remove s4p operator (:FUNCtion:FOPerator DDEConvolve). If S-parameter file's data is not defined with the ports located as shown in the top two diagrams in the following table, flip the S-parameters to ensure that the S-parameter order is properly interpreted. Use the :SPRocess:DDEConvolve:PORDer command to ensure that the S-parameter port order is also properly interpreted.

Arguments and Dialog-Box Settings for 4-Port S-Parameters Files
Port Configuration in File | Flip Model Argument (DDEConvolve:FMODel) | 4 Port Numbering Argument (:DDEConvolve:PORDer)
 | OFF | PORDer1324
 | OFF | PORDer1234
 | ON | PORDer1324
 | ON | PORDer1234

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEConvolve
:SPRocess2:DDEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:DDEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEConvolve:PORDer PORDer1324
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEConvolve:FNAMe

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Command Syntax

:SPRocess{1:16}:DDEConvolve:FNAMe  "filename"

"filename" is a string. This command supports the DEFault common child command.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEConvolve:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies an S-parameter file for a Remove s4p operator (:FUNCtion:FOPerator DDEConvolve). These S-parameter files use the filename extension of .s4p. Before you can use this operator, you must create an S-parameter file of the device to be removed. Use the :SPRocess:DDEConvolve:BANDwidth command set the bandwidth for Remove s4p function. Use the :SPRocess:DDEConvolve:BANDwidth:BLIMit command to select the type of bandwidth filter used.

Example Command Sequence

:FUNCtion2:FOPerator DDEConvolve
:SPRocess2:DDEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEConvolve:FRELoad

Command Syntax

:SPRocess{1:16}:DDEConvolve:FRELoad

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Reloads an S-parameter file for a Remove s4p operator (:FUNCtion:FOPerator DDEConvolve). The file must have been loaded using the :SPRocess:DDEConvolve:FNAMe command.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEConvolve
:SPRocess2:DDEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DDEConvolve:FMODel ON  // Flips  S-parameters ports
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
…
…
:SPRocess2:DDEConvolve:FRELoad


:SPRocess{1:16}:DDEConvolve:PORDer

Command Syntax

:SPRocess{1:16}:DDEConvolve:PORDer {PORDer1234 | PORDer1324}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEConvolve:PORDer?

Description

Reverses the order of the S-parameter file's ports for a Remove s4p operator (:FUNCtion:FOPerator DDEConvolve). This ensures that the data is properly interpreted. If the S-parameter file's port order is not defined with the ports located as shown in the first and third diagrams in the following table, reverse the port order. Use the :SPRocess:DDEConvolve:FMODel command to flip the S-parameter data.

Arguments and Dialog-Box Settings for 4-Port S-Parameters Files
Port Configuration in File | Flip Model Argument (DDEConvolve:FMODel) | 4 Port Numbering Argument (:DDEConvolve:PORDer)
 | OFF | PORDer1324
 | OFF | PORDer1234
 | ON | PORDer1324
 | ON | PORDer1234

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEConvolve
:SPRocess2:DDEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:DDEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEConvolve:PORDer PORDer1324
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEMbed

Command Syntax

:SPRocess{1:16}:DDEMbed {DIFFerential | CMODe | SPLus | SMINus}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEMbed?

Description

Selects the output type of a 4-Port DeEmbedding operator (:FUNCtion:FOPerator DDEMbed). Use the :SPRocess:DDEMbed:BANDwidth command to specify the function's bandwidth. Use the :SPRocess:DDEMbed:BLIMit command to specify a bandwidth filter. Use the :SPRocess:DDEMbed:FNAMe command to open an existing network file that models your test setup.

DIFFerential
Specifies a differential output signal.
CMODe
Specifies a common mode output signal.
SPLus
Specifies a single-ended (+) output signal.
SMINus
Specifies a single-ended (−) output signal.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEMbed
:SPRocess2:DDEMbed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf4"
:SPRocess2:DDEMbed DIFFerential
:SPRocess2:DDEMbed:BANDwidth:AUTo ON
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEMbed:BANDwidth

Command Syntax

:SPRocess{1:16}:DDEMbed:BANDwidth <bandwidth>

<bandwidth> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEMbed:BANDwidth?

Description

Specifies the bandwidth, in Hertz, of a 4-Port DeEmbedding operator (:FUNCtion:FOPerator DDEMbed). This minimizes the effects of noise. The :SPRocess:DDEMbed:BANDwidth:AUTo child command must be set OFF, before you can set the bandwidth manually. Use the :SPRocess:DDEMbed:BANDwidth:BLIMit command to select the type of bandwidth filter used. Use the :SPRocess:DDEMbed:FNAMe command to open an existing network file that models your test setup.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEMbed
:SPRocess2:DDEMbed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf4"
:SPRocess2:DDEMbed:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEMbed:BANDwidth:AUTo OFF
:SPRocess2:DDEMbed:BANDwidth 7.5E9
:SPRocess2:DDEMbed:BANDwidth:BLIMit GAUSsian
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEMbed:BANDwidth:AUTo

Command Syntax

:SPRocess{1:16}:DDEMbed:BANDwidth:AUTo {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEMbed:BANDwidth:AUTo?

Query Response

{1 | 0}

Description

Turns on or off automatic bandwidth setting for a 4-Port DeEmbedding operator (:FUNCtion:FOPerator DDEMbed).. When off, use the parent command (:SPRocess:DDEMbed:BANDwidth) to enter the bandwidth.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEMbed
:SPRocess2:DDEMbed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf4"
:SPRocess2:DDEMbed:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEMbed:BANDwidth:AUTo OFF
:SPRocess2:DDEMbed:BANDwidth:BLIMit GAUSsian
:SPRocess2:DDEMbed:BANDwidth 7.5E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEMbed:BLIMit

Command Syntax

:SPRocess{1:16}:DDEMbed:BLIMit {NONE | GAUSsian | SINC}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEMbed:BLIMit?

Description

Specifies the type of bandwidth filter used for a 4-Port DeEmbedding operator (:FUNCtion:FOPerator DDEMbed). Use the :SPRocess:DDEMbed:BANDwidth command to specify the function's bandwidth. Use the :SPRocess:DDEMbed:BANDwidth:BLIMit command to select the type of bandwidth filter used. Use the :SPRocess:DDEMbed:FNAMe command to open an existing network file that models your test setup.

NONE
No filter is applied.
GAUSsian
A Gaussian filter is used, which is the default.
SINC
Selects the sin(x)/x filter.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DDEMbed
:SPRocess2:DDEMbed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf4"
:SPRocess2:DDEMbed:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DDEMbed:BANDwidth:AUTo OFF
:SPRocess2:DDEMbed:BANDwidth 7.5E9
:SPRocess2:DDEMbed:BANDwidth:BLIMit GAUSsian
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DDEMbed:FNAMe

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Command Syntax

:SPRocess{1:16}:DDEMbed:FNAMe  "filename"

"filename" is a string. This command supports the DEFault common child command.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DDEMbed:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies an existing network file for a 4-Port DeEmbedding operator (:FUNCtion:FOPerator DDEMbed). The file models 4-Port DeEmbedding for a full system of transmitter, receiver, and channel blocks that removes or inserts test-setup elements. These transfer function files use the filename extension of .tf4. You must create and save network files for your test setup using FlexDCA's menus. Use the :SPRocess:DDEMbed:BANDwidth command set the bandwidth os 4-port de-embedding. Use the :SPRocess:DDEMbed:BANDwidth:BLIMit command to select the type of bandwidth filter used.

Note

You must create and save network files for your test setup using FlexDCA's menus. You cannot create and define networks using remote programming commands.

Example Command Sequence

:FUNCtion2:FOPerator DDEMbed
:SPRocess2:DDEMbed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf4"
:SPRocess2:DDEMbed DIFFerential
:SPRocess2:DDEMbed:BANDwidth:AUTo ON
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEConvolve:BANDwidth

Command Syntax

:SPRocess{1:16}:DEConvolve:BANDwidth <bandwidth>

<bandwidth> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEConvolve:BANDwidth?

Description

Specifies the bandwidth, in Hertz, of a Remove s2p operator (:FUNCtion:FOPerator DEConvolve). This minimizes the effects of noise. The :SPRocess:DEConvolve:BANDwidth:AUTo child command must be set OFF, before you can set the bandwidth manually. Use the :SPRocess:DEConvolve:BANDwidth:BLIMit command to select the type of bandwidth filter used. Use the :SPRocess:DEConvolve:FNAMe command to open an S-parameter file or your device.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEConvolve
:SPRocess2:DEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:DEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DEConvolve:BANDwidth:AUTo OFF
:SPRocess2:DEConvolve:BANDwidth:BLIMit GAUSsian
:SPRocess2:DEConvolve:BANDwidth 7.5E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEConvolve:BANDwidth:AUTo

Command Syntax

:SPRocess{1:16}:DEConvolve:BANDwidth:AUTo {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEConvolve:BANDwidth:AUTo?

Query Response

{1 | 0}

Description

Turns on or off automatic bandwidth setting for a Remove s2p operator (:FUNCtion:FOPerator DEConvolve). When off, use the parent command (:SPRocess:DEConvolve:BANDwidth) to enter the bandwidth.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEConvolve
:SPRocess2:DEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:DEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DEConvolve:BANDwidth:AUTo OFF
:SPRocess2:DEConvolve:BANDwidth:BLIMit GAUSsian
:SPRocess2:DEConvolve:BANDwidth 7.5E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEConvolve:BLIMit

Command Syntax

:SPRocess{1:16}:DEConvolve:BLIMit {NONE | GAUSsian | SINC}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEConvolve:BLIMit?

Description

Specifies the type of bandwidth filter used in a Remove s2p operator (:FUNCtion:FOPerator DEConvolve). Use the :SPRocess:DEConvolve:BANDwidth command to specify the function's bandwidth. Use the :SPRocess:DEConvolve:FNAMe command to open an existing network file that models your test setup.

NONE
No filter is applied.
GAUSsian
A Gaussian filter is used, which is the default.
SINC
Selects a sin(x)/x filter.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEConvolve
:SPRocess2:DEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:DEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DEConvolve:BANDwidth:AUTo OFF
:SPRocess2:DEConvolve:BANDwidth:BLIMit GAUSsian
:SPRocess2:DEConvolve:BANDwidth 7.5E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEConvolve:FMODel

Command Syntax

:SPRocess{1:16}:DEConvolve:FMODel {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}DEConvolve:FMODel?

Query Response

{1 | 0}

Description

Flips the S-parameters input to a Remove s2p operator (:FUNCtion:FOPerator DEConvolve). If S-parameter file's data is not defined with the ports located as shown in the following diagram, flip the S-parameters to ensure that the S-parameter order is properly interpreted.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEConvolve
:SPRocess2:DEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:DEConvolve:FMODel ON  // Flips  S-parameters ports
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEConvolve:FNAMe

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Command Syntax

:SPRocess{1:16}:DEConvolve:FNAMe  "filename"

"filename" is a string. This command supports the DEFault common child command.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEConvolve:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies an S-parameter file for a Remove s2p operator (:FUNCtion:FOPerator DEConvolve). The S-parameter file has the filename extension of .s2p. Before you can use this operator, you must create an S-parameter file of the device to be removed. Use the :SPRocess:DEConvolve:BANDwidth command set the bandwidth for Remove s2p function. Use the :SPRocess:DEConvolve:BANDwidth:BLIMit command to select the type of bandwidth filter used. Two commands are provided that allow you to use 4-port S-parameters files (.s4p) with this operator. The commands are :SPRocess:DEConvolve:PEXTract and :SPRocess:DEConvolve:PORDer.

Example Command Sequence

:FUNCtion2:FOPerator DEConvolve
:SPRocess2:DEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEConvolve:FRELoad

Command Syntax

:SPRocess{1:16}:DEConvolve:FRELoad

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Reloads an S-parameter file for a Remove s2p operator (:FUNCtion:FOPerator DEConvolve). The file must have been previously loaded using the :SPRocess:DEConvolve:FNAMe command.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEConvolve
:SPRocess2:DEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s2p"
:SPRocess2:DEConvolve:FMODel ON  // Flips  S-parameters ports
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
…
…
:SPRocess2:DEConvolve:FRELoad


:SPRocess{1:16}:DEConvolve:PEXTract

Command Syntax

:SPRocess{1:16}:DEConvolve:PEXTract {DIFFerential | CMODe | TPORt1 | TPORt2}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}DEConvolve:PEXTract?

Description

Specifies extracting 2-port information from a 4-port S-parameter file for an Remove s2p operator (:FUNCtion:FOPerator DEConvolve). The following table shows the relationship between the three commands used to define and extract the 2-port data from the S-parameter file.

DIFFerential
Extracts s2p data from s4p file with differential mode data.
CMODe
Extracts s2p data from s4p file with common mode data.
TPORt1
Extracts s2p data from an s4p file selecting ports 1 and 2 or ports 1 and 3, depending on the state of :CONVolve:PORDer as shown in the following table.
TPORt2
Extracts s2p data from an s4p file selecting ports 1 and 3 or ports 2 and 4, depending on the state of :CONVolve:PORDer as shown in the following table.

Note

The :DEConvolve:PEXTract and :DEConvolve:PORDer commands are only available after an 4-port S-parameter file has been opened using the :DEConvolve:FMODel command.

Arguments and Dialog-Box Settings for 4-Port S-Parameters Files
Port Configuration in s4p File | 4 Port Numbering Argument (:DEConvolve:PORDer) | 2 Port Extraction Argument (:DEConvolve:PEXTract) | Flip Model Argument (:DEConvolve:FMODel)
 | PORDer1324 | (1⇔2) TPORt1 (3⇔4) TPORt2 | OFF
 | PORDer1234 | (1⇔3) TPORt1 (2⇔4) TPORt2 | OFF
 | PORDer1324 | (1⇔2) TPORt1 (3⇔4) TPORt2 | ON
 | PORDer1234 | (1⇔3) TPORt1 (2⇔4) TPORt2 | ON

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEConvolve
:SPRocess2:DEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DEConvolve:PORDer PORDer1234  // Port order in file
:SPRocess2:DEConvolve:PEXTract TPORt2  // Extract port data
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEConvolve:PORDer

Command Syntax

:SPRocess{1:16}:DEConvolve:PORDer {PORDer1234 | PORDer1324}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEConvolve:PORDer?

Description

Specifies the order of the S-parameter file's ports to ensure that the data is properly interpreted by an Remove s2p operator (:FUNCtion:FOPerator DEConvolve). The following table shows the relationship between the three commands used to define and extract the 2-port data from the S-parameter file.

Note

The :DEConvolve:PORDer and :DEConvolve:PEXTract commands are only available after an 4-port S-parameter file has been opened using the :DEConvolve:FMODel command.

Arguments and Dialog-Box Settings for 4-Port S-Parameters Files
Port Configuration in s4p File | 4 Port Numbering Argument (:DEConvolve:PORDer) | 2 Port Extraction Argument (:DEConvolve:PEXTract) | Flip Model Argument (:DEConvolve:FMODel)
 | PORDer1324 | (1⇔2) TPORt1 (3⇔4) TPORt2 | OFF
 | PORDer1234 | (1⇔3) TPORt1 (2⇔4) TPORt2 | OFF
 | PORDer1324 | (1⇔2) TPORt1 (3⇔4) TPORt2 | ON
 | PORDer1234 | (1⇔3) TPORt1 (2⇔4) TPORt2 | ON

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEConvolve
:SPRocess2:DEConvolve:FNAMe "C:\Users\Documents\Keysight\FlexDCA\S-Parameter Data\DUT_4.s4p"
:SPRocess2:DEConvolve:FMODel ON  // Flips  S-parameters ports
:SPRocess2:DEConvolve:PORDer PORDer1234  // Port order in file
:SPRocess2:DEConvolve:PEXTract TPORt2  // Extract port data
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DELay:TIMe

Command Syntax

:SPRocess{1:16}:DELay:TIMe  <delay_time>

<delay_time> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DELay:TIMe?

Description

Sets the time delay for a Delay operator (:FUNCtion:FOPerator DELay).

FlexDCA Revision

Requires FlexDCA revision A.01.60 and above.

Example Command Sequence

:FUNCtion2:FOPerator DELay
:SPRocess2:DELay:TIMe 10.6E-12
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEMBed:BANDwidth

Command Syntax

:SPRocess{1:16}:DEMBed:BANDwidth <bandwidth>

<bandwidth> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEMBed:BANDwidth?

Description

Specifies the bandwidth, in Hertz, of a 2-Port De-Embedding operator (:FUNCtion:FOPerator DEMBed). This minimizes the effects of noise. The :SPRocess:DEMBed:BANDwidth:AUTo child command must be set OFF, before you can set the bandwidth manually. Use the :SPRocess:DEMBed:BANDwidth:BLIMit command to select the type of bandwidth filter used. Use the :SPRocess:DEMBed:FNAMe command to open an existing network file that models your test setup.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEMBed
:SPRocess2:DEMBed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf2"
:SPRocess2:DEMBed:BANDwidth:AUTo OFF
:SPRocess2:DEMBed:BANDwidth 8.5E9
:SPRocess2:DEMBed:BLIMit GAUSsian
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEMBed:BANDwidth:AUTo

Command Syntax

:SPRocess{1:16}:DEMBed:BANDwidth:AUTo {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEMBed:BANDwidth:AUTo?

Query Response

{1 | 0}

Description

Turns on or off automatic bandwidth setting for a 2-Port De-Embedding operator (:FUNCtion:FOPerator DEMBed). When off, use the parent command (:SPRocess:DEMBed:BANDwidth) to enter the bandwidth.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEMBed
:SPRocess2:DEMBed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf2"
:SPRocess2:DEMBed:BANDwidth:AUTo OFF
:SPRocess2:DEMBed:BANDwidth 8.5E9
:SPRocess2:DEMBed:BLIMit GAUSsian
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEMBed:BLIMit

Command Syntax

:SPRocess{1:16}:DEMBed:BLIMit {NONE | GAUSsian | SINC}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEMBed:BLIMit?

Description

Specifies the type of bandwidth filter used a 2-Port De-Embedding operator (:FUNCtion:FOPerator DEMBed). Use the :SPRocess:DEMBed:BANDwidth command to specify the function's bandwidth. Use the :SPRocess:DEMBed:FNAMe command to open an existing network file that models your test setup.

NONE
No filter is applied.
GAUSsian
A Gaussian filter is used, which is the default.
SINC
Selects the sin(x)/x filter.

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Example Command Sequence

:FUNCtion2:FOPerator DEMBed
:SPRocess2:DEMBed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf2"
:SPRocess2:DEMBed:BANDwidth:AUTo ON
:SPRocess2:DEMBed:BLIMit GAUSsian
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DEMBed:FNAMe

Requires a module with Option SIM. InfiniiSim-DCA Waveform Transformation Toolset.

Command Syntax

:SPRocess{1:16}:DEMBed:FNAMe  "filename"

"filename" is a string. This command supports the DEFault common child command.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DEMBed:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies an existing network file for a 2-Port De-Embedding operator (:FUNCtion:FOPerator DEMBed). The file models 2-Port DeEmbedding for a full system of transmitter, receiver, and channel blocks that removes or inserts test-setup elements. These transfer function files use the filename extension of .tf2. Use the :SPRocess:DEMBed:BANDwidth command set the bandwidth os 2-port de-embedding. Use the :SPRocess:DEMBed:BANDwidth:BLIMit command to select the type of bandwidth filter used.

Note

You must create and save network files for your test setup using FlexDCA's menus. You cannot create and define networks using remote programming commands.

Example Command Sequence

:FUNCtion2:FOPerator DEMBed
:SPRocess2:DEMBed:FNAMe "C:\Users\Documents\Keysight\FlexDCA\De-Embedding Networks\DUT_4.tf2"
:SPRocess2:DEMBed:BANDwidth:AUTo ON
:SPRocess2:DEMBed:BLIMit GAUSsian
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:DFEQualizer:BANDwidth

Command Syntax

:SPRocess{1:16}:DFEQualizer:BANDwidth  <bandwidth>

<bandwidth> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:BANDwidth?

Description

Specifies the bandwidth in Hertz of a Gaussian filter for the Decision Feedback Equalizer operator (:FUNCtion:FOPerator DFEQualizer). The Gaussian filter defaults to the bit rate but can be manually set up to 1 THz.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo OFF
:SPRocess1:DFEQualizer:BANDwidth 1.0E+10
:SPRocess1:DFEQualizer:DTHReshold OFF


:SPRocess{1:16}:DFEQualizer:BANDwidth:AUTo

Command Syntax

:SPRocess{1:16}:DFEQualizer:BANDwidth:AUTo {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:BANDwidth:AUTo?

Query Response

{1 | 0}

Description

Turns on and off automatic bandwidth setting of the Gaussian filter for the Decision Feedback Equalizer operator (:FUNCtion:FOPerator DFEQualizer). To manually set the bandwidth, use the :DFEQualizer:BANDwidth command. By default, automatic configuration is on.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo ON
:SPRocess1:DFEQualizer:DTHReshold OFF


:SPRocess{1:16}:DFEQualizer:CLKDelay

Command Syntax

:SPRocess{1:16}:DFEQualizer:CLKDelay <delay_time>

<delay_time> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:CLKDelay?

Description

Sets the time delay for a Decision Feedback Equalizer operator (:FUNCtion:FOPerator DFEQualizer), which delays the decision point used by the slicer. The decision point is placed directly between the edges, so as to delay the edges.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo ON
:SPRocess1:DFEQualizer:DTHReshold OFF


:SPRocess{1:16}:DFEQualizer:DTHReshold

Command Syntax

:SPRocess{1:16}:DFEQualizer:DTHReshold {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:DTHReshold?

Query Response

{1 | 0}

Description

For the Decision Feedback Equalizer operator (:FUNCtion:FOPerator DFEQualizer), selects to display the DFE thresholds instead of the signal.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo OFF
:SPRocess1:DFEQualizer:BANDwidth 1.0E+10
:SPRocess1:DFEQualizer:DTHReshold ON


:SPRocess:DFEQualizer:PRESets

Command Syntax

:SPRocess:DFEQualizer:PRESets <string>

Description

Loads a previously saved a preset for a Decision Feedback Equalizer (DFE) operator. The preset configures the operator to your saved settings. To query which presets are available for loading, use the PRESet:SELections? query.

Presets can only be saved from the operator's Setup dialog box. There is no programming command for this task.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command

:SPRocess:DFEQualizer:PRESet "MyPreset"  //  Load a saved preset.


:SPRocess:DFEQualizer:PRESets:SELections

Query Syntax

:SPRocess:DFEQualizer:PRESets:SELections?

Query Response

"preset name, preset name, preset name, …"

Description

Returns a string which is a comma-separated list of all saved presets for the Decision Feedback Equalizer (DFE) operator. Use the PRESet command to load one of these presets.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SPRocess{1:16}:DFEQualizer:TAPS

Command Syntax

:SPRocess{1:16}:DFEQualizer:TAPS "tap_value, tap_value, …"

The command argument is a string of comma separated list of real numbers (individual tap value).

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:TAPS?

Description

Enters a list of tap values for a Decision Feedback Equalizer operator (:FUNCtion:FOPerator DFEQualizer). Increasing the number of taps in your model increases the fidelity of the filter's frequency response as compared to an ideal response. To use this command, automatic tap configuration must be turned off using the :SPRocess:DFEQualizer:TAPS:AUTo command.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

-0.008719, -0.001432, -0.001113, -0.002585, -0.010228
:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:COLor TCOLor2
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo OFF
:SPRocess1:DFEQualizer:TAPS -0.008719, -0.001432, -0.001113, -0.002585, -0.010228


:SPRocess{1:16}:DFEQualizer:TAPS:AUTo

Command Syntax

:SPRocess{1:16}:DFEQualizer:TAPS:AUTo {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:TAPS:AUTo?

Query Response

{1 | 0}

Description

Turns on and off automatic configuration of taps for a Decision Feedback Equalizer operator (:FUNCtion:FOPerator DFEQualizer). By default, automatic configuration is on.

OFF
Disables automatic tap configuration to enable manual entry of tap values. Use the :SPRocess:DFEQualizer:TAPS command to enter the individual tap values.
ON
Enables automatic tap configuration which sets the optimum tap values to open an eye diagram. This is the default setting. To enter the number of taps, use the :SPRocess:DFEQualizer:TAPS:COUNt command. Use the :SPRocess:DFEQualizer:TAPS:RECalculate command to automatically recalculate the tap values.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo OFF
:SPRocess1:DFEQualizer:BANDwidth 1.0E+10
:SPRocess1:DFEQualizer:TAPS:RECalculate
:SPRocess1:DFEQualizer:DTHReshold OFF


:SPRocess{1:16}:DFEQualizer:TAPS:COUNt

Command Syntax

:SPRocess{1:16}:DFEQualizer:TAPS:COUNt <count>

<count> is a int.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:TAPS?

Description

Specifies the number of taps for a Decision Feedback Equalizer operator (:FUNCtion:FOPerator FFEQualizer). Increasing the number of taps in your model increases the fidelity of the filter's frequency response as compared to an ideal response. Before you can use these commands, turn on the automatic determination of tap values (:SPRocess:DFEQualizer:TAPS:AUTo ON).

To manually enter tap values, use the :SPRocess:DFEQualizer:TAPS command.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo ON
:SPRocess1:DFEQualizer:DTHReshold OFF


:SPRocess{1:16}:DFEQualizer:TAPS:LLIMit

Command Syntax

:SPRocess{1:16}:DFEQualizer:TAPS:LLIMit <count>

<count> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:TAPS:LLIMit?

Description

Specifies the lower limit for the tap values for the Decision Feedback Equalizer operator. Existing tap values are adjusted to be within the limit. Changing an existing tap value beyond the lower limit will reset the lower limit.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo OFF
:SPRocess1:DFEQualizer:BANDwidth 1.0E+10
:SPRocess1:DFEQualizer:DTHReshold OFF


:SPRocess{1:16}:DFEQualizer:TAPS:RECalculate

Command Syntax

:SPRocess{1:16}:DFEQualizer:TAPS:RECalculate

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Initiates a re-calculation of the tap values for a Decision Feedback Equalizer operator (:FUNCtion:FOPerator DFEQualizer). Automatic tap configuration must be enabled (:SPRocess:DFEQualizer:TAPS:AUTo ON).

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo OFF
:SPRocess1:DFEQualizer:BANDwidth 1.0E+10
:SPRocess1:DFEQualizer:TAPS:RECalculate
:SPRocess1:DFEQualizer:DTHReshold OFF


:SPRocess{1:16}:DFEQualizer:TAPS:ULIMit

Command Syntax

:SPRocess{1:16}:DFEQualizer:TAPS:ULIMit <count>

<count> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:DFEQualizer:TAPS:ULIMit?

Description

Specifies the upper limit for the tap values for the Decision Feedback Equalizer operator. Existing tap values are adjusted to be within the limit. Changing an existing tap value beyond the upper limit will increase the upper limit.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:FUNCtion1:FOPerator DFEQualizer
:FUNCtion1:DISPlay ON
:FUNCtion1:COLor TCOLor9
:SPRocess1:DFEQualizer:TAPS:AUTo ON
:SPRocess1:DFEQualizer:TAPS:COUNt 5
:SPRocess1:DFEQualizer:TAPS:ULIMit 4.5E-1
:SPRocess1:DFEQualizer:TAPS:LLIMit -4.5E-1
:SPRocess1:DFEQualizer:CLKDelay 4.0E-12
:SPRocess1:DFEQualizer:BANDwidth:AUTo OFF
:SPRocess1:DFEQualizer:BANDwidth 1.0E+10
:SPRocess1:DFEQualizer:DTHReshold OFF


:SPRocess{1:16}:FFEQualizer:BANDwidth

Command Syntax

:SPRocess{1:16}:FFEQualizer:BANDwidth <bandwidth>

<bandwidth> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFEQualizer:BANDwidth?

Description

Specifies the bandwidth, in Hertz, of a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). The :SPRocess:FFEQualizer:BANDwidth:AUTo child command must be set OFF, before you can manually set the bandwidth.

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo ON
:SPRocess2:FFEQualizer:TAPS:COUNt 5
:SPRocess2:FFEQualizer:NPRecursors 3
:SPRocess2:FFEQualizer:TSPacing:TPBit 2
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFEQualizer:BANDwidth:AUTo

Command Syntax

:SPRocess{1:16}:FFEQualizer:BANDwidth:AUTo {ON | OFF | 1 | 0}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFEQualizer:BANDwidth:AUTo?

Query Response

{1 | 0}

Description

Turns on or off automatic bandwidth setting for a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). When on, the bandwidth of the operator tracks the bandwidth of the source. When off, use the parent command (:SPRocess:FFEQualizer:BANDwidth) to enter the bandwidth.

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo ON
:SPRocess2:FFEQualizer:TAPS:COUNt 5
:SPRocess2:FFEQualizer:NPRecursors 3
:SPRocess2:FFEQualizer:TSPacing:TPBit 2
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFEQualizer:DCGain?

Query Syntax

:SPRocess{1:16}:FFEQualizer:DCGain?

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Returns the DC gain of a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer).

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.


:SPRocess{1:16}:FFEQualizer:NPRecursors

Command Syntax

:SPRocess{1:16}:FFEQualizer:NPRecursors <precursors>

<precursors> is a int.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFEQualizer:NPRecursors?

Description

Specifies precursors for a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). To enter the number of taps, use the :SPRocess:FFEQualizer:TAPS:COUNt command. Before you can use these commands, turn on the automatic determination of tap values (:SPRocess:FFEQualizer:TAPS:AUTo ON).

To manually enter tap values, first disable automatic tap configuration (:SPRocess:FFEQualizer:TAPS:AUTo OFF), then use the :SPRocess:FFEQualizer:TAPS command.

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo ON
:SPRocess2:FFEQualizer:TAPS:COUNt 5
:SPRocess2:FFEQualizer:NPRecursors 3
:SPRocess2:FFEQualizer:TSPacing:TPBit 2
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess:FFEQualizer:PRESets

Command Syntax

:SPRocess:FFEQualizer:PRESets <string>

Description

Loads a previously saved a preset for a Linear Feedforward Equalizer operator. The preset configures the operator to your saved settings. To query which presets are available for loading, use the PRESet:SELections? query.

Presets can only be saved from the operator's Setup dialog box. There is no programming command for this task.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command

:SPRocess:FFEQualizer:PRESet "MyPreset"  //  Load a saved preset.


:SPRocess:FFEQualizer:PRESets:SELections?

Query Syntax

:SPRocess:FFEQualizer:PRESets:SELections?

Query Response

"preset name, preset name, preset name, …"

Description

Returns a string which is a comma-separated list of all saved presets for the Linear Feedforward Equalizer operator. Use the PRESet command to load one of these presets.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SPRocess{1:16}:FFEQualizer:TAPS

Command Syntax

:SPRocess{1:16}:FFEQualizer:TAPS "tap_value, tap_value, …"

The command argument is a string of comma separated list of real numbers (individual tap value). This command supports the DEFault common child command.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFEQualizer:TAPS?

Description

Enters a list of tap values for a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). Increasing the number of taps in your model increases the fidelity of the filter's frequency response as compared to an ideal response. To use this command, automatic tap configuration must be turned off using the :SPRocess:FFEQualizer:TAPS:AUTo command.

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo OFF
:SPRocess3:FFEQualizer:TAPS "-4.0733E-2, 1.04365, 3.851E-3, -3.782E-3, -7.04E-4"
:SPRocess3:FFEQualizer:TAPS:NORMalize
:SPRocess2:FFEQualizer:TSPacing SEConds
:SPRocess2:FFEQualizer:TSPacing:TIMe 51.0E-12
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.

Example Command Sequence

:SPRocess3:FFEQualizer:TAPS:AUTo OFF
:SPRocess3:FFEQualizer:TAPS "-4.0733E-2, 1.04365, 3.851E-3, -3.782E-3, -7.04E-4"
:SPRocess3:FFEQualizer:TAPS:NORMalize


:SPRocess{1:16}:FFEQualizer:TAPS:AUTo

Command Syntax

:SPRocess{1:16}:FFEQualizer:TAPS:AUTo {OFF | ON}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFEQualizer:TAPS:AUTo?

Description

Turns on and off automatic configuration of taps for a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). By default, automatic configuration is on.

OFF
Disables automatic tap configuration to enable manual entry of tap values. Use the :SPRocess:FFEQualizer:TAPS command to enter the individual tap values. Use the :SPRocess:FFEQualizer:TAPS:NORMalize command to automatically adjust the tap values for a maximum equalizer gain of 0 dB (unity). The relative contributions of the tap values are maintained. Use the :SPRocess:FFEQualizer:TSPacing command to select tap spacing based on taps-per-bit or seconds.
ON
Enables automatic tap configuration. Use the :SPRocess:FFEQualizer:NPRecursors command to specify the precursors used for automatic configuration. To enter the number of taps, use the :SPRocess:FFEQualizer:TAPS:COUNt command. Automatic tap configuration sets the optimum tap values to open an eye diagram, but requires that you use a PRBS pattern that has a length that is listed in the following table. Inverted PRBS patterns are also supported. The table also lists the generating polynomials. Use the :SPRocess:FFEQualizer:TSPacing:TPBit command to enter the tap spacing in number of taps-per-bit. You cannot specify a tap spacing based on time in automatic tap configuration mode. Use the :SPRocess:FFEQualizer:TAPS:RECalculate command to automatically recalculate the tap values.
PRBS Patterns for Optimum Tap Values
PRBS | Polynomial | PRBS | Polynomial
25−1 | x5+x4+x2+x1+1 | 211−1 | x11+x9+1
26−1 | x6+x5+x3+x2+1 | 212−1 | x12+x9+x8+x5+1
27−1 | x7+x6+1 | 213−1 | x13+x12+x10+x9+1
28−1 | x8+x7+x3+x2+1 | 214−1 | x14+x13+x10+x9+1
29−1 | x9+x5+1 | 215−1 | x15+x14+1
210−1 | x10+x7+1 |  |

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo ON
:SPRocess2:FFEQualizer:TAPS:COUNt 5
:SPRocess2:FFEQualizer:NPRecursors 3
:SPRocess2:FFEQualizer:TSPacing:TPBit 2
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFEQualizer:TAPS:COUNt

Command Syntax

:SPRocess{1:16}:FFEQualizer:TAPS:COUNt <count>

<count> is a int.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFEQualizer:TAPS?

Description

Specifies the number of taps for a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). Increasing the number of taps in your model increases the fidelity of the filter's frequency response as compared to an ideal response. To enter the precursors, use the :SPRocess:FFEQualizer:NPRecursors command. Before you can use these commands, turn on the automatic determination of tap values (:SPRocess:FFEQualizer:TAPS:AUTo ON).

To manually enter tap values, first disable automatic tap configuration (:SPRocess:FFEQualizer:TAPS:AUTo OFF), then use the :SPRocess:FFEQualizer:TAPS command.

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo ON
:SPRocess2:FFEQualizer:TAPS:COUNt 5
:SPRocess2:FFEQualizer:NPRecursors 3
:SPRocess2:FFEQualizer:TSPacing:TPBit 2
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFEQualizer:TAPS:NORMalize

Command Syntax

:SPRocess{1:16}:FFEQualizer:TAPS:NORMalize

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Automatically adjusts the tap values of a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer) for a maximum equalizer gain of 0 dB (unity). The relative contributions of the tap values are maintained. Automatic tap configuration must be disabled (:SPRocess:FFEQualizer:TAPS:AUTo OFF).

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo OFF
:SPRocess3:FFEQualizer:TAPS "-4.0733E-2, 1.04365, 3.851E-3, -3.782E-3, -7.04E-4"
:SPRocess3:FFEQualizer:TAPS:NORMalize
:SPRocess2:FFEQualizer:TSPacing SEConds
:SPRocess2:FFEQualizer:TSPacing:TIMe 51.0E-12
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFEQualizer:TAPS:RECalculate

Command Syntax

:SPRocess{1:16}:FFEQualizer:TAPS:RECalculate

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Initiates a re-calculation of the tap values for a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). Automatic tap configuration must be enabled (:SPRocess:FFEQualizer:TAPS:AUTo ON).

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.


:SPRocess{1:16}:FFEQualizer:TSPacing

Command Syntax

:SPRocess{1:16}:FFEQualizer:TSPacing {TPBit | SEConds}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFEQualizer:TTSPacing?

Description

Specifies tap spacing in taps-per-bit or in seconds Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer).

TPBit
Tap spacing in taps-per-bit. Use the :SPRocess:FFEQualizer:TSPacing:TPBit command to enter the actual tap spacing. This selection is available in both automatic and manual tap configuration mode.
SEConds
Tap spacing in seconds. Use the :SPRocess:FFEQualizer:TSPacing:TIMe command to enter the actual tap spacing in seconds. This selection is not valid in automatic tap configuration mode (:SPRocess:FFEQualizer:TAPS:AUTo ON).

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo OFF
:SPRocess3:FFEQualizer:TAPS "-4.0733E-2, 1.04365, 3.851E-3, -3.782E-3, -7.04E-4"
:SPRocess3:FFEQualizer:TAPS:NORMalize
:SPRocess2:FFEQualizer:TSPacing SEConds
:SPRocess2:FFEQualizer:TSPacing:TIMe 51.0E-12
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFEQualizer:TSPacing:TIMe

Command Syntax

:SPRocess{1:16}:FFEQualizer:TSPacing:TIMe <seconds>

<seconds> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Specifies tap spacing in seconds for a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). To select tap spacing in seconds or taps-per-bit, use the :SPRocess:FFEQualizer:TSPacing command. This command is not valid in automatic tap configuration mode (:SPRocess:FFEQualizer:TAPS:AUTo ON).

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo OFF
:SPRocess3:FFEQualizer:TAPS "-4.0733E-2, 1.04365, 3.851E-3, -3.782E-3, -7.04E-4"
:SPRocess3:FFEQualizer:TAPS:NORMalize
:SPRocess2:FFEQualizer:TSPacing SEConds
:SPRocess2:FFEQualizer:TSPacing:TIMe 51.0E-12
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFEQualizer:TSPacing:TPBit

Command Syntax

:SPRocess{1:16}:FFEQualizer:TSPacing:TPBit <number>

<number> is an int.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Description

Specifies tap spacing in taps-per-bit for a Linear Equalizer operator (:FUNCtion:FOPerator FFEQualizer). To select tap spacing in seconds or taps-per-bit, use the :SPRocess:FFEQualizer:TSPacing command. This command is available in both automatic and manual tap configuration mode.

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Example Command Sequence

:FUNCtion2:FOPerator FFEQualizer
:SPRocess2:FFEQualizer:TAPS:AUTo ON
:SPRocess2:FFEQualizer:TAPS:COUNt 5
:SPRocess2:FFEQualizer:NPRecursors 3
:SPRocess2:FFEQualizer:TSPacing:TPBit 2
:SPRocess2:FFEQualizer:BANDwidth:AUTo OFF
:SPRocess2:FFEQualizer:BANDwidth 8.0E9
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFT:DISPlay

Specifies the output format of an FFT operator (:FUNCtion:FOPerator FFT) to be one of the following types:

  • Linear Magnitude (MAGNitude)
  • dBV (DBV)
  • dBm (DBM)
  • Phase (PHASe)
  • Unwrapped Phase (UPHase)
  • Group Delay (GDELay)

When phase (PHASe), unwrapped phase (UPHase), or group delay (GDELay) is selected, use the :FFT:PREFerence command to set the FFT phase reference to left, center, or manual. If you select manual, use the :FFT:PREFerence:TORigin command to enter the FFT origin in seconds.

If the input is an optical signal and dBV (Electrical) is selected, use the :FFT:TFACtor command to enter the voltage conversion factor (V/W).

Note

To ensure that enough data is available to construct a useful FFT, set FlexDCA's timebase scale equal to the waveform's period. This will display 10 waveform cycles. For example, for a 5 GHz (200 ps) reference clock, enter a scale setting of 200 ps/division.

Content Windows

The FFT waveform is automatically displayed in the appropriate type of content window, which is listed in the following table and displayed in the above picture. For the MAGNitude, PHASe, and GDELay arguments, you can optionally move the waveform to an additional content window of the same type using the :FUNCtion{1:16}:CWINDdow command. For example,

:FUNCtion1:FOPerator FFT  // Create an FFT function.
:FUNCtion1:OPERand1 CHAN1A  // Assign input waveform.
:SPRocess1:FFT:DISPlay GDELay  // Select output waveform type. Waveform is automatically assigned to content window GDELay1.
:FUNCtion1:CWINdow GDELay2  // Display content window GDELay2 (Delay 2) and re-assign output waveform from GDELay1 to GDELay2.

Note

When MAGNitude is selected, the waveform is displayed in a Waveform waveform content window. To view the FFT waveform, turn on pattern lock (:TRIGger:PLOCk ON) so that a single-valued waveform is provided as the function's input. In Eye mode, if the entire pattern is acquired (:ACQuire:EPATtern ON), additionally turn waveform wrapping off (:ACQuire:WRAPping OFF).

Command Arguments and Resulting Waveform Content Window
Argument | Equivalent GUI Selection | Displayed Content Window | Number of Available Windows |  | Scale Units
 |  |  | Via Front Panel | Programmatically
MAGNitude | Linear Magnitude | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds
DBV | dBV | Magnitude | 1 | 4 | Y-Axis: dB (logarithmic scale) X-Axis: Hertz
DBM | dBm
PHASe | Phase | Phase | 1 | 4 | Y-Axis: phase (°) X-Axis: Hertz
UPHASe | Unwrapped Phase
GDELay | Group Delay | Delay | 1 | 4 | Y-Axis: seconds X-Axis: Hertz

FlexDCA Revision

The ability to use waveform content windows was added starting with FlexDCA revision A.03.00.

Example Command Sequence

:FUNCtion2:FOPerator FFT
:SPRocess2:FFT:DISPlay DBM
:SPRocess2:FFT:WINDow HANNing
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess:FFT:PREFerence

Command Syntax

:SPRocess:FFT:PREFerence {LEFT | CENTer | MANual}

Query Syntax

:SPRocess:FFT:PREFerence?

Description

When the FFT output has been defined as phase, unwrapped phase, or group delay (FFT:DISPlay command), use this command to set the FFT phase reference to LEFT, CENTer, or MANual. When MANual is specified, use the FFT:PREFerence:TORigin command to set the FFT origin in seconds.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:SPRocess:FFT:PREFerence:TORigin

Command Syntax

:SPRocess:FFT:PREFerence:TORigin <seconds>

<seconds> is an double.

Query Syntax

:SPRocess:FFT:PREFerence:TORigin?

Description

When the FFT phase reference has been set to MANual using the FFT:PREFernce parent command, use this command to set the FFT's origin in seconds.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:SPRocess{1:16}:FFT:TFACtor

Command Syntax

:SPRocess{1:16}FFT:TFACtor <factor>

<factor> is an real.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFT:TFACtor?

Description

If the input is an optical signal and the FFT display is set for dBV (Electrical) with the :SPRocess:FFT:DISPlay command, use this command to enter a voltage conversion factor (V/W) for the FFT operator (:FUNCtion:FOPerator FFT).

Example Command Sequence

:FUNCtion2:FOPerator FFT
:SPRocess2:FFT:DISPlay DBV
:SPRocess2:FFT:WINDow HANNing
:SPRocess2:FFT:TFACtor 25.00
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:FFT:WINDow

Command Syntax

:SPRocess{1:16}FFT:WINDow {NONE | HANNing}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:FFT:WINDow?

Description

Turns on or off the application of a Hanning shaping window to an FFT operator (:FUNCtion:FOPerator FFT).

Example Command Sequence

:FUNCtion2:FOPerator FFT
:SPRocess2:FFT:DISPlay DBM
:SPRocess2:FFT:WINDow HANNing
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:GAUSsian:BANDwidth

Command Syntax

:SPRocess{1:16}:GAUSsian:BANDwidth <cutoff_frequency>

<cutoff_frequency> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:GAUSsian:BANDwidth?

Description

Specifies the cutoff frrequency in Hertz of a Gaussian filter operator (:FUNCtion:FOPerator GAUSsian).

Example Command Sequence

:FUNCtion2:FOPerator GAUSsian
:SPRocess2:GAUSsian:BANDwidth 7.5E6
:SPRocess2:GAUSsian:RISetime 52.4E-12
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:GAUSsian:RISetime

Command Syntax

:SPRocess{1:16}:GAUSsian:RISetime <rise_time>

<rise_time> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:GAUSsian:RISetime?

Description

Specifies the rise time in seconds of a Gaussian filter operator (:FUNCtion:FOPerator GAUSsian).

Example Command Sequence

:FUNCtion2:FOPerator GAUSsian
:SPRocess2:GAUSsian:BANDwidth 7.5E6
:SPRocess2:GAUSsian:RISetime 52.4E-12
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:INTerpolate:FACTor

Command Syntax

:SPRocess{1:16}:INTerpolate:FACTor <factor>

<factor> is an int.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:INTerpolate:FACTor?

Description

Specifies a factor that determines the number of points in the output of an Interpolation operator (:FUNCtion:FOPerator INTerpolate). To select the interpolation method, use the :SPRocess:INTerpolate:METHod command. The relationship between the number of input and output waveform points is shown in the following equation:

  • output waveform points = AX − A + 1

where, X is the number of input waveform points and A is the interpolation factor, which can be set to values of 2, 4, 8, 16, 32,or 64. As an example, specifying an interpolation factor of 8 for a 100 sample-point waveform results in a 793 point output waveform:

  • output waveform points = 8(100) − 8 + 1 = 793

In the following figure show an output waveform constructed using an interpolation factor of 8. The input waveform (1A) is shown with 13 sampled green points. The red points show the output waveform (F1)..

Example Command Sequence

:FUNCtion2:FOPerator INTerpolate
:SPRocess2:INTerpolate:METHod SINC
:SPRocess2:INTerpolate:FACTor 8
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:INTerpolate:METHod

Command Syntax

:SPRocess{1:16}INTerpolate:METHod {SINC | LINear}

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:INTerpolate:METHod?

Description

Selects a linear or sin(x)/x interpolation for an Interpolation operator (:FUNCtion:FOPerator INTerpolate). The number of points in the output waveform is determined by the interpolation factor, which is set using the :SPRocess:INTerpolate:FACTor command.

SINC
Selects the sin(x)/x method, which is the default and is preferred when reconstructing a signal (having evenly spaced samples) that has been bandlimited. The new points are evenly spaced between the original points.
LINear
Selects the liniar method.

Example Command Sequence

:FUNCtion2:FOPerator INTerpolate
:SPRocess2:INTerpolate:METHod SINC
:SPRocess2:INTerpolate:FACTor 8
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:MEDian:ECOunt

Command Syntax

:SPRocess{1:16}:MEDian:ECOunt <count>

<count> is a int.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:MEDian:ECOunt?

Description

Specifies the count of an Median operator (:FUNCtion:FOPerator MEDian).

Example Command Sequence

:FUNCtion2:FOPerator MEDian
:SPRocess2:MEDian:ECOunt 64
:FUNCtion2:COLor TCOLor4
:FUNCtion2:DISPlay ON
*OPC?
…  //  Your code to synchronize execution timing.


:SPRocess{1:16}:RANDom:JITTer

Command Syntax

:SPRocess{1:16}:RANDom:JITTer <jitter>

<jitter> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:RANDom:JITTer?

Description

Specifies the amount of jitter, in seconds, applied by a Random operator (:FUNCtion:FOPerator RANDom).


:SPRocess{1:16}:RANDom:NOISe

Command Syntax

:SPRocess{1:16}:RANDom:NOISe <noise>

<noise> is a double.

{1:16} identifies one of up to 16 possible operators that can be defined as part of a math function. The operators are numbered in the order that they were originally added to the function.

Query Syntax

:SPRocess{1:16}:RANDom:NOISe?

Description

Specifies the amount of gaussian noise, in volts or Watts, applied by a Random operator (:FUNCtion:FOPerator RANDom).


:SPRocess{1:16}:USER:ABBReviation?

Query Syntax

:SPRocess{1:16}:USER:ABBReviation?

{1:16} identifies one of up to 16 possible operators that can be defined as a one-input user-defined function. The operators are numbered in the order that they were originally added to the function.

Description

For the selected user-defined operator, returns the operator's abbreviated name. If an XML file was used to define the operator, the abbreviated name is specified in the file's XML <Abbreviation> tag. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename.

Use the :SPRocess{1:16}:USER:CFILe sibling command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:CFILe

Command Syntax

:SPRocess{1:16}:USER:CFILe <filename>

<filename> is the configuration file (*.xml, *.m, *.py).

Description

Specifies the configuration file that is used to configure an existing one-input user-defined operator. The file is an XML file that describes the operator and points to a Matlab (*.m) or Python (*.py) script file. Refer to Creating the XML File for information on creating a user operator XML file. A Matlab or Python script can directly be used to define the operator, but this method lacks the power of operator variables as described in User Defined Measurements. When an XML file is not used or the operator's name is not defined in the XML file, the file name is used to name the operator in the Waveform Signal Processing Window.

Use the :FUNCtion:FOPerator USER command to select the operator and input waveform.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:CFILe:RELoad

Command Syntax

:SPRocess{1:16}:USER:CFILe:RELoad

Description

Reloads the XML configuration file for the selected user-defined function.

Use the :SPRocess{1:16}:USER:CFILe parent command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:CFLoaded?

Query Syntax

:SPRocess{1:16}:USER:CFLoaded?

Query Response

{1 | 0}

Description

Queries the existence of the specified user-defined operator. Returns a one if the operator is defined and a zero it the operator has not been setup.

Use the :SPRocess{1:16}:USER:CFILe sibling command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:COMMents?

Query Syntax

:SPRocess{1:16}:USER:COMMents?

Description

Returns the comment string for the selected user-defined operator (:FUNCtion:FOPerator USER). The comment string is defined in the operator's XML definition file using the <Comments> tag.

Use the :SPRocess{1:16}:USER:CFILe sibling command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:CONTrol{1:4}:DOUBle

Command Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:DOUBle <number>

<number> is a float.

Query Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:DOUBle?

Description

Sets the value of a function's user-defined control which has been configured as a double. User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 through 4 starting with the top control shown in the dialog box. For example, the following figure shows how four controls are numbered:

  • "N", an integer, is control 1.
  • "Fc", a double, is control 2.
  • "Test String", a string, is control 3.
  • "Selections", a drop-down list (enumeration), is control 4.

Since control 2 is defined as a double, you could set its value to 9.95328 GHz using the following command:

SPRocess1:USER:CONTrol2:DOUBle 9.95328e9

In this case, the sibling commands ENUM, FILE, INTeger, and STRing do not affect this user-defined control as the control has been defined as a double in the XML configuration file. This user-defined control is defined by the XML file's <Double> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:USER:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:CONTrol{1:4}:ENUM

Command Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:ENUM SELection{1:10}

Query Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:ENUM?

Description

Sets the value of a function's user-defined control which has been configured as a drop-down list (enumeration). User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 through 4 starting with the top control shown in the dialog box. For example, the following figure shows how four controls are numbered:

  • "N", an integer, is control 1.
  • "Fc", a double, is control 2.
  • "Test String", a string, is control 3.
  • "Selections", a drop-down list (enumeration), is control 4.

Since control 4 is defined as an enumeration, you could set its value to SELection2 using the following command. Because the second selection listed in the XML configuration file is listed as "Medium", you would see "Medium" in the dialog box. A maximum of 10 selections can be defined in the file use the <Selection> XML element.

SPRocess1:USER:CONTrol4:STRing SELection2

In this case, the sibling commands DOUBle, FILE, INTeger, and STRing do not affect this user-defined control as the control has been defined as an string in the XML configuration file. This user-defined control is defined by the XML file's <Enumeration> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:USER:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:CONTrol{1:4}:FILE

Command Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:FILE <file_name>

<file_name> is a string that includes the file name and any path.

Query Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:FILE?

Description

Sets the value of a function's user-defined control which has been configured as a file. User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 to a maximum of 4 starting with the top control shown in the dialog box. For example, the following figure shows how two controls are numbered:

  • "N", an integer, is control 1.
  • "Test File", a file, is control 2.

Since control 2 is defined as a file, you could set its value to "data.txt" using the following command:

SPRocess1:USER:CONTrol2:FILE "data.txt"

In this case, the sibling commands DOUBle, ENUM, INTeger, and STRing do not affect this user-defined control as the control has been defined as an string in the XML configuration file. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:USER:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:CONTrol{1:4}:INTeger

Command Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:INTeger <number>

<number> is an integer.

Query Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:INTeger?

Description

Sets the value of a function's user-defined control which has been configured as an integer. User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 through 4 starting with the top control shown in the dialog box. For example, the following figure shows how four controls are numbered:

  • "N", an integer, is control 1.
  • "Fc", a double, is control 2.
  • "Test String", a string, is control 3.
  • "Selections", a drop-down list (enumeration), is control 4.

Since control 1 is defined as a integer, you could set its value to 4 using the following command:

SPRocess1:USER:CONTrol1:INTeger 4

In this case, the sibling commands DOUBle, ENUM, FILE, and STRing do not affect this user-defined control as the control has been defined as an integer in the XML configuration file. This user-defined control is defined by the XML file's <Integer> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:USER:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:CONTrol{1:4}:STRing

Command Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:STRing

Query Syntax

SPRocess{1:16}:USER:CONTrol{1:4}:STRing?

Description

Sets the value of a function's user-defined control which has been configured as a string. User-defined controls are shown in the function's User Operator Setup dialog box. The controls are numbered 1 through 4 starting with the top control shown in the dialog box. For example, the following figure shows how four controls are numbered:

  • "N", an integer, is control 1.
  • "Fc", a double, is control 2.
  • "Test String", a string, is control 3.
  • "Selections", a drop-down list (enumeration), is control 4.

Since control 3 is defined as a string, you could set its value to "A string!" using the following command:

SPRocess1:USER:CONTrol3:STRing "A string!"

In this case, the sibling commands DOUBle, ENUM, FILE, and INTeger do not affect this user-defined control as the control has been defined as an string in the XML configuration file. This user-defined control is defined by the XML file's <String> element. The query form of the command returns current value of the user-defined control.

Use the :SPRocess{1:16}:USER:CFILe command to load the XML configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:LSTatus?

Query Syntax

SPRocess:USER:LSTatus?

Description

Returns the status of the loading of the XML configuration file. Use the :REASon child command to return the reason for a failed load.

Use the :SPRocess{1:16}:USER:CFILe sibling command to load the configuration file for the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:LSTatus:REASon?

Query Syntax

SPRocess:USER:LSTatus:REASon?

Description

Returns the reason for a failed load of a configuration file.

Use the :SPRocess{1:16}:USER:CFILe command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SPRocess{1:16}:USER:NAME?

Query Syntax

:SPRocess{1:16}:USER:NAME?

Description

For the selected user-defined operator (:FUNCtion:FOPerator USER), returns the operator's name. If an XML file was used to define the operator, the name is specified in the file's XML <Name> element. If this tag is missing, or empty, or if the user measurement was defined directly from a Matlab (*.m) or Python (*.py) file, the abbreviation is derived from the XML, Matlab, or Python filename. The string is limited in length to 15 characters. If the operator has not been created, an empty string is returned.

Use the :SPRocess{1:16}:USER:CFILe sibling command to configure the function.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


Introduction to :STATus Subsystem

The Status subsystem commands are used to detect when a specific event has occurred.

  • Learn More
  • Registers to configure and query when monitoring specific FlexDCA conditions
  • Programming Home

Acquisition Register Commands

  • ACQuisition:ENABle
  • ACQuisition:EVENt?

Calibration Register Commands

  • CALibration:ENABle
  • CALibration:EVENt?

Clock Recovery Register Commands

  • CRECovery:ENABle
  • CRECovery:EVENt?

Jitter Register Commands

  • JITTer:ENABle
  • JITTer:EVENt?

Limit Line Register Commands

  • LLINE:ENABle
  • LLINE:EVENt?

Limit Test Register Commands

  • LTESt:ENABle
  • LTESt:EVENt?

Local Register Commands

  • LOCal:ENABle
  • LOCal:EVENt?

Message Register Commands

  • MESSage:ENABle
  • MESSage:EVENt?

Mask Test Register Commands

  • MTESt:ENABle
  • MTESt:EVENt?

Operation Status Register Commands

  • OPERation:ENABle
  • OPERation:EVENt?

Precision Timebase Register Commands

  • PTIMebase:ENABle
  • PTIMebase:EVENt?

RDCA Register Commands

  • RDCA:ENABle
  • RDCA:EVENt?

Trigger Register Commands

  • TRIGger:ENABle
  • TRIGger:EVENt?

User Register Commands

  • USER:ENABle
  • USER:EVENt?


Introduction to :STATus Subsystem (continued)

Almost every program that you write will need to monitor FlexDCA for its operating status. This includes querying execution or command errors and determining whether or not measurements have been completed. FlexDCA provides the 15 registers shown in the following figure as its status reporting system. The :STATus subsystem's commands and queries allow you to monitor the reporting bits from 13 of the registers. The Status Byte and Standard Status registers (shown in blue in the figure) are controlled by the common commands *STB?, *SRE, *ESR?, and *ESE. In the following picture, you can click on the various registers shown in the following drawing to learn about those registers and the conditions that they monitor.

  • Registers to configure and query when monitoring specific FlexDCA conditions

Note

The Status Byte Register, the Standard Event Status Register group, and the Output Queue are defined as the Standard Status Data Structure Model in IEEE 488.2-1987. IEEE 488.2 defines data structures, commands, and common bit definitions for status reporting. The Operation Status register group are FlexDCA-defined structures and bits.

Click the blocks in this picture!

Status Reporting Structure

All of the 15 registers are 16 bit. However, since bits 8 through 16 are seldom used, most register diagrams and tables only show 8 bits. Each register includes an event and an associated enable register represented by this table. The enable register is a mask that allows you to enable or disable the reporting of specific bits within the associated event register. There is a command to read each event register and read or write each enable register. You can use the event register command to read the contents of the register even when none of the register's summary bits are enabled by the mask to generate an SRQ interrupt. Event register bits that are not enabled still respond to their corresponding conditions. That is, they are set if the corresponding event occurs. However, because they are not enabled, they do not generate a summary bit.

The Status Byte Register is the summary-level register in the status reporting structure. It contains summary bits that monitor activity in the other status registers and queues. The Status Byte Register is a live register. That is, its summary bits are set and cleared by the presence and absence of a summary bit from other event registers or queues. If the Status Byte Register is to be used with the Service Request Enable Register to set bit 6 (RQS/MSS) and to generate an SRQ, at least one of the summary bits must be enabled, then set. Also, event bits in all other status registers must be specifically enabled to generate the summary bit that sets the associated summary bit in the Status Byte Register.

Status Byte Event and Enable (Mask) Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | OPER | RQS/MSS | ESB | MAV | — | MSG | USR | TRG
Enable Register |  |  |  |  |  |  |  |

As shown in this figure, each bit in the event register is logically AND'ed with its associated bit in the enable register. The result for each bit is OR'ed to arrive at a true or false output for the register pair. Only if the mask bit is true, will its associated event bit be reported. For example, in this Status Byte Register consider that you only want the status of the USR and OPER bits to be reported. Add the decimal weight for each of these bits (128 + 2 = 130). Then, use the appropriate command (in this case the *SRE common command, to set the enable register to 130. You have just enabled the USR and OPER events.

In addition, you should clear the event registers before you start monitoring by initializing FlexDCA ty using the *RST and *CLS common commands. To generate a service request (SRQ) interrupt to an external computer, enable at least one bit in the Status Byte Register. To enable Standard Event Status Register bits to generate a summary bit, use the *ESE common command.

Status Byte Register

You can read the decimal-weighted sum of all set bits in the Status Byte register using a GPIB serial poll command or the *STB? query. Here is the difference between the two commands:

  • The *STB? query reads bit 6 as the Master Summary Status (MSS) and does not clear the bit or have any affect on the SRQ interrupt. It also clears bit 4, the Message Available bit (MAV), if there are no other messages in the Output Queue
  • The GPIB serial poll command reads bit 6 as the Request Service (RQS) bit and clears the bit which clears the SRQ interrupt.

Bit 6 (MSS/RQS) was defined to cover all possible computer interfaces, including a computer that could not do a serial poll. The advantage of using a serial poll to clear bit 6 is that this method allows FlexDCA to generate another SRQ interrupt when another enabled event occurs. Serial polling is the preferred method to read the contents of the Status Byte Register because it resets bit 6 and allows the next enabled event that occurs to generate a new SRQ interrupt.

Standard Event Status Register

The Standard Event Status Register monitors the following instrument status events. Use the *ESR? common command query to read and clear the register.

  • PON (Power On)
  • CME (Command Error)
  • EXE (Execution Error)
  • DDE (Device Dependent Error)
  • QYE (Query Error)
  • RQL (Request Control)
  • OPC (Operation Complete)


Conditions to Monitor Versus Register Bits

Conditions to Monitor Versus Register Bit

Use the following table to determine which registers to configure and query in order to monitor specific FlexDCA conditions.

Conditions to Monitor Versus Relevant Registers
Condition | Status Name | Registers
Acquisition limit test completion | COMPACQ | :STATus:ACQuisition:EVENt? (bit 0)
 | ACQ | :STATus:OPERation:EVENt? (bit 9)
Calibration completion | DONE | :STATus:CALibration:EVENt? (bit 0)
 | CAL | :STATus:OPERation:EVENt? (bit 14)
Clock recovery unlocked | UNLK | :STATus:CRECovery:EVENt? (bit 0))
 | CLCK | :STATus:OPERation:EVENt? (bit 7)
Clock recovery locked or trigger capture has occurred | LOCK | :STATus:CRECovery:EVENt? (bit 1)
 | CLCK | :STATus:OPERation:EVENt? (bit 7)
Clock recovery lock routine finished | FIN | :STATus:CRECovery:EVENt? (bit 6)
 | CLCK | :STATus:OPERation:EVENt? (bit 7)
Characterizing of edges in Jitter Mode has failed | EFAIL | :STATus:JITTer:EVENt? (bit 0)
 | JIT | :STATus:OPERation:EVENt? (bit 12)
Pattern synchronization is lost in Jitter Mode | JLOSS | :STATus:JITTer:EVENt? (bit 1)
 | JIT | :STATus:OPERation:EVENt? (bit 12)
Parameter change in Jitter Mode necessitates Auto Scale | AREQD | :STATus:JITTer:EVENt? (bit 2)
 | JIT | :STATus:OPERation:EVENt? (bit 12)
FlexDCA transitioned from remote mode to local mode | LOCAL REG | :STATus:LOCal:EVENt? (bit 0)
 | LCL | :STATus:USER:EVENT? (bit 0)
 | LCL | *STB? (bit 1)
Limit test completion or failure. | COMP | :STATus:LTESt:EVENt? (bit 0)
 | LTEST | :STATus:OPERation:EVENt? (bit 8)
Message displayed and placed in message queue | MSG | :STATus:MESSage:EVENt? (bit 0)
 | MSG | *STB? (bit 2)
Mask test completion or failure | COMP | :STATus:MTESt:EVENt? (bit 0)
 | MTEST | :STATus:OPERation:EVENt? (bit 10)
Precision timebase time reference loss | LOSS | :STATus:PTIMebase:EVENt? (bit 0)
 | PTIME | :STATus:OPERation:EVENt? (bit 11)
FlexDCA connected to 86100D | CON | :STATus:RDCA:EVENt? (bit 0)
 | RDCA | :STATus:OPERation:EVENt? (bit 6)
FlexDCA remote connection to 86100D timed out | TOUT | :STATus:RDCA:EVENt? (bit 1)
 | RDCA | :STATus:OPERation:EVENt? (bit 6)
FlexDCA not connected to remote 86100D | DCON | :STATus:RDCA:EVENt? (bit 2)
 | RDCA | :STATus:OPERation:EVENt? (bit 6)
Trigger has been received | TRG | :STATus:TRIGger:EVENt? (bit 0)
 | TRG | *STB? (bit 0)
An operation is complete | OPC | *ESR? (bit 0)
 | OPC | *STB? (bit 5)
Query error detected | QYE | *ESR? (bit 2)
 | QYE | *STB? (bit 5)
Device-dependent error detected | DDE | *ESR? (bit )
 | DDE | *STB? (bit 5)
Execution error detected | EXE | *ESR? (bit 4)
 | EXE | *STB? (bit 5)
Command error detected | CME | *ESR? (bit 5)
 | CME | *STB? (bit 5)
Off-to-on transition has occurred | PON | *ESR? (bit 7)
 | ESB | *STB? (bit 5)


:STATus:ACQuisition:ENABle

Command Syntax

:STATus:ACQuisition:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:ACQuisition:ENABle?

Description

Enters a decimal-weighted value in the acquisition enable register that masks the ability to report bits in the acquisition event register.

Acquisition Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:ACQuisition:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:ACQuisition:ENABle
Acquisition Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | COMP
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 9 (ACQ) of Operation Status Register

Bit Definitions

COMP
A true indicates that the specified number of waveforms, samples, or patterns has occurred.

  • Status Reporting System


:STATus:ACQuisition:EVENt?

Query Syntax

:STATus:ACQuisition:EVENt?

Description

Reads the acquisition event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (COMP), which indicates if an acquisition limit test has completed with the specified number of waveforms, samples, or patterns. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 9 (ACQ) of the Operation Status Register. Upon successful completion of the test, bit 0 (COMP) in the limit-test event register will also be set. Use the :LTESt:ACQuire:STATe command to configure a limit test.

Acquisition Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:ACQuisition:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:ACQuisition:ENABle
Acquisition Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | COMP
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 9 (ACQ) of Operation Status Register

Bit Definitions

COMP
A true indicates that the specified number of waveforms, samples, or patterns has occurred.

  • Status Reporting System


:STATus:CALibration:ENABle

Command Syntax

:STATus:CALibration:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:CALibration:ENABle?

Description

Enters a decimal-weighted value in the calibration enable register that masks the ability to report bits in the calibration event register.

Calibration Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:CALibration:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:CALibration:ENABle
Calibration Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | DONE
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 14 (CAL) of Operation Status Register

Bit Definitions

DONE
A true that a calibration has completed.

  • Status Reporting System


:STATus:CALibration:EVENt?

Query Syntax

:STATus:CALibration:EVENt?

Description

Reads the calibration event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used in this register is bit 0 (DONE), which indicated if a calibration has completed. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically "AND"ed, which results in setting true bit 14 (CAL) of the Operation Status Register. Use the :CALibrate subsystem to run a calibration.

Calibration Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:CALibration:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:CALibration:ENABle
Calibration Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | DONE
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 14 (CAL) of Operation Status Register

Bit Definitions

DONE
A true that a calibration has completed.

  • Status Reporting System


:STATus:CRECovery:ENABle

Command Syntax

:STATus:CRECovery:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:CRECovery:ENABle?

Description

Enters a decimal-weighted value in the clock recovery enable register that masks the ability to report bits in the clock recovery event register.

Clock Recovery Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:CRECovery:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:CRECovery:ENABle
Clock Recovery Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | FIN | — | — | — | — | LOCK | UNLK
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 7 (CLCK) of Operation Status Register

Bit Definitions

UNLK
A true indicates that clock recovery is unlocked. This occurs when an 83491/2/3/4/5/6A Clock Recovery module or 86108A Precision Waveform Analyzer module becomes unlocked or trigger loss has occurred. If an 83496A module is locked, sending the :CRECovery:RELock command does not set the UNLK or LOCK bits. To determine if the RELock command has completed, use the :CRECovery:LOCKed?.
LOCK
A true indicates that clock recovery is locked or a trigger capture has occurred.
FIN
A true indicates that the clock recovery lock routine has finished.

  • Status Reporting System


:STATus:CRECovery:EVENt?

Query Syntax

:STATus:CRECovery:EVENt?

Description

Reads the clock recovery event register to determine the status of individual status bits. The decimal-weighted value of the register is returned.

Clock Recovery Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:CRECovery:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:CRECovery:ENABle
Clock Recovery Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | FIN | — | — | — | — | LOCK | UNLK
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 7 (CLCK) of Operation Status Register

Bit Definitions

UNLK
A true indicates that clock recovery is unlocked. This occurs when an 83491/2/3/4/5/6A Clock Recovery module or 86108A Precision Waveform Analyzer module becomes unlocked or trigger loss has occurred. If an 83496A module is locked, sending the :CRECovery:RELock command does not set the UNLK or LOCK bits. To determine if the RELock command has completed, use the :CRECovery:LOCKed?.
LOCK
A true indicates that clock recovery is locked or a trigger capture has occurred.
FIN
A true indicates that the clock recovery lock routine has finished.

  • Status Reporting System


:STATus:JITTer:ENABle

Command Syntax

:STATus:JITTer:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:JITTer:ENABle?

Description

Enters a decimal-weighted value in the jitter enable register that masks the ability to report bits in the jitter event register.

Description

Jitter Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:JITTer:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:JITTer:ENABle
Jitter Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | AREQD | JLOSS | EFAIL
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 12 (JIT) of Operation Status Register

Bit Definitions

EFAIL
A true indicates that the characterizing of edges in Jitter Mode has failed.
JLOSS
A true indicates that the pattern synchronization is lost in Jitter Mode.
AREQD
A true indicates that a parameter change in Jitter Mode has made an Auto Scale necessary.

  • Status Reporting System


:STATus:JITTer:EVENt?

Query Syntax

:STATus:JITTer:EVENt?

Description

Reads the jitter event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 9 (ACQ) of the Operation Status Register.

Jitter Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:JITTer:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:JITTer:ENABle
Jitter Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | AREQD | JLOSS | —
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 12 (JIT) of Operation Status Register

Bit Definitions

JLOSS
A true indicates that the pattern synchronization is lost in Jitter Mode.
AREQD
A true indicates that a parameter change in Jitter Mode has made an Auto Scale necessary.

  • Status Reporting System


:STATus:LLINE:ENABle

Command Syntax

:STATus:LLINE:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:LLINE:ENABle?

Description

Enters a decimal-weighted value in the limit test enable register that masks the ability to report bits in the limit test event register.

Limit Test Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:LLINE:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:LLINE:ENABle
Limit Test Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | COMP
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 5 (LLINE) of Operation Status Register

Bit Definitions

COMP
A true indicates that a limit test has completed.

  • Status Reporting System


:STATus:LLINE:EVENt?

Query Syntax

:STATus:LLINE:EVENt?

Description

Reads the limit line event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (COMP), which indicated if a limit-line-based limit test has completed. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 5 (LLINE) of the Operation Status Register. Use the :LLINe subsystem to configure a limit-line-based limit test.

Limit Line Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:LLINE:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:LLINE:ENABle
Limit Line Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | COMP
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 5 (LLINE) of Operation Status Register

Bit Definitions

COMP
A true indicates that a limit-line test has completed.

  • Status Reporting System


:STATus:LOCal:ENABle

Command Syntax

:STATus:LOCal:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:LOCal:ENABle?

Description

Enters a decimal-weighted value in the local enable register that masks the ability to report bits in the local event register.

Local Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:LOCal:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:LOCal:ENABle
Local Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | LOCAL REG
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 0 (LCL) of User Event Register

Bit Definitions

LOCAL REG
A true indicates that FlexDCA has transitioned from remote mode to local mode.

  • Status Reporting System


:STATus:LOCal:EVENt?

Query Syntax

:STATus:LOCal:EVENt?

Description

Reads the local event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (LOCAL REG), which indicates if FlexDCA has been placed in local mode (exited remote mode). Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are <em>enabled</em>, are logically AND'ed, which results in setting true bit 0 (LCL) of the User Event Register.

Local Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:LOCal:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:LOCal:ENABle
Local Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | LOCAL REG
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 0 (LCL) of User Event Register

Bit Definitions

LOCAL REG
A true indicates that FlexDCA has transitioned from remote mode to local mode.

  • Status Reporting System


:STATus:LTESt:ENABle

Command Syntax

:STATus:LTESt:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:LTESt:ENABle?

Description

Enters a decimal-weighted value in the limit test enable register that masks the ability to report bits in the limit test event register.

Limit Test Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:LTESt:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:LTESt:ENABle
Limit Test Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | COMP
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 8 (LTEST) of Operation Status Register

Bit Definitions

COMP
A true indicates that a limit test has completed.

  • Status Reporting System


:STATus:LTESt:EVENt?

Query Syntax

:STATus:LTESt:EVENt?

Description

Reads the limit test event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (COMP), which indicated if a limit test has completed. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 8 (LTEST) of the Operation Status Register. Use the :LTESt subsystem to configure a limit test. The limit test event register is used only when a measurement limit test completes.

Limit Test Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:LTESt:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:LTESt:ENABle
Limit Test Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | COMP
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 8 (LTEST) of Operation Status Register

Bit Definitions

COMP
A true indicates that a limit test has completed.

  • Status Reporting System


:STATus:MESSage:ENABle

Command Syntax

:STATus:MESSage:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:MESSage:ENABle?

Description

Enters a decimal-weighted value in the message enable register that masks the ability to report bits in the message event register.

Message Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:MESSage:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:MESSage:ENABle
Message Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | MSG
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 2 (MSG) of Status Byte Register

Bit Definitions

MSG
A true indicates that a message is displayed on FlexDCA's screen and placed in the message queue.

  • Status Reporting System


:STATus:MESSage:EVENt?

Query Syntax

:STATus:MESSage:EVENt?

Description

Reads the message event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (MSG), which indicates if a message is displayed on FlexDCA's screen and placed in the message queue. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 2 (MSG) of the Status Byte Register.

Message Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:MESSage:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:MESSage:ENABle
Message Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | MSG
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 2 (MSG) of Status Byte Register

Bit Definitions

MSG
A true indicates that a message is displayed on FlexDCA's screen and placed in the message queue.

  • Status Reporting System


:STATus:MTESt:ENABle

Command Syntax

:STATus:MTESt:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:MTESt:ENABle?

Description

Enters a decimal-weighted value in the mask test enable register that masks the ability to report bits in the mask test event register.

Mask Test Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:MTESt:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:MTESt:ENABle
Mask Test Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | COMP
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 10 (MTEST) of Operation Status Register

Bit Definitions

COMP
A true indicates that the mask test has completed.

  • Status Reporting System


:STATus:MTESt:EVENt?

Query Syntax

:STATus:MTESt:EVENt?

Description

Reads the mask test event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (COMP), which indicates if an mask limit test has completed. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 10 (MTEST) of the Operation Status Register. Use the :LTESt:MTESt:STATE command to configure a mask limit test.

Mask Test Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:MTESt:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:MTESt:ENABle
Mask Test Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | COMP
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 10 (MTEST) of Operation Status Register

Bit Definitions

COMP
A true indicates that the mask test has completed.

  • Status Reporting System


:STATus:OPERation:ENABle

Command Syntax

:STATus:OPERation:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:OPERation:ENABle?

Description

Use the operation enable register to mask the ability to report bits in the operation event register.

Operation Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:OPERation:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:OPERation:ENABle
Operation Status Registers
Bit | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 32,768 | 16,384 | 8,192 | 4,096 | 2,048 | 1,024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | CAL | — | JIT | PTIME | MTEST | ACQ | LTEST | CLCK | RDCA | — | — | — | — | — | —
Enable Register |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Sets | to Bit 7 (OPER) of Status Byte Register

Bit Definitions

RDCA
A true indicates that an enabled bit in the RDCA (Remote DCA) event status register has been set.
CLCK
A true indicates that an enabled bit in the clock recovery event status register has been set.
LTEST
A true indicates that an enabled bit in the limit test event status register has been set by a limit test completing or failing.
ACQ
A true indicates that an enabled bit in the acquisition event status register has been set and that the data acquisition has satisfied the specified completion criteria.
MTEST
A true indicates that an enabled bit in the mask test event status register has been set by a mask test completing or failing.
PTIME
A true indicates that an enabled bit in the precision timebase event status register has been set. This occurs when there is a loss of the precision timebase reference.
JIT
A true indicates that an enabled bit in the jitter event status register has been set. This occurs when there is a failure or an Auto Scale is needed.
CAL
A true indicates that an enabled bit in the calibration event status register has been set by a calibration completing.

  • Status Reporting System


:STATus:OPERation:EVENt?

Query Syntax

:STATus:OPERation:EVENt?

Description

Reads and clears the operation event register which contains bits that are set by various reporting registers. These reporting registers are identified in the Bit Definitions section of this topic.

Operation Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:OPERation:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:OPERation:ENABle
Operation Status Registers
Bit | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 32,768 | 16,384 | 8,192 | 4,096 | 2,048 | 1,024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | CAL | — | JIT | PTIME | MTEST | ACQ | LTEST | CLCK | RDCA | LLINE | — | — | — | — | —
Enable Register |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Sets | to Bit 7 (OPER) of Status Byte Register

Bit Definitions

LLINE
A true indicates that an enabled bit in the limit line event status regiser has been set by a limit-line based limit test completing or failing.
RDCA
A true indicates that an enabled bit in the RDCA (Remote DCA) event status register has been set.
CLCK
A true indicates that an enabled bit in the clock recovery event status register has been set.
LTEST
A true indicates that an enabled bit in the limit test event status register has been set by a limit test completing or failing.
ACQ
A true indicates that an enabled bit in the acquisition event status register has been set and that the data acquisition has satisfied the specified completion criteria.
MTEST
A true indicates that an enabled bit in the mask test event status register has been set by a mask test completing or failing.
PTIME
A true indicates that an enabled bit in the precision timebase event status register has been set. This occurs when there is a loss of the precision timebase reference.
JIT
A true indicates that an enabled bit in the jitter event status register has been set. This occurs when there is a failure or an Auto Scale is needed.
CAL
A true indicates that an enabled bit in the calibration event status register has been set by a calibration completing.

  • Status Reporting System


:STATus:PTIMebase:ENABle

Command Syntax

:STATus:PTIMebase:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:PTIMebase:ENABle?

Description

Enters a decimal-weighted value in the precision timebase enable register that masks the ability to report bits in the precision timebase event register.

Precision Timebase Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:PTIMebase:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:PTIMebase:ENABle
Precision Timebase Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | LOSS
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 11 (PTIME) of Operation Status Register

Bit Definitions

LOSS
A true indicates that the precision timebase (provided by an 86107A or 86108A module) has detected a time reference loss due to a change in the reference clock signal.

  • Status Reporting System


:STATus:PTIMebase:EVENt?

Query Syntax

:STATus:PTIMebase:EVENt?

Description

Reads the precision timebase event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (LOSS), which indicates loss of the time reference due to a change in the reference clock signal. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 11 (LOSS) of the Operation Status Register.

Precision Timebase Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:PTIMebase:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:PTIMebase:ENABle
Precision Timebase Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | LOSS
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 11 (PTIME) of Operation Status Register

Bit Definitions

LOSS
A true indicates that the precision timebase (provided by an 86107A or 86108A module) has detected a time reference loss due to a change in the amplitude or frequency of the reference clock signal.

  • Status Reporting System


:STATus:RDCA:ENABle

Command Syntax

:STATus:RDCA:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:RDCA:ENABle?

Description

Enters a decimal-weighted value in the RDCA (Remote DCA) enable register that masks the ability to report bits in the RDCA event register.

RDCA Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:RDCA:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:RDCA:ENABle
RDCA Status Registers
Bit | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1
Bit Weight | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20
Event Register | — | — | — | — | — | DCON | TOUT | CON
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 6 (RDCA) of Operation Status Register

Bit Definitions

CON
A true indicates that FlexDCA is connected to a remote 86100D.
TOUT
A true indicates that a remote connection to an 86100D has timed out.
DCON
A true indicates that FlexDCA is not connected to a remote 86100D.

  • Status Reporting System


:STATus:RDCA:EVENt?

Query Syntax

:STATus:RDCA:EVENt?

Description

Reads the RDCA (Remote DCA) event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The bits in this register indicate the status of a connection between FlexDCA and a remote 86100D. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 6 (RDCA) of the Operation Status Register. Use the :RDCA subsystem command to configure a remote 86100D connection.

RDCA Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:RDCA:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:RDCA:ENABle
RDCA Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | DCON | TOUT | CON
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 6 (RDCA) of Operation Status Register

Bit Definitions

CON
A true indicates that FlexDCA is connected to a remote 86100D.
TOUT
A true indicates that a remote connection to an 86100D has timed out.
DCON
A true indicates that FlexDCA is not connected to a remote 86100D.

  • Status Reporting System


:STATus:TRIGger:ENABle

Command Syntax

:STATus:TRIGger:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:TRIGger:ENABle?

Description

Enters a decimal-weighted value in the trigger enable register that masks the ability to report bits in the trigger event register.

Trigger Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:TRIGger:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:TRIGger:ENABle
Trigger Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | TRG
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 0 (TRG) of Status Byte Register

Bit Definitions

TRG
A true indicates that a trigger has been received.

  • Status Reporting System


:STATus:TRIGger:EVENt?

Query Syntax

:STATus:TRIGger:EVENt?

Description

Reads the trigger event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (TRG), which indicates if a trigger has been received. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 0 (TRG) of the Status Byte Register. The TRG event register stays set until it is cleared by reading the register or using the *CLS (clear status) command. If your application needs to detect multiple triggers, clear the trigger event register after each trigger. If you are using the Service Request to interrupt a computer operation when the trigger bit is set, you must clear the event register after each time it is set.

Trigger Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:TRIGger:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:TRIGger:ENABle
Trigger Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | — | — | — | — | TRG
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 0 (TRG) of Status Byte Register

Bit Definitions

TRG
A true indicates that a trigger has been received.

  • Status Reporting System


:STATus:USER:ENABle

Command Syntax

:STATus:USER:ENABle <mask>

<mask> is an integer, 0 to 255, representing a mask for the bits in the event register.

Query Syntax

:STATus:USER:ENABle?

Description

Enters a decimal-weighted value in the user enable register that masks the ability to report bits in the user event register.

User Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:USER:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:USER:ENABle
User Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | SLOT4 | SLOT2 | SLOT3 | SLOT1 | LCL
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 1 (USR) of Status Byte Register

Bit Definitions

LCL
A true indicates that FlexDCA has transitioned from remote mode to local mode. This status bit originates from the local event register.
SLOT1
Reserved for future use.
SLOT3
Reserved for future use.
SLOT2
Reserved for future use.
SLOT4
Reserved for future use.

  • Status Reporting System


:STATus:USER:EVENt?

Query Syntax

:STATus:USER:EVENt?

Description

Reads the user event register to determine the status of individual status bits. The decimal-weighted value of the register is returned. The only bit used is bit 0 (LCL), which indicates if FlexDCA has been placed in local mode (exited remote mode). The other 15 bits are reserved. Reporting of event register bits in the status register system is controlled by the mask loaded into the enable register. All true event bits, that are enabled, are logically AND'ed, which results in setting true bit 1 (USR) of the Status Byte Register.

User Register Commands
Register | Read | Write | Command
Event | ♦ |  | :STATus:USER:EVENt?
Enable (mask) | ♦ | ♦ | :STATus:USER:ENABle
User Status Registers
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Event Register | — | — | — | SLOT4 | SLOT2 | SLOT3 | SLOT1 | LCL
Enable Register |  |  |  |  |  |  |  |
Sets | to Bit 1 (USR) of Status Byte Register

Bit Definitions

LCL
A true indicates that FlexDCA has transitioned from remote mode to local mode. This status bit originates from the local event register.
SLOT1
Reserved for future use.
SLOT3
Reserved for future use.
SLOT2
Reserved for future use.
SLOT4
Reserved for future use.

  • Status Reporting System


Introduction to :SYSTem Subsystem

The System subsystem commands are used to set the FlexDCA's overall state. For example, use these commands to select the operating mode, perform an Auto Scale, or return FlexDCA to its default or factor settings.

  • Programming Home

Commands

  • AUToscale
  • BLANk
  • BORDer
  • DATE?
  • DEFault
  • DSP
  • EMBedded?
  • ERRor:COUNt?
  • ERRor:NEXT?
  • FACTory
  • FCONfig
  • GTLocal
  • HAL?
  • HELP:HEADers?
  • LANGuage
  • LAUNch
  • MODE
  • MODel?
  • MPButton:DOCWizard:BFName
  • MPButton:FUNCtion
  • MPButton:QSETup:FNAMe
  • MPButton:QSPBack:EYE:FNAMe
  • MPButton:QSPBack:FNAMe
  • MPButton:QSPBack:JITTer:FNAMe
  • MPButton:QSPBack:OSCilloscope:FNAMe
  • MPButton:QSPBack:SSCRipt
  • MPButton:QSPBack:TDR:FNAMe
  • MPButton:SIMage:BFName
  • MPButton:SIMage:IMETadata
  • MPButton:SIMage:INVert
  • MPButton:SIMage:MONochrome
  • MPButton:SIMage:SAVE
  • OPTions?
  • OSYStem
  • PAUTodetect
  • PERSona:MANufacturer
  • PERSona:MANufacturer:DEFault
  • PERSona:MODel
  • PERSona:MODel:DEFault
  • SERial?
  • STAutodetect
  • TEMPerature?
  • TIME?
  • UTCNow?
  • VIEW

Deprecated Commands

  • UAUToscale (deprecated A.02.00)
  • UDEFault (deprecated A.02.00)


:SYSTem:AUToscale

Command Syntax

:SYSTem:AUToscale

Description

Performs an Auto Scale. There is no query form of this command. If the Auto Scale is unsuccessful, one or more errors are placed in the last-in first-out error-message buffer. Use the :SYSTem:ERRor:NEXT? and :SYSTem:ERRor:COUNT? queries to determine if an error has occured and the cause of any errors. The following errors can be reported:

  • 143, "Instrument Error;Autoscale: No valid sources are turned on."
  • 144, "Instrument Error;Autoscale: Could not detect data rate."
  • 144, "Instrument Error;Autoscale: Unable to detect reference clock frequency."

Before using Auto Scale, turn on at least one channel and ensure a valid signal and trigger source is connected. During an Auto Scale, the following tasks are performed:

  • Scales the waveform vertically and horizontally for all the input channels that are turned on.
  • Adjusts the trigger level in Oscilloscope, Eye/Mask, or Jitter Mode.
  • Sets trigger bandwidth.
  • Sets the horizontal scale and position of the lowest numbered channel turned on.
  • If multiple eye diagrams are displayed software delay is used to align the eye diagrams. However, the following conditions must be true:
    • Option 500, Productivity Package License, is installed,
    • Rapid Eye is turned on (:ACQuire:REYE), and
    • Rapid Eye align is specified (:ACQuire:REYE:ALIGn).

After an Auto Scale is performed, you can adjust the waveform settings to your liking. To undo an Auto Scale, use the :SYSTem:UAUToscale command. When the FlexDCA is in Run mode, follow the AUToscale command with a *OPC? query to halt program execution until the Auto Scale completes.

  • Learn More


:SYSTem:BLANk

Command Syntax

:SYSTem:BLANk  {CHANnel{N} | DIFF{1:4} | FUNCtion{1:16} | WMEMory{1:8}} | CGMemory{1:8} | JMEMory1 | HISTogram{1:4}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Turns off an active channel, differential waveform, function, waveform memory, color grade memory, jitter data memory, or histogram. Use the SYSTem:VIEW command to turn them on.


:SYSTem:BORDer

Command Syntax

:SYSTem:BORDer {BENDian | LENDian}

Query Syntax

:SYSTem:BORDer?

Description

Specifies the byte order (endiannes) of binary data that is returned to a controller due to a SCPI query. A default setup (:SYSTem:DEFault command) does not reset the endiannes setting. A factory preset (:SYSTem:FACTory command) does reset the endiannes setting.

BENDian
Bytes are sent in big-endian order with the most significant byte sent first and the least significant byte sent last.
LENDian
Bytes are sent in little-endian order with the least significant byte sent first and the most significant byte sent last. This is the factory preset setting.

Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.

This setting applies to the :WAVeform and :MEASure subsystem queries listed below but does not affect data returned by the :DISK:FILE:READ? command.

MEASure Subsystem Queries That Return Block Data

  • :MEASure:AMPLitutde:ISIVsbit?
  • :MEASure:AMPLitutde:ISIVsbit:BITS?
  • :MEASure:JITTer:DDJVsbit?
  • :MEASure:JITTer:DDJVsbit:BITS?
  • :MEASure:JITTer:EBITs?
  • :MEASure:JITTer:PATTern?

WAVeform Subsystem Queries That Return Block Data

  • :WAVeform:EYE:INTeger:DAta?
  • :WAVeform:YFORmat:DOUBle:YDATa?
  • :WAVeform:YFORmat:FLOat:YDATa?
  • :WAVeform:YFORmat:WORD:YDATa?
  • :WAVeform:XYFormat:DOUBle:YDATa?
  • :WAVeform:XYFormat:DOUBle:XDATa?
  • :WAVeform:XYFormat:FLOat:YDATa?
  • :WAVeform:XYFormat:FLOat:XDATa?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:SYSTem:DATE?

Query Syntax

:SYSTem:DATE?

Description

Queries the date in FlexDCA. The date is returned as a string with space-separated values of <day> <abbreviated month> <year>. For example,

"27 OCT 2011"

Use the :SYSTem:TIME? query to return the current local time. Use the :SYSTem:UTCNow? query to return the Coordinated Universal Time (UTC).


:SYSTem:DEFault

Command Syntax

:SYSTem:DEFault

Description

Returns FlexDCA to its default settings. It is a good practice to set FlexDCA to its default know state at the start of each program. If you are using FlexEye sessions, you should also begin your child processes with this command. The default settings include:

  • Oscilloscope mode.
  • Front Panel triggering
  • Displays Channel A on the lowest numbered occupied slot for display. All other channel inputs turned off. For example if an N1045A module is installed in slot 3 and a DCA-M is installed in slot 6, Channel 3A will be the only displayed channel.
  • More…

An autoscale is not performed. Use the *OPC? query to notify the calling program when an operation is complete.

Example Command Sequence

*CLS
:SYSTem:DEFault
*OPC?
…  //  Your code to synchronize execution timing.


:SYSTem:DSP

Command Syntax

:SYSTem:DSP  <message_string>

<message_string> is a string.

Query Syntax

:SYSTem:DSP?

Description

Writes a string to the message line on FlexDCA's display. The example message line "Connect the data signal to channel 2A." is shown on the following figure. Messages are removed from the display in approximately 10 seconds. The maximum string length that you can send is 255 characters. Strings over 108 characters are truncated when displayed in the message line even though any undisplayed characters remain in the message queue. Sending the query form of this command returns the last string written to FlexDCA and empties the message queue.

Note

Strings over 255 characters long result in the following advisory message: "−223, Too much data;Maximum of 255 character(s) exceeded".


:SYSTem:EMBedded?

Query Syntax

:SYSTem:EMBedded?

Description

This query returns a "1" (true) if FlexDCA is running embedded on an 86100D or returns a "0" (false) if it is running on a PC.


:SYSTem:ERRor:COUNT?

Query Syntax

:SYSTem:ERRor:COUNT?

Description

Returns the string which is the number of errors contained in the error-message buffer. To return the "first in" error, use the :SYSTem:ERRor:NEXT? query.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.

Example Python 3.x Script

This script opens a session with FlexDCA running on the PC and sends two invalid commands that create two error messages. FlexDCA's error buffer is then queried for the errors.

import visa # import VISA library

rm = visa.ResourceManager()
FlexDCA = rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR') #HiSLIP

FlexDCA.timeout = 20000 # Set connection timeout to 20s
FlexDCA.read_termination = '\n'
FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!
error_cnt = int(FlexDCA.query(':SYSTEM:ERRor:COUNt?'))
if error_cnt == 0:
    print('\n\tNo FlexDCA errors reported.')
else:
    for i in range(0,error_cnt):
        print('\tERROR: ' + FlexDCA.query(':SYSTem:ERRor:NEXT?'))
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()


:SYSTem:ERRor:NEXT?

Query Syntax

:SYSTem:ERRor[:NEXT]?

Description

Queries and clears the last entry in the last-in first-out error-message buffer. The :NEXT child command is optional and is not required. The query returns a string having two comma-separated values. The first field is a number written as a string:

error number,"error message"

Repeatedly send this query to clear all errors messages. When the buffer is cleared, the string 0,"No error" is returned. Use the :SYSTem:ERRor:COUNt? query to return the number of errors in the error-message buffer.

Returned Errors
Error Number | Error Message
0 | No error
1 | Could not receive from socket
2 | Could not send to socket
3 | <string> is not a valid choice
11 | Control is set to limit: Entry was out of range
12 | Control entry was not a valid selection
13 | <string> is disabled
14 | The operation was not completed. The instrument is busy or not responding.
15 | <string> entry was limited to <number> characters
16 | Invalid character(s) removed from <string> entry
17 | ".<string>" is not a valid extension for {1}. Using extension ".<extension>".
18 | Invalid filename: <string>
19 | <string> must have at least <number> values
20 | <string> cannot have more than <number> values
30 | Unable to read from signal <string>.
31 | Unable to write to signal <string>.
40 | <string> has recovered from an unexpected software problem.
41 | <string> is busy or not responding.
42 | Out of memory. Restart the application as soon as possible.
43 | Insufficient memory to process <string>. Reduce the record length or turn off some signals.
51 | Unable to Characterize Edges: <string>
52 | Unable to Characterize Pattern: <string>
53 | Defined lead/lag CID (<number>:<number>) for one/zero level not found in pattern. Using closest (<number>:<number>).
56 | Unable to find any suitable edges on which to measure RJ/PJ.
59 | Unable to find any suitable one/zero levels on which to measure RN/PI.
70 | Hardware Failure: <string>
71 | The module in <string> is not supported.
72 | A memory error occurred in the module in <slot>. Try reinstalling the module.
73 | Unable to determine the module's slot. The USB instance ID <string> was not recognized.
74 | The <model number> module must occupy the leftmost or rightmost position of the module bay.
75 | The <model number> module requires firmware version <version> or later
80 | Incompatible file: Cannot load <string> into <string>.
82 | Unable to parse file.
83 | Unknown file format or version.
84 | Unable to save: <string>
85 | Unable to load due to insufficient memory.
86 | A serious problem has occurred while loading/saving a memory.
87 | File is corrupt: <string>
88 | The file specifies clock times that are not monotonically increasing.
96 | <string> requires an optical signal.
97 | <string> is not currently available.
98 | Clock recovery lost lock.
100 | The remote DCA did not respond.
101 | The connection to the remote DCA has been lost.
102 | An unexpected remote DCA communication error occurred: <string>
108 | Unable to connect: <string>
110 | Waveforms are restricted in length to <string>
111 | The waveform can not be acquired with <string> samples/bit. The record length is restricted to <number>
112 | A file has not been selected for the <math operator> operator driving <math function>
113 | Please <string>reset time reference
114 | No time reference set: <string>
115 | Please <string>set time reference to enable precision timebase
118 | The interpolation factor was restricted to <string> because waveform length is restricted to <number>
119 | Unable to normalize: <string>
120 | Unable to write to file "<string>"
121 | Unable to read from file "<string>"
122 | Could not load "<string>": <string>
123 | Could not find file "<string>"
124 | Please select a file<string>
130 | Unable to load the MATLAB Compiler Runtime
143 | Instrument Error;Autoscale: No valid sources are turned on.
144 | Instrument Error;Autoscale: Could not detect data rate. Instrument Error;Autoscale: Unable to detect reference clock frequency.
150 | Error loading mask file: <string>
151 | Unrecognized command in mask file: <command>
152 | Invalid argument <argument> for setup command: <command>
153 | Missing mask margin definition for region <number>
154 | Queries are not supported in mask file setup.
155 | This mask file is not fully supported.
157 | Mask file not specified.
171 | "<string>" was saved under a different configuration and may not have been completely restored.
173 | The Keysight IO Libraries service does not appear to be running.
177 | Measurement location <index> is out of range.
178 | Synchronization with the test pattern has been lost.
179 | Remote DCA connection terminated by another user.
180 | Keysight IO Libraries is not properly installed.
181 | The feature <feature> is unlicensed.
182 | The License Service is unavailable.
183 | <string> has no valid data.
187 | Instrument Error;TDR Step Calibration is required for Slot #.
−310 | System error;List is empty
−113 | Undefined header;EICI<Err>
−410 | Query INTERRUPTED


:SYSTem:FACTory

Command Syntax

:SYSTem:FACTory

Description

Sets FlexDCA to its factory preset settings. Use the *OPC? query to notify the calling program when an operation is complete. Factory preset is the combination of the default settings and additional settings. There is no query form of this command or to undo its action.


:SYSTem:FCONfig

Command Syntax

:SYSTem:FCONfig {STANdard  | COMPatible | LEGacy }

Query Syntax

:SYSTem:FCONfig?

Query Response

{STAN | COMP | LEG}

Description

Changes the configuration of the 86100D. Each configuration varies in the available features as documented in this help system. For example, the 86100D boots up in STANDard configuration, which is the only configuration that supports the new one-slot mini modules. Modules Supported in these configurations.

STANDard
This is the default 86100D configuration. FlexDCA directly controls the instrument and supports one-slot mini modules such as the N1045A. Use the programming commands documented in in this help system.
COMPatible
Provides a FlexDCA GUI that support all of the two-slot modules. However, Compatibility configuration:

  • Does not support new one-slot mini modules
  • Does not support TDR mode
  • Is not available on N1010A FlexDCA that is installed on a PC.
Use the programming commands documented in in this help system.
LEGacy
Supports some features that are unavailable in Standard configuration. For example, Legacy configuration supports RZ eye measurements and all 86100D standard two-slot modules (but not the new one-slot mini modules). However, extended modules, simulated modules, waveform signal processing, and Jitter Spectrum Analysis and Clock Recovery Emulation are unavailable. Legacy is the 86100D user interface prior to software revision A.10.80 and below. You can programming this configuration directly using commands that are documented in the 86100A/B/C/D Programmer's Guide which can be downloaded from the 86100D product page on Keysight.com. The programming command documented in this help system do not apply to this instrument configuration. You can also control the 86100D in Legacy by establishing a LAN connection between FlexDCA on a PC and the 86100D and then programming FlexDCA using the commands in this help system.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SYSTem:GTLocal

Command Syntax

:SYSTem:GTLocal

Description

Forces the 86100D to go into local mode which allows operation of the instrument via the front panel. This is used for instances when you to pause an application so that the user can perform a front-panel task.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SYSTem:HAL?

Query Syntax

:SYSTem:HAL?

Description

Queries the state of FlexDCA's Hardware Abstaction Layer (HAL), which indicates if FlexDCA has been started in Standard or Compatibility configuration. The following strings can be returned by the query:

DCA86100
FlexDCA is in the Standard instrument control state.
SIM
FlexDCA is in data simulation control state. (Firmware revision A.01.80 and below)
DSCP
FlexDCA is in Compatibilty instrument control state.


:SYSTem:HELP:HEADers?

Query Syntax

:SYSTem:HELP:HEADers?

Description

Returns a ASCII string of all FlexDCA programming commands and queries. Each line lists a command or query followed by a carriage return and line feed. If a command does not support a query, the line is ended with the "/nquery/" characters. If command only supports a query, the line is ended with the "/qonly/" characters. The first line of the returned data is the standard SCPI header for blocks of data. It specifies the data format and how much data will follow.

The following is an example of the first few lines returned by the query:

#6203607
:ACQuire:CDISplay/nquery/
:ACQuire:ECOunt
:ACQuire:ECOunt:DEFault
:ACQuire:ECOunt:MAXimum
:ACQuire:ECOunt:MINimum
:ACQuire:ECOunt:STEP/nquery/
:ACQuire:EPATtern
:ACQuire:EPATtern:DEFault
:ACQuire:EPATtern:TOGGle/nquery/
:ACQuire:EPATtern:VSET?/qonly/
:ACQuire:RLENgth
:ACQuire:RLENgth:AUTo
:ACQuire:RLENgth:AUTo:DEFault
:ACQuire:RLENgth:AUTo:NEXT/nquery/
…
…
…


:SYSTem:LANGuage?

Query Syntax

:SYSTem:LANGuage?

Description

This query always returns the following string: "FLEX" to identify the 86100D user interface in Standard or Compatibility configuration..

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.


:SYSTem:LAUNch

Command Syntax

:SYSTem:LAUNch <string>

<string> is the name of an installed 86100D DCA-X compliance application.

Description

Launches an 86100D DCA-X compliance application, such as the N1012A OIF CEI 3.0 application. Installed applicatons appear on the Apps > Automated Test Apps menu. To determine the proper string, perform the following steps:

  1. Click Tools > SCPI Programming Tools > SCPI Recorder to turn on the SCPI recorder.
  2. Click the Record button.
  3. Click Apps > Automated Test Apps following by the application that you want to launch.
  4. The recorder shows the :LAUNch command with the correct string.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

:SYSTem:LAUNch "N1012A OIF CEI 3_0"


:SYSTem:MODE

Command Syntax

:SYSTem:MODE  {EYE | OSCilloscope | JITTer | TDR}

Query Syntax

:SYSTem:MODE?

Description

Sets the FlexDCA to one of four operating modes: Eye/Mask, Oscilloscope, Jitter/Noise or TDR.

Query Response

{EYE | OSC | JITT | TDR}

Example Command Sequence

:SYSTem:MODE JITTer
*OPC?
…  //  Your code to synchronize execution timing.


:SYSTem:MODel?

Query Syntax

:SYSTem:MODel? [{FRAMe | SLOT{1:8}}]

Description

Returns the model number of FlexDCA or a module that is installed in the 86100D.

FRAMe
When FlexDCA is connected to an 86100D instrument, the returned string will be 86100D or 86100C. When FlexDCA is not connected to an instrument, the returned string will be N1010A. FRAMe is the default argument if no argument is provided.
SLOT{1:8}
Specifies the return of the model number for a module that is installed in an 86100D. For a two-slot module installed in slots 1 and 2, specify SLOT1. For a two-slot module installed in slots 3 and 4, specify SLOT3. For the 86108A four-slot module, specify SLOT1. Specifying an invalid slot for a given type of module results in the string "Not Present" being returned.

If you are using FlexDCA on a PC to control FlexDCA on the 86100D, extended and simulated modules are only available on FlexDCA which is on the PC. Any extended or simulated modules that are on the 86100D will not be recognized. If an extended or simulated module is assigned to a slot, the query of the slot returns "N1010A". In this case, use the :EMODules:SLOT:SELection? query to determine the type of module that is assigned.

Note

For FlexDCA revisions below 1.08.00, the returned string for the FRAMe argument will be N1010A when FlexDCA is installed on the oscilloscope.


:SYSTem:MPButton:DOCWizard:BFName

Command Syntax

:SYSTem:MPButton:DOCWizard:BFName "<filename>"

"<filename>" is a string of the file name including an optional path. The string can include path substitution strings.

Query Syntax

:SYSTem:MPButton:DOCWizard:BFName?

User File Locations

  • Location of files
  • Path substitution variables

Description

When the Multi-Purpose button is configured to documentation wizard file, this command identifies the path and name of the saved file. The default file (including path) is:

  • %USER_DATA_DIR%\Documentation Results\DocumentationResults.zip

To configure the Multi-Purpose button to save a documentation wizard file, use the :SYSTem:MPButton:FUNCtion command.

Example Command Sequence

:SYSTem:MPButton:DOCWizard:BFName "%USER_DATA_DIR%\Documentation Results\DocWizard.zip"
:SYSTem:MPButton:FUNCtion SDWFile

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:MPButton:FUNCtion

Command Syntax

:SYSTem:MPButton:FUNCtion {NONE | SSCReen | RSCRipt | LSETup | SDWFile}

Query Syntax

:SYSTem:MPButton:FUNCtion?

Description

Assigns one of four possible actions to the 86100D's front-panel Multi-Purpose button according to the arguments NONE, SSCReen, RSCRipt, and LSETup. A default setup (:SYSTem:DEFault) will not reset this setting but a factory preset (:SYSTem:FACTory) does reset it to NONE. The following arguments can be used:

NONE
The Multi-Purpose button is disabled. This is the factory preset setting.
SSCReen
Configures the Multi-Purpose button to save a screen image to a file. The factory preset filename for the saved image is QuickScreenSave.jpg. An integer is appended to the file name and is incremented each time a screen is saved.
Screen Image Information
FlexDCA Installed | Screen Captured | Default File Location
On 86100D | 86100D | 86100D
PC (connected to 86100D) | FlexDCA on PC | PC
PC (not connected to 86100D) | FlexDCA on PC | PC
Configuration Commands for Screen Images
Command | Description | Setting Reset By
Default Setup | Factory Preset
:MPButton:SIMage:BFName Change the default path and filename for saving screens images. ♦
:MPButton:SIMage:IMETadata Turns on and off the saving of metadata for jpg and tiff files. ♦ ♦
:MPButton:SIMage:INVert Turns on and off the inversion the graticule area's background color. ♦ ♦
:MPButton:SIMage:MONochrome Turns monochrome screen capture on and off. ♦ ♦
:MPButton:SIMage:SAVE Saves a screen image. — —

Example Command Sequence

:SYSTem:MPButton:SIMage:BFName "ProtoWaveform.png"  //  Assign a base filename
:SYSTem:MPButton:SIMage:INVert ON
:SYSTem:MPButton:FUNCtion SSCReen  //  Assign saving a screen image to Multi-Purpose button
RSCRipt
Configures the Multi-Purpose button to run a SCPI script. The factory preset scripts are named in the following table.
Configuration Commands for Running Scripts
Command | Description | Setting Reset By
Default Setup | Factory Preset
:MPButton:QSPBack:SSCRipt Selects one script for all four instrument modes or a different script for each mode. The default script is MultiPurpose.scpi. ♦
:MPButton:QSPBack:EYE:FNAMe Specifies the script to run in Eye mode. The default script is MultiPurpose Eye.scpi. ♦
:MPButton:QSPBack:JITTer:FNAMe Specifies the script to run in Jitter mode. The default script is MultiPurpose Jitter.scpi. ♦
:MPButton:QSPBack:OSCilloscope:FNAMe Specifies the script to run in Oscilloscope mode. The default script is MultiPurpose Scope.scpi. ♦
:MPButton:QSPBack:TDR:FNAMe Specifies the script to run in TDR/TDT mode. The default script is MultiPurpose TDR.scpi. ♦

Example Command Sequence

:SYSTem:MPButton:QSPBack:SSCRipt OFF  //  Separate script for each Instrument mode
:SYSTem:MPButton:QSPBack:EYE:FNAMe "EyeOpeningScript.scpi"  //  Script for Eye mode
:SYSTem:MPButton:QSPBack:JITTer:FNAMe "JitterScript.scpi"  //  Script for Jitter mode
:SYSTem:MPButton:QSPBack:OSCilloscope:FNAMe "ScopeScript.scpi"  //  Script for Scope mode
:SYSTem:MPButton:QSPBack:TDR:FNAMe "TDRScript.scpi"  //  Script for TDR/TDT mode
:SYSTem:MPButton:FUNCtion RSCRipt  //  Assign running s script to Multi-Purpose button
LSETup
Configures the Multi-Purpose button to run an instrument setup file.
Configuration Commands for Running Instrument Setups
Command | Description | Setting Reset By
Default Setup | Factory Preset
:MPButton:QSETup:FNAMe Loads and runs an instrument setup file. The default script is MultiPurpose.setx. ♦

Example Command Sequence

:SYSTem:MPButton:QSETup:FNAMe "EyeModeSetup.setx"
:SYSTem:MPButton:FUNCtion LSETup
SDWFile
Configures the Multi-Purpose button to save a documentation wizard file. To specify the name of the saved file, use the :SYSTem:MPButton:DOCWizard:BFName command. To select the contents for the documentation wizard file, use the :DWIZard commands that are located in the :DISK subsystem, as described in :DISK:DWIZard:SAVE command.
Configuration Commands for Saving a Documentation Wizard File
Command | Description | Setting Reset By
Default Setup | Factory Preset
:MPButton:DOCWizard:BFName Save a documentation wizard file. The default script is QuickDocWizardSave.zip. ♦

Example Command Sequence

:SYSTem:MPButton:DOCWizard:BFName "%USER_DATA_DIR%\Documentation Results\DocWizard.zip"
:SYSTem:MPButton:FUNCtion SDWFile

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:MPButton:QSETup:FNAMe

Command Syntax

:SYSTem:MPButton:QSETup:FNAMe "<filename>"

"<filename>" is a string of the file name including an optional path. The string can include path substitution strings.

Query Syntax

:SYSTem:MPButton:QSETup:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

When the Multi-Purpose button is configured to load a setup file, this command identifies the path and name of the file. The default file (including path) is:

  • D:\Users\<user>\MultiPurpose.setx on an 86100D
  • D:\Users\<user>\Documents\Keysight\MultiPurpose.setx on an PC

To configure the Multi-Purpose button to load an instrument setup file, use the :SYSTem:MPButton:FUNCtion command.

Example Command Sequence

:SYSTem:MPButton:QSETup:FNAMe "EyeModeSetup.setx"
:SYSTem:MPButton:FUNCtion LSETup

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:MPButton:QSPBack:EYE:FNAMe

Command Syntax

:SYSTem:MPButton:QSPBack:EYE:FNAMe "<file name>"

"<filename>" is a string of the file name with optional path. The string can include path substitution strings.

File Locations

Learn about user-file folders and path substitution variables for remote programming commands.

Query Syntax

:SYSTem:MPButton:QSPBack:EYE:FNAMe?

Description

When the Multi-Purpose button is configured to run a unique SCPI script for each instrument mode, this command identifies the path and name of the Eye/Mask mode script.To configure the Multi-Purpose button to run a SCPI script file, use the :SYSTem:MPButton:FUNCtion command. To select to use one script for each mode or a unique script for each mode, use the :SYSTem:MPButton:QSPBack:SSCRipt command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command Sequence

:SYSTem:MPButton:QSPBack:SSCRipt OFF  //  Separate script for each Instrument mode
:SYSTem:MPButton:QSPBack:EYE:FNAMe "EyeOpeningScript.scpi"  //  Script for Eye mode
:SYSTem:MPButton:QSPBack:JITTer:FNAMe "JitterScript.scpi"  //  Script for Jitter mode
:SYSTem:MPButton:QSPBack:OSCilloscope:FNAMe "ScopeScript.scpi"  //  Script for Scope mode
:SYSTem:MPButton:QSPBack:TDR:FNAMe "TDRScript.scpi"  //  Script for TDR/TDT mode
:SYSTem:MPButton:FUNCtion RSCRipt  //  Assign running s script to Multi-Purpose button


:SYSTem:MPButton:QSPBack:FNAMe

Command Syntax

:SYSTem:MPButton:QSPBack:FNAMe "<file name>"

"<file name>" is a string of the file name with optional path. The string can include path substitution strings.

Query Syntax

:SYSTem:MPButton:QSPBack:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

When the Multi-Purpose button is configured to run a single SCPI script regardless of instrument mode, this command identifies the path and name of the script. To select to use a single script, use the :SYSTem:MPButton:QSPBack:SSCRipt command. To configure the Multi-Purpose button to run a SCPI script file, use the :SYSTem:MPButton:FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command Sequence

:SYSTem:MPButton:QSPBack:SSCRipt ON  //  Single script for all instrument modes
:SYSTem:MPButton:QSPBack:FNAMe "MyScript.scpi"  //  Assign running a script to Multi-Purpose button


:SYSTem:MPButton:QSPBack:JITTer:FNAMe

Command Syntax

:SYSTem:MPButton:QSPBack:JITTer:FNAMe "<file name>"

"<file name>" is a string of the file name with optional path. The string can include path substitution strings.

Query Syntax

:SYSTem:MPButton:QSPBack:JITTer:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

When the Multi-Purpose button is configured to run a unique SCPI script for each instrument mode, this command identifies the path and name of the Jitter mode script. To select to use unique scripts, use the :SYSTem:MPButton:QSPBack:SSCRipt command. To configure the Multi-Purpose button to run a SCPI script file, use the :SYSTem:MPButton:FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command Sequence

:SYSTem:MPButton:QSPBack:SSCRipt OFF  //  Separate script for each Instrument mode
:SYSTem:MPButton:QSPBack:EYE:FNAMe "EyeOpeningScript.scpi"  //  Script for Eye mode
:SYSTem:MPButton:QSPBack:JITTer:FNAMe "JitterScript.scpi"  //  Script for Jitter mode
:SYSTem:MPButton:QSPBack:OSCilloscope:FNAMe "ScopeScript.scpi"  //  Script for Scope mode
:SYSTem:MPButton:QSPBack:TDR:FNAMe "TDRScript.scpi"  //  Script for TDR/TDT mode
:SYSTem:MPButton:FUNCtion RSCRipt  //  Assign running s script to Multi-Purpose button


:SYSTem:MPButton:QSPBack:OSCilloscope:FNAMe

Command Syntax

:SYSTem:MPButton:QSPBack:OSCilloscope:FNAMe "<file name>"

"<file name>" is a string of the file name with optional path. The string can include path substitution strings.

Query Syntax

:SYSTem:MPButton:QSPBack:OSCilloscope:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

When the Multi-Purpose button is configured to run a unique SCPI script for each instrument mode, this command identifies the path and name of the Oscilloscope mode script. To select to use unique scripts, use the :SYSTem:MPButton:QSPBack:SSCRipt command. To configure the Multi-Purpose button to run a SCPI script file, use the :SYSTem:MPButton:FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command Sequence

:SYSTem:MPButton:QSPBack:SSCRipt OFF  //  Separate script for each Instrument mode
:SYSTem:MPButton:QSPBack:EYE:FNAMe "EyeOpeningScript.scpi"  //  Script for Eye mode
:SYSTem:MPButton:QSPBack:JITTer:FNAMe "JitterScript.scpi"  //  Script for Jitter mode
:SYSTem:MPButton:QSPBack:OSCilloscope:FNAMe "ScopeScript.scpi"  //  Script for Scope mode
:SYSTem:MPButton:QSPBack:TDR:FNAMe "TDRScript.scpi"  //  Script for TDR/TDT mode
:SYSTem:MPButton:FUNCtion RSCRipt  //  Assign running s script to Multi-Purpose button


:SYSTem:MPButton:QSPBack:SSCRipt

Command Syntax

:SYSTem:MPButton:QSPBack:SSCRipt {ON | OFF}

Query Syntax

:SYSTem:MPButton:QSPBack:SSCRipt?

Description

When the Multi-Purpose button is configured to run a SCPI script, use this command to select whether to run the same script or a unique script for each instrument mode (Oscilloscope, Eye/Mask, Jitter, and TDR/TDT). To configure the Multi-Purpose button to run a SCPI script file, use the :SYSTem:MPButton:FUNCtion command.

The commands arguments are:

ON
Pressing the MultiPurpose button run a single script regardless of the current instrument mode. This script does not exist, so you must create the script, give it any name that you want, and place it in the \Scripts user folder. You cannot save scripts to the \Multi-Purpose Button subfolder as it is a shortcut to a folder that is write protected.
OFF
A unique script can be assigned to run in each instrument mode (Oscilloscope, Eye/Mask, Jitter, and TDR/TDT). You must first create your scripts for each mode and then save them in the \Scripts user folder. There are default mode scripts located in the \Scripts\Multi-Purpose Button folder as shown in the following table. However, you cannot save scripts to this subfolder as it is a shortcut to a folder that is write protected.

A Default Setup does not clear or reset the currently assigned SCPI scripts. To reset the dialog box to the default scripts, click Setup > Factory Preset.

Command Arguments
Argument | Instrument Mode Where Script is Run | Command to Specify Script | Factory Preset Script
ON | All | :MPButton:QSPBack:FNAMe | –
OFF | Eye/Mask | :MPButton:QSPBack:EYE:FNAMe | MultiPurpose Eye.scpi
 | Jitter | :MPButton:QSPBack:JITTer:FNAMe | MultiPurpose Jitter.scpi
 | Oscilloscope | :MPButton:QSPBack:OSCilloscope:FNAMe | MultiPurpose Scope.scpi
 | TDR/TDT | :MPButton:QSPBack:TDR:FNAMe | MultiPurpose TDR.scpi

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:MPButton:QSPBack:TDR:FNAMe

Command Syntax

:SYSTem:MPButton:QSPBack:TDR:FNAMe "<file name>"

"<file name>" is a string of the file name with optional path. The string can include path substitution strings.

Query Syntax

:SYSTem:MPButton:QSPBack:TDR:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

When the Multi-Purpose button is configured to run a unique SCPI script for each instrument mode, this command identifies the path and name of the TDR/TDT mode script. To select to use unique scripts, use the :SYSTem:MPButton:QSPBack:SSCRipt command. To configure the Multi-Purpose button to run a SCPI script file, use the :SYSTem:MPButton:FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.

Example Command Sequence

:SYSTem:MPButton:QSPBack:SSCRipt OFF  //  Separate script for each Instrument mode
:SYSTem:MPButton:QSPBack:EYE:FNAMe "EyeOpeningScript.scpi"  //  Script for Eye mode
:SYSTem:MPButton:QSPBack:JITTer:FNAMe "JitterScript.scpi"  //  Script for Jitter mode
:SYSTem:MPButton:QSPBack:OSCilloscope:FNAMe "ScopeScript.scpi"  //  Script for Scope mode
:SYSTem:MPButton:QSPBack:TDR:FNAMe "TDRScript.scpi"  //  Script for TDR/TDT mode
:SYSTem:MPButton:FUNCtion RSCRipt  //  Assign running s script to Multi-Purpose button


:SYSTem:MPButton:SIMage:BFName

Command Syntax

:SYSTem:MPButton:SIMage:BFName "<filename>"

"<filename>" is a string of the file name with optional path. The string can include path substitution strings.

Query Syntax

:SYSTem:MPButton:SIMage:BFName?

User File Locations

  • Location of files
  • Path substitution variables

Description

Enters the base filename for saving screen images using the Multi-Purpose button. The defaul filename is QuickScreenSave.jpg. The type of image file saved is determned by the filename extension whcih can be .bmp, .gif, .jpg, .png, or .tif. Each image file that is saved uses a variation of your base filename. The name of the saved file is in the form of:

<base filename>_<year>-<month>-<day>_<index>.<extension>

For example, suppose that you enter a base filename of EyeDiagram.png and you save your first screen image file on April 19th, 2015. The name of the file will be EyeDiagram_2015-4-19_1.png. The index number is incremented for each subsequent save. The default folder for saving images is D:\User Files\Screen Images on the 86100D and C:\Users\<user>\My Documents\Keysight\FlexDCA when FlexDCA is installed on a PC.

After entering the base filename, configure the Multi-Purpose button to save a screen images using the :SYSTem:MPButton:FUNCtion command.

Example Command Sequence

:SYSTem:MPButton:SIMage:BFName "ProtoWaveform.png"  //  Assign a base filename
:SYSTem:MPButton:SIMage:INVert ON
:SYSTem:MPButton:FUNCtion SSCReen  //  Assign saving a screen image to Multi-Purpose button

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:MPButton:SIMage:IMETadata

Command Syntax

:SYSTem:MPButton:SIMage:IMETadata {ON | OFF)

Query Syntax

:SYSTem:MPButton:SIMage:IMETadata?

Description

Turns on and off the inclusion of metadata when the Multi-Purpose button is configured to save a screen image to a file. Saving metadata only applies to screen captures that are saved as jpg or tiff files. To view or edit the metadata placed in your screen image file, you can right click on the file in Window's File Explorer and from the shortcut menu select Properties. In the Properties dialog box, click the Details tab as shown in this picture. To edit the metadata fields for your image, click on the Value entree shown on the dialog box. The following table lists the metadata fields that FlexDCA populates. The query form of the command returns the current setting.

Metadata Added to Screen Captures
Metadata Field | Value Examples
Subject | Screen Capture
Comments | 86100D (S/N USXXXXXXXX) Modules: Slot 1 Module(86108B LBW,232,300,400,JSA) (MYXXXXXXXX)
Date taken | 7/10/2015 4:32 PM
Program name | FlexDCA (A.05.00.000)
Camera maker | Keysight Technologies
Camera model | FlexDCA (A.05.00.000)
Name | ScreenCapture.jpg

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:SYSTem:MPButton:SIMage:INVert

Command Syntax

:SYSTem:MPButton:SIMage:INVert {ON | OFF}

Query Syntax

:SYSTem:MPButton:SIMage:INVert?

Description

Turns on and off the inversion of the graticule area's background color. The entire application window is saved with a black graticule upon a white background. The waveform colors remain unchanged. Inversion is automatically turned on and cannot be turned off if the :MONochrome sibling command is enabled. To configure the Multi-Purpose button to save a screen image to a file, use the :SYSTem:MPButton:FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:MPButton:SIMage:MONochrome

Command Syntax

:SYSTem:MPButton:SIMage:MONochrome {ON | OFF}

Query Syntax

:SYSTem:MPButton:SIMage:MONochrome?

Description

Turns monochrome screen capture on and off. When on, a black and white image will be saved. Selecting monochrome automatically inverts the graticule area's background color. When off, you can invert the graticule area's background color using the :INVert sibling command. To configure the Multi-Purpose button to save a screen image to a file, use the :SYSTem:MPButton:FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:MPButton:SIMage:SAVE

Command Syntax

:SYSTem:MPButton:SIMage:SAVE

Query Syntax

:SYSTem:MPButton:SIMage:SAVE?

Description

Saves a screen image file using the Multi-Purpose button settings. To configure the Multi-Purpose button to save a screen image to a file, use the :SYSTem:MPButton:FUNCtion command.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:OPTions

Query Syntax

:SYSTem:OPTions? [{FRAMe | SLOT{1:4}}]

Description

Returns a list of all installed options for the 86100D or a module that is installed in the 86100D. Multiple values are comma separated.

FRAMe
Specifies a list of all hardware options and software licenses installed on the 86100D. This is the default argument if no argument is provided. The following is an example of a returned option string: "ETR, 200, 201, 202, 300, SIM, 500".
SLOT{1:4}
Specifies a list of all options installed in the selected 86100D module. For a two-slot module installed in slots 1 and 2, specify SLOT1. For a two-slot module installed in slots 3 and 4, specify SLOT3. For the 86108A four-slot module, specify SLOT1. Specifying an invalid slot for a given type of module results in the string "Not Present" being returned. The following is an example of a returned option string for an 83496B clock-recovery module: "101,200".


:SYSTem:OSYStem

Query Syntax

:SYSTem:OSYStem?

Description

Returns a string that identifies the operating system under which the FlexDCA application is running. This is the same text that is shown in the About dialog box (click Help > About), under the listing for OS. For example, when running embedded on an 86100D, a string that is similar to the following two strings could be returned:

  • "Windows Embedded Standard 64 Bit"
  • "Microsoft Windows XP 32 Bit"

When running as an application on a PC, a string that is similar to the following is returned:

  • "Windows 7 Enterprise 64 Bit"

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:PAUTodetect

Command Syntax

:SYSTem:PAUTodetect

Description

Forces the immediate detection of the bit rate, pattern length, and trigger divide ratio. Pattern lock must be enabed (:TRIGger:PLOCk ON) for this command to work. If automatic detection of the bit rate (:TRIGger:BRATe:AUTodetect), pattern length (:TRIGger:PLENgth:AUTodetect), or trigger divide ratio (:TRIGger:DCDRatio:AUTodetect) is turned off, the associated waveform parameter will not be automatically detected by :PAUTodetect.

This command does not perform vertical and horizontal scaling of the input waveform. So, an eye diagram will not be centered at the completion of this command. Use the :SYSTem:AUToscale command to scale the signal after using the :SYSTem:PAUTodetect command.

Example Command Sequence

The following example automatically detects the pattern length and trigger divide ratio but not the bit rate.

:TRIGger:BRATe:AUTodetect OFF
:TRIGger:BRATe 9.95328E+9
:TRIGger:DCDRatio:AUTodetect ON
:TRIGger:PLENgth:AUTodetect ON
:TRIGger:PLOCk
:SYSTem:PAUTodetect

  • Learn More


:SYSTem:PERSona:MANufacturer

Command Syntax

:SYSTem:PERSona:MANufacturer "name"

"name" is a string.

Query Syntax

:SYSTem:PERSona:MANufacturer?

Description

Specifies the manufacturer of this product. The value is: "Keysight Technologies".

Example Command Sequence

:SYSTem:PERSona:MANufacturer "Keysight Technologies"

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:PERSona:MANufacturer:DEFault

Command Syntax

:SYSTem:PERSona:MANufacturer:DEFault

Query Syntax

:SYSTem:PERSona:MANufacturer:DEFault?

Description

Sets the manufacturer identification string to its default value, which is "Keysight Technologies".

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:PERSona:MODel

Command Syntax

:SYSTem:PERSona:MODel "model number"

"model number" is a string.

Query Syntax

:SYSTem:PERSona:MODel?

Description

Specifies the model number of this product. The value is restricted to one of two strings: "86100D" or "N1010A". If FlexDCA is runing on an 86100D, the default model number is "86100D". If FlexDCA is runing on a PC, the default model number is "N1010A".

Example Command Sequence

:SYSTem:PERSona:MODel "86100D"

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:PERSona:MODel:DEFault

Command Syntax

:SYSTem:PERSona:MODel:DEFault

Query Syntax

:SYSTem:PERSona:MODel:DEFault?

Description

Sets the model identification string to its default value. If FlexDCA is runing on an 86100D, the default model number is "86100D". If FlexDCA is runing on a PC, the default model number is "N1010A".

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:SYSTem:SERial

Query Syntax

:SYSTem:SERial? [{FRAMe | SLOT{1:4}}]

Description

Returns the serial number of FlexDCA or a module that is installed in the 86100D.

FRAMe
Specifies the return of FlexDCA's serial number. This is the default argument if no argument is provided.
SLOT{1:4}
Specifies the return of the serial number for a module that is installed in an 86100D. For a two-slot module installed in slots 1 and 2, specify SLOT1. For a two-slot module installed in slots 3 and 4, specify SLOT3. For the 86108A four-slot module, specify SLOT1. Specifying an invalid slot for a given type of module results in the string "Not Present" being returned.


:SYSTem:STAutodetect

Command Syntax

:SYSTem:STAutodetect

Description

Detects the signal type for all of the following displayed waveforms: channels, common-mode channels, differential channels, and functions. Signals can be detected as clock, NRZ, or PAM4. Automatic signal-type detection is enabled by default, but you can disable it for any particular waveform using one of the following commands:

  • :CHANnel:SIGNal:TYPE:AUTO
  • :CMODe:SIGNal:TYPE:AUTO
  • :DIFF:SIGNal:TYPE:AUTO
  • :FUNCtion:SIGNal:TYPE:AUTO

Signal-type detection is also run as part of an autoscale (:SYSTem:AUToscale).

Example Command Sequence

:CHANnel2A:SIGNal:TYPE:AUTO ON
:SYSTem:STAutodetect
:CHANnel2A:SIGNal:TYPE?


:SYSTem:TEMPerature?

Query Syntax

:SYSTem:TEMPerature? [{FRAMe | SLOT{1:8} | CHAN{1:8}{A:D}}]

Query Response

Returns a real. For example:

"-6.10"

Description

Returns a string of the temperature of the specified slot, channel, or 86100D mainframe. If no argument is specified, the temperature of the mainframe is returned. If the temperature of a simulated or empty slot or channel is queried, the value 9.91E+37 (NaN) is returned indicating the value is not a number.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Commands

:SYSTem:TEMPerature?  /* query the 86100D's temperature */
:SYSTem:TEMPerature? SLOT3  /* query temperature of module in slot 3 */


:SYSTem:TIME?

Query Syntax

:SYSTem:TIME?

Description

Queries the time in FlexDCA in 24-hour format. The time is returned as a string with comma-separated values of <hour>,<minute>,<seconds>. For example,

"08,55,10"

which represents 8:55 am and 10 seconds. If the time was 8:55 pm instead, the time returned by the string would be:

"20,55,10"

Use the :SYSTem:DATE? query to return the date. Use the :SYSTem:UTCNow? query to return the Coordinated Universal Time (UTC).


:SYSTem:UTCNow?

Query Syntax

:SYSTem:UTCNow?

Description

Queries the Coordinated Universal Time (UTC) which was formerly GMT. The time is returned as a string with in the form of <month>/<day>/<year> <hour>:<minutes>:<seconds>. For example,

"12/10/2015 15:47:17"

which represents the 10th day of December 2015, with a time of 15th hour, 47 minutes, and 17 seconds.

Use the :SYSTem:TIME? query to return the current local time. Use the :SYSTem:DATE? query to return the date.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:SYSTem:VIEW

Command Syntax

:SYSTem:VIEW  {CHANnel{N} | DIFF{1:4} | FUNCtion{1:16} | WMEMory{1:8}} | CGMemory{1:8} | JMEMory1 | HISTogram{1:4}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Turns on an active channel, differential waveform, function, waveform memory, color grade memory, jitter data memory, or histogram. Use the SYSTem:BLANk command to turn them off.

Note

The JMEMory1 argument is only valid when FlexDCA is in Jitter Mode. If FlexDCA is not in Jitter Mode, this argument does not place FlexDCA in Jitter Mode. The JMEMory1 waveform can be viewed in Jitter Mode's Waveform panel.

Note

When FlexDCA is in Jitter Mode, send a :SYSTem:AUToscale command to properly scale the waveform.


:SYSTem:UAUToscale

Note

Deprecated command for FlexDCA revision A.02.00 and above.

Command Syntax

:SYSTem:UAUToscale

Description

Undos (reverses) the action of a previous Auto Scale (:SYSTem:AUToscale).

  • Learn More


:SYSTem:UDEFault

Note

Deprecated command for FlexDCA revision A.02.00 and above.

Command Syntax

:SYSTem:UDEFault

Description

Undos (reverses) the action of setting FlexDCA to its default settings. To configure FlexDCA to its default settings, use the :SYSTem:DEFault command.


Introduction to :TDR Subsystem

Example Script

Click here to learn about a Python script for creating a DUT setup with de-embedding fixture components.

Use the TDR subsystem commands to configure the TDR setup for the DUT, to configure and run a TDR calibration, and to perform a deskew.

Note

TDR/TDT mode's PLTS (Option N1010A-BFP) cannot be remotely controlled. The are no remote programming commands for PLTS AFR.

FlexDCA Revision

This subsystem requires FlexDCA revision A.04.00 and above.

  • Programming Home

Commands

  • :ADAPters:CANCel
  • :ADAPters:CONNector
  • :ADAPters:CONTinue
  • :ADAPters:DELay
  • :ADAPters:DSPec
  • :ADAPters:NAME
  • :ADAPters:OVERwrite
  • :ADAPters:SCHannel
  • :ADAPters:SDONe?
  • :ADAPters:STARt
  • :AMODe
  • :ASNaming
  • :CALibration:ATIMebase
  • :CALibration:AVERages
  • :CALibration:CANCel
  • :CALibration:CONTinue
  • :CALibration:DRMCal
  • :CALibration:DUT:CDATa?
  • :CALibration:DUT:CDATa:REASon?
  • :CALibration:DUT:LOAD
  • :CALibration:DUT:LOAD:FNAMe
  • :CALibration:DUT:CDRSet
  • :CALibration:DUT:CLEar
  • :CALibration:DUT:CONFig?
  • :CALibration:DUT:CONFig:REASon?
  • :CALibration:DUT:CRSet
  • :CALibration:DUT:DRSet
  • :CALibration:DUT:ECAL:ADAPters:A
  • :CALibration:DUT:ECAL:ADAPters:B
  • :CALibration:DUT:ECAL:CHAR
  • :CALibration:DUT:ECAL:MODule
  • :CALibration:DUT:ECAL:STATus?
  • :CALibration:DUT:ECAL:STATus:REASon?
  • :CALibration:DUT:ENABle
  • :CALibration:DUT:FDRSet
  • :CALibration:DUT:METHod
  • :CALibration:DUT:NOCSteps
  • :CALibration:DUT:RDUT
  • :CALibration:DUT:SENDed:PORT:CKIT
  • :CALibration:DUT:SENDed:PORT:CONNector
  • :CALibration:DUT:SKAPorts
  • :CALibration:DUT:STARt
  • :CALibration:SDONe
  • :CALibration:STEP?
  • :CALibration:STEP:COUNt?
  • :CALibration:STEP:SELect
  • :CALibration:UCURrent
  • :CHANnel:DUT
  • :CHANnel:PORT
  • :DESKew:CANCel
  • :DESKew:CONTinue
  • :DESKew:DUT
  • :DESKew:FNAMe
  • :DESKew:SAVE
  • :DESKew:SCHannel
  • :DESKew:SDONe?
  • :DESKew:STARt
  • :DEEMbed:DUT:Enable
  • :DEEMbed:DUT:PORT:DPORt
  • :DEEMbed:DUT:PORT:FIXTure
  • :DEEMbed:DUT:PORT:TPORt
  • :DEEMbed:FCOMponent:CLEar
  • :DEEMbed:FCOMponent:LOAD
  • :DEEMbed:FCOMponent:LOAD:FNAMe
  • :DEEMbed:FCOMponent:NOPorts?
  • :DEEMbed:FCOMponent:PORDer
  • :DEEMbed:FCOMponent:STATus?
  • :DEEMbed:FCOMponent:STATus:REASon?
  • :DUT:ACMatch
  • :DUT:ACONnect
  • :DUT:ADPNaming
  • :DUT:DIFFerential:NPORt:UNAMe
  • :DUT:DIFFerential:PPORt:UNAMe
  • :DUT:DIFFerential:SIGNal:UNAMe
  • :DUT:DTYPe
  • :DUT:ENABle
  • :DUT:RISetime
  • :DUT:SENDed:PORT:UNAMe
  • :DUT:STATus
  • :DUT:STATus:REASon
  • :EXPerience
  • :FINCrement
  • :SPMemory:CLEar
  • :SPMemory:DTYPe?
  • :SPMemory:ENABle?
  • :SPMemory:LOAD
  • :SPMemory:SOURce
  • :STATus
  • :STATus:REASon
  • :STIMulus:CHANnel:AMPLitude
  • :STIMulus:CHANnel:METHod
  • :STIMulus:CHANnel:POLarity
  • :STIMulus:CHANnel:SKEW
  • :STIMulus:CHANnel:STATus
  • :STIMulus:CHANnel:STEP
  • :STIMulus:CHANnel:TYPe
  • :STIMulus:SLOT:RATE
  • :STIMulus:SLOT:RATE:AUTomatic


:TDR:ADAPters:CANCel

Command Syntax

:TDR:ADAPters:CANCel

Description

Cancels an Add New Adapter wizard. This command is equivalent to clicking the Cancel button in the wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ADAPters:CONNector

Command Syntax

:TDR:ADAPters:CONNector{1|2} {M350 | F350 | M292 | F292 | M240 | F240 | M185 | F185}

Query Syntax

:TDR:ADAPters:CONNector?

Description

Enters the RF adapter type that will be used on each of the two ECal module's connectors. Supported connector types include 1.85 mm, 2.4 mm, 2.92 mm, and 3.5 mm (both male and female).

Command Argument Versus Adapter Type
Connector Type | Command Argument
 | Male | Female
3.5 mm | M350 | F350
2.92 mm | M292 | F292
2.4 mm | M240 | F240
1.85 mm | M185 | F185

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ADAPters:CONTinue

Command Syntax

:TDR:ADAPters:CONTinue

Description

Continues the execution of the Add New Adapter wizard to display the next step. This command is equivalent to clicking the Next button in the wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ADAPters:DELay

Command Syntax

:TDR:ADAPters:DELay <delay>

<delay> is a double.

Query Syntax

:TDR:ADAPters:DELay?

Description

Enters the adapter's delay in seconds. This command is used when the Add New Adapter wizard is configured for manual entry of the delay value rather than measuring the delay. Use the :TDR:ADAPters:DSPec command to select the delay entry method used.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ADAPters:DSPec

Command Syntax

:TDR:ADAPters:DSPec {MDELay | MSDelay}

Query Syntax

:TDR:ADAPters:DSPec?

Description

During the Add New Adapter wizard, use this command select the method used to set the adapter's delay value. Either the wizard can measure the delay (MDELay) or you can manually set the delay value (MSDelay). If you select for the wizard to measure the delay, use the :TDR:ADAPters:SCHannel command to indicate the channel (TDR head) on which to measure the delay.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence (Measuring the Delay)

:TDR:ADAPters:STARt
:TDR:ADAPters:SDONe?
:TDR:ADAPters:NAME "Adapter C"  //  Create name for new adapter.
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:CONNector1 F240
:TDR:ADAPters:CONNector2 F240
:TDR:ADAPters:DSPec MDELay  //  Select to measure the delay.
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:SCHAnnel CHAN1A
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:CONTinue
*OPC?

Example Command Sequence (Manually Entering the Delay)

:TDR:ADAPters:STARt
:TDR:ADAPters:SDONe?
:TDR:ADAPters:NAME "Adapter C"  //  Create name for new adapter.
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:CONNector1 F240
:TDR:ADAPters:CONNector2 F240
:TDR:ADAPters:DSPec MSDelay  //  Select manual entry.
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:DELay 1E-13  //  Enter delay value.
:TDR:ADAPters:CONTinue
:TDR:ADAPters:SDONe?
:TDR:ADAPters:CONTinue
*OPC?


:TDR:ADAPters:NAME

Command Syntax

:TDR:ADAPters:NAME <string>

Query Syntax

:TDR:ADAPters:NAME?

Description

Adds an identifying name to an adapter that is being added in the Add New Adapter wizard. The name is a string limited to 20 characters or less. If the adapter name already exists, use the :TDR:ADAPters:OVERwrite command to overwrite the current adapter. To start the wizard, use the :TDR:ADAPters:STARt command. After defining your adapter, use this name to assign the adapter to the ECal module using the :TDR:CALibration:DUT:ECAL:ADAPters:A or :TDR:CALibration:DUT:ECAL:ADAPters:B commands.

Note

If you need to delete an adapter definition, delete the definition file.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ADAPters:OVERwrite

Command Syntax

:TDR:ADAPters:OVERwrite

Description

This command is used when the Add New Adapter wizard step for naming a new adapter is displayed and the adapter name already exists. Use the :TDR:ADAPters:OVERwrite command to overwrite the current adapter. This is equivalent to clicking the Overwrite button that is shown in the wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ADAPters:SCHannel

Command Syntax

:TDR:ADAPters:SCHannel CHANnel{N}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 1A.

Query Syntax

:TDR:ADAPters:SCHannel?

Description

When the Add New Adapter wizard is configured for measuring the adapter's delay value rather manual entering it, use this command to select the channel (TDR head) for making the measurement. To select that the delay value is to be measured, use the :TDR:ADAPters:DSPec command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ADAPters:SDONe?

Query Syntax

:TDR:ADAPters:SDONe?

Description

During the Add New Adapter wizard, sets an interupt to indicate the next wizard step is viewed. Send this query after the :TDR:ADAPters:STARt and :TDR:ADAPters:CONTinue commands as shown in the example for the :TDR:ADAPters:STARt command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ADAPters:STARt

Command Syntax

:TDR:ADAPters:STARt

Description

For an ECal-based TDR calibration, starts the Add New Adapter wizard, which is required to specify an adapter that connects the ECal module to the TDR head. This wizard measures (or allows you to manually enter) the delay introduced by the adapter. Use the :TDR:ADAPters:DSPec command to specify if the adapter's delay value is manually entered or measured. To assign the adapter to either the ECal module's A or B port, use the :TDR:CALibration:DUT:ECAL:ADAPters:A and :TDR:CALibration:DUT:ECAL:ADAPters:Bcommands.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:TDR:ADAPters:STARt
:TDR:ADAPters:SDONe?  //  View "Set Adapter Name" step.
:TDR:ADAPters:NAME "Adapter C"  //  Name adapter.
:TDR:ADAPters:CONTinue  //  "Click" Next.
:TDR:ADAPters:SDONe?  //  View "Describe Adapter" step.
:TDR:ADAPters:CONNector1 F240  //  Type of adapter connector.
:TDR:ADAPters:CONNector2 F240
:TDR:ADAPters:DSPec MDELay  //  Select to measure the delay.
:TDR:ADAPters:CONTinue  //  "Click" Next.
:TDR:ADAPters:SDONe?  //  View "Select Channel" step.
:TDR:ADAPters:SCHAnnel CHAN1A  //  Select the channel.
:TDR:ADAPters:CONTinue  //  "Click" Next.
:TDR:ADAPters:SDONe?  //  Vew "Attach Adapter" instruction.
:TDR:ADAPters:CONTinue  //  "Click" Next.
:TDR:ADAPters:SDONe?  //  Vew "Remove Adapter" instruction.
:TDR:ADAPters:CONTinue  //  "Click" Next.
:TDR:ADAPters:SDONe?  //  Vew "Verify Delay" instruction.
:TDR:ADAPters:CONTinue  //  "Click" Next.
:TDR:ADAPters:SDONe?  //  Vew "Completed" notice.
:TDR:ADAPters:CONTinue  //  "Click" Done.
*OPC?


:TDR:AMODe

Command Syntax

:TDR:AMODe {SENDed | DIFFerential}

Query Syntax

:TDR:AMODe?

Description

Selects single-ended or differential TDR stimulus mode. To select the type of DUT (number of ports), use the :TDR:DUT:DTYPe command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:ASNaming

Command Syntax

:TDR:ASNaming {ON | OFF}

Query Syntax

:TDR:ASNaming?

Description

Turns automatic signal naming on Waveform content windows on or off. This determines if waveforms are identified in the displayed window legend by channel (OFF) or by the DUT's port name (ON). The default setting is on. This setting does not affect the legend on other TDR Mode content windows. When signal naming is turned on, the default labels (for example, "Port") are displayed unless you have changed them using the :TDR:DUT:SENDed:PORT:UNAMe command. On differential signals, use the :TDR:DUT:ADPNaming command to specify custom port naming by individual (+/–) ports or differential ports.

Waveform Signal Legends for ASNaming and ADPNaming Commands
Stimulus Mode | ASNaming OFF | ASNaming ON
 |  | Default Connector Labels | Custom Connector Labels
Single-Ended |  |  |
Differential |  |  | ADPNaming OFF (Custom Diff +/– Labels) | ADPNaming ON (Custom Diff Port Labels)

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:ATIMebase

Command Syntax

:TDR:CALibration:ATIMebase {ON | OFF}

Query Syntax

:TDR:CALibration:ATIMebase?

Description

Configures a TDR calibration so that the fixture length is automatically determined. This is the default setting. If you turn this setting off, use the following three commands to manually set the time window:

:TIMebase:SCALe
Sets the seconds-per-division on the display's x-axis.
:TIMebase:POSition
Sets the time value in seconds at the timebase reference which, by default, is two divisions from the left side of the display.
:TIMebase:REFerence
By default, the TDR time reference is set to the second division from the left edge of the display. Changing the reference to the center of the display is not recommended. The horizontal reference point defines a specific delay value relative to the trigger event.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:AVERages

Command Syntax

:TDR:CALibration:AVERages <count>

<count> is an int.

Query Syntax

:TDR:CALibration:AVERages?

Description

Sets the number of waveforms averaged during TDR calibrations. The default number of averages is 128.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:CANCel

Command Syntax

:TDR:CALibration:CANCel

Description

Cancels a TDR calibration that is in process.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:CONTinue

Command Syntax

:TDR:CALibration:CONTinue

Description

Continues a TDR calibration that is in process.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DRMCal

Command Syntax

:TDR:CALibration:DRMCal

Description

When a TDR Calibration is started and paused for a recommended module calibration, do the recommended module calibration before continuing.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:CDATa

Query Syntax

:TDR:CALibration:DUT{1:16}:CDATa?

Query Response

{CORR | INV}

Description

Returns the status of the current TDR calibration, which can be correct (CORR) or invalid (INV). Use the :REASon child query to return a valid calibration's creation date or a message about an invalid calibration.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:CDATa:REASon

Query Syntax

:TDR:CALibration:DUT{1:16}:CDATa:REASon?

Description

Returns a message about the current TDR calibration. For a correct calibration, the date that the calibration was created is returned. For example,

"Created: 10/23/2014 13:41:00"

For an invalid calibration, an informational message is returned such as these examples:

"Please select a file."
"Incorrect module configuration."

Use the parent :TDR:CALibration:DUT:CDATa command, to return the state of the calibration.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:CDRSet

Command Syntax

:TDR:CALibration:DUT{1:16}:CDRSet

Description

Clears all selected time-domain parameter responses from being selected for a TDR calibration. Use the :FDRSet sibling command to select all available time-domain parameters and the :DRSet sibling command to select specific time-domain parameters.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:CLEar

Command Syntax

:TDR:CALibration:DUT{1:16}:CLEar

Description

Clears and TDR calibration data that have been imported from a TDR calibration file (*.tdrx). TDR calibration data is imported using the :TDR:CALibration:DUT:CDFName command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:CONFig

Query Syntax

:TDR:CALibration:DUT{1:16}:CONFig?

Query Response

{CORR | INV}

Description

Queries the status of the any currently loaded TDR calibration data in the TDR Setup dialog box. The data can be correct (CORR) or invalid (INV). If the data is invalid, use the :REASon child query to determine the reason.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:CONFig:REASon

Query Syntax

:TDR:CALibration:DUT{1:16}:CONFig:REASon?

Query Response

<string>

Description

Returns a string that indicates the reason that a TDR calibration setup is invalid. This is the same information string that is shown at the top of the TDR Calibration Setup dialog box, as shown in the following picture.

The following is an example of a returned string:

Port 2 connector is incompatible with the selected calibration kit.

Although a more detailed message can be read by clicking the Details button, there is no remote command for returning the detailed message. For the example message above, the more detailed message would be:

The calibration kit selected for Port 2 does not contain any standards that can mate to the selected connector type. Select a different calibration kit or correct the connector type specified for Port 2.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:CRSet

Query Syntax

:TDR:CALibration:DUT{1:16}:CRSet?

Description

Returns a list of available time-domain parameters to include in a TDR calibration. The list is a comma separated list of time-domain parameters with an underscore (_) character between the numbers. For example, the argument for an T21 parameter is T2_1. Use the :DRSet sibling command to select specific time-domain parameters. To select all available time-domain parameter responses, use the :FDRSet sibling command. To clear all selected time-domain parameters, use the :CDRSet sibling command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:DRSet

Command Syntax

:TDR:CALibration:DUT{1:16}:DRSet <parameter list>

The <parameter list> argument is a comma separated list of time-domain parameters with an underscore (_) character between the numbers. For example, the argument for an T21 parameter is T2_1.

Query Syntax

:TDR:CALibration:DUT{1:16}:DRSet?

Description

Selects specific time-domain parameters to include in a TDR calibration. If the command is sent without parameters, the current list of parameters is cleared. This is the same as using the :CDRSet sibling command. Increasing the number of time-domain parameters increases the number of steps required in the calibration. The query form returns a list of the currently selected time-domain parameters. If no time-domain parameters are selected, NONE is returned.

To select all available time-domain parameter responses, use the :FDRSet sibling command. To clear all selected time-domain parameters, use the :CDRSet sibling command.

Example Command Sequence

:TDR:CALibration:DUT1:CDRSet    //  clears the current list
:TDR:CALibration:DUT1:DRSet T1_1,T2_1   //  selects time-domain parameters T11 and T21
:TDR:CALibration:DUT1:STARt   //  starts the calibration

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:ECAL:ADAPters:A

Command Syntax

:TDR:CALibration:DUT{1:16}:ECAL:ADAPters:A <adapter name>

The <adapter name> argument is a string.

Query Syntax

:TDR:CALibration:DUT{1:16}:ECAL:ADAPters:A?

Description

For an ECal-based TDR calibration, specifies a user-defined adapter that is used to connect the TDR head to Port A on the ECal module. To specify an adapter for Port B on the ECal module, use the :TDR:CALibration:DUT:ECAL:ADAPters:B command. The <adapter name> argument is the name that you created using the :TDR:ADAPters:NAME command for the Adapter wizard. The Adapter wizard (:TDR:ADAPters:STARt command) specifies an adapter's name, connectors, and delay. The command query returns the currently assigned adapter for Port A on the ECal module. If no adapter is assigned, None is returned.

Example Command Sequence

:TDR:ADAPters:STARt    //  Specify first ECal adapter
:TDR:ADAPters:SDONe?
:TDR:ADAPters:NAME "1.85m 2.9f Adapter"
:TDR:ADAPters:CONTinue
…
:TDR:ADAPters:STARt    //  Specify second ECal adapter
:TDR:ADAPters:SDONe?
:TDR:ADAPters:NAME "1.85m 2.92m Adapter"
:TDR:ADAPters:CONTinue
…
:TDR:CALibration:DUT1:ECAL:ADAPters:A "1.85m 2.9f Adapter"    //  ECal module Port A adapter
:TDR:CALibration:DUT1:ECAL:ADAPters:B "1.85m 2.92m Adapter"    //  ECal module Port B adapter
…
…
:TDR:CALibration:DUT1:STARt

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:ECAL:ADAPters:B

Command Syntax

:TDR:CALibration:DUT{1:16}:ECAL:ADAPters:B <adapter name>

The <adapter name> argument is a string.

Query Syntax

:TDR:CALibration:DUT{1:16}:ECAL:ADAPters:B?

Description

For an ECal-based TDR calibration, specifies a user-defined adapter that is used to connect the TDR head to Port B on the ECal module. To specify an adapter for Port A on the ECal module, use the :TDR:CALibration:DUT:ECAL:ADAPters:A command. The <adapter name> argument is the name that you created using the :TDR:ADAPters:NAME command for the Adapter wizard. The Adapter wizard (:TDR:ADAPters:STARt command) specifies an adapter's name, connectors, and delay. The command query returns the currently assigned adapter for Port A on the ECal module. If no adapter is assigned, None is returned.

Example Command Sequence

:TDR:ADAPters:STARt    //  Specify first ECal adapter
:TDR:ADAPters:SDONe?
:TDR:ADAPters:NAME "1.85m 2.9f Adapter"
:TDR:ADAPters:CONTinue
…
:TDR:ADAPters:STARt    //  Specify second ECal adapter
:TDR:ADAPters:SDONe?
:TDR:ADAPters:NAME "1.85m 2.92m Adapter"
:TDR:ADAPters:CONTinue
…
:TDR:CALibration:DUT1:ECAL:ADAPters:A "1.85m 2.9f Adapter"    //  ECal module Port A adapter
:TDR:CALibration:DUT1:ECAL:ADAPters:B "1.85m 2.92m Adapter"    //  ECal module Port B adapter
…
…
:TDR:CALibration:DUT1:STARt

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:ECAL:CHAR

Command Syntax

:TDR:CALibration:DUT{1:16}:ECAL:CHAR <string>

Query Syntax

:TDR:CALibration:DUT{1:16}:ECAL:CHAR?

Description

This command is reserved for future use.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:ECAL:MODule

Command Syntax

:TDR:CALibration:DUT{1:16}:ECAL:MODule "ECal (<model number>) S/N <serial number>

Query Syntax

:TDR:CALibration:DUT{1:16}:ECAL:MODule?

Description

Selects a specific ECal module for an ECal based TDR calibration when multiple ECal modules are connected to the 86100D. If a single ECal module is connected to the 86100D, the ECal module is automatically detected and selected. The parameter string specifying the module must include the ECal module's model and serial numbers. The string is not case sensitive, but spaces, parenthesis, leading zeros in the serial number are all required. The following example strings are valid:

"ECal (N4694-60002) S/N 08485"
"ecal (N4694-60002) s/n 08485"

However, these string are not valid:

"ECal (N4694-60002) S/N 8485"    //  missing leading S/N zero
"ECal (N4694-60002) 08485"    //  missing S/N characters
"ECal(N4694-60002) S/N 08485"    //  missing space

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:ECAL:STATus?

Command Syntax

:TDR:CALibration:DUT{1:16}:ECAL:STATus?

Query Response

{CORR | INV}

Description

Returns the status of the ECal module for an ECal-based calibration. The status can be correct (CORR) or invalid (INV). Use the :REASon child query to return a message about the module.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:ECAL:STATus:REASon

Query Syntax

:TDR:CALibration:DUT{1:16}:ECAL:STATus:REASon?

Description

Returns a message about the ECal module. For a valid ECal module, an empty string is returned. For an invalid or missing ECal module, an informational message is returned such as these examples:

"No ECal modules detected."
"Currently selected ECal module is not supported."

Use the parent :TDR:CALibration:DUT:ECal:STATus query, to return the status of the ECal module.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:ENABle

Command Syntax

:TDR:CALibration:DUT{1:16}:ENABle {ON | OFF}

Query Syntax

:TDR:CALibration:DUT{1:16}:ENABle?

Description

When a valid TDR calibration file is imported using the TDR:CALibration:DUT:CDFName command, use this command to enable and disable the use of the imported calibration. This is equivalent to the Enable button on the TDR Setup dialog box that is displayed after a calibration file is imported.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:FDRSet

Command Syntax

:TDR:CALibration:DUT{1:16}:FDRSet

Description

Selects all available time-domain parameter responses for a TDR calibration. Use the :DRSet sibling command to select specific time-domain parameters and the :CDRSet sibling command to clear all currently selected time-domain parameters.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:LOAD

Command Syntax

:TDR:CALibration:DUT{1:16}:LOAD

Description

Imports the TDR calibration data from the TDR calibration file named with the :FNAMe child command. Each time that a TDR calibration is performed for a particular DUT setup, a calibration file (*.tdrx) is saved in the \TDR Calibration folder. The files are saved for a specific TDR module, DUT setup, and calibration setup. To clear the filename, send this command with an empty string. To clear the imported calibration data from memory so that it will not be applied, use the :TDR:CALibration:DUT:CLEar command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:TDR:CALibration:DUT:LOAD:FNAMe "D:\user files\TDR Calibration\SE 4Port_2014-10-23_1.tdrx"
:TDR:CALibration:DUT:LOAD


:TDR:CALibration:DUT{1:16}:LOAD:FNAMe

Command Syntax

:TDR:CALibration:DUT{1:16}:LOAD:FNAMe

Query Syntax

:TDR:CALibration:DUT{1:16}:LOAD:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Stores the name of the TDR calibration file that will be imported by the :TDR:CALibration:LOAD parent command. To clear the filename, send this command with an empty string.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:TDR:CALibration:DUT:LOAD:FNAMe "D:\user files\TDR Calibration\SE 4Port_2014-10-23_1.tdrx"
:TDR:CALibration:DUT:LOAD


:TDR:CALibration:DUT{1:16}:METHod

Command Syntax

:TDR:CALibration:DUT{1:16}:METHod {SOLT | SLT | ECAL}

Query Syntax

:TDR:CALibration:DUT{1:16}:METHod?

Description

Select the method used to perform the TDR calibration. Selections are Short-Open-Load-Thru (SOLT), Short-Load-Thru (SLT), and ECal-Based (ECAL). The calibration is performed for the indicated DUT.

SOLT or SLT
When a SOLT or SLT calibration is selected, use the :TDR:CALibration:DUT:SENDed:PORT:CKIT and :TDR:CALibration:DUT:SENDed:PORT:CKIT commands to specify the DUT connection types and calibration kit used.
ECAL
When an ECal-Based calibration is selected, use the Configure ECal Adapter for DUT wizard to specify any adapters that are required to insert the ECal module into the test setup in place of the DUT. Use the :TDR:ADAPters:STARt command to start the wizard. Use the :TDR:ADAPters:CHAR command to select a characterization for the ECal module.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:NOCSteps?

Query Syntax

:TDR:CALibration:DUT{1:16}:NOCSteps?

Description

Queries the number of calibrations steps required for the currently configured calibration. The number of steps is affected by the following items:

  • Calibration method used (:TDR:CALibration:DUT:METHod). There can be a significant reduction of the required steps when an ECal-Based calibration is used rather than a mechanical-based SOLT or SLT calibration.
  • Number of time-domain responses selected.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:RDUT

Command Syntax

:TDR:CALibration:DUT{1:16}:RDUT

Description

Changing a DUT-based TDR Setup after a valid TDR calibration is enabled, may result in calibration data that no longer matches the setup. In this situation, use this command to restore the TDR Setup so that it is once again compatible with the calibration.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:SENDed:PORT:CKIT

Command Syntax

:TDR:CALibration:DUT{1:16}:SENDed:PORT{1:16}:CKIT <string>

The following <string> arguments (calibration kits) are supported. The string argument is not case sensitive.

  • 85052B/D 3.5 mm
  • 85056A/D 2.4 mm
  • 85058B/E 1.85 mm
  • 85052K E01/E02 (2.92 mm Broadband Load)
  • Maury 8770D (2.92 mm Broadband Load)
  • Maury 8770C (2.92 mm Sliding Load)
  • Generic 2.92 (2.92 mm calibration kit)
  • Generic 3.5 (3.5 mm calibration kit)
  • Generic 2.4 (2.4 mm calibration kit)
  • Generic 1.85 (1.85 mm calibration kit)
  • Generic Probe (Probe Calibration kit)

Query Syntax

:TDR:CALibration:DUT{1:16}:SENDed:PORT{1:16}:CKIT?

Description

Enters the calibration kit that is to be used during a TDR calibration for each of the DUT's ports. The :PORT{1:16} portion of the command string identifies a specific DUT port. For single-ended DUTs, :PORT1 identifies port 1, :PORT2 identifies port 2, :PORT3 identifies port 3, and so on. For differential DUTs, selecting the correct port number in the command is slightly more complicated. The port numbers are identified in numerical order starting with the positive sides of the first input port and its associated output port. Then, the negative sides of the same ports are identified This continues with the next input and outputs ports. The following table shows the port numbering for a six-port DUT.

Port ID Numbers for 6-Port Differential DUT
:PORT Command | DUT Port | DUT | DUT Port | :PORT Command
:PORT1 | 1+ |  | 2+ | :PORT2
:PORT3 | 1– |  | 2– | :PORT4
:PORT5 | 3+ |  | 4+ | :PORT6
:PORT7 | 3– |  | 4– | :PORT8
:PORT9 | 5+ |  | 6+ | :PORT10
:PORT11 | 5– |  | 6– | :PORT12

The supported kits and their associated string arguments are listed in the following table. To indicate if the calibration kit to be used for each of the DUT's ports is the same or not, use the :TDR:CALibration:DUT:SKAPorts command.

Supported Calibration Kits for Each Type of Port Connector
Calibration Kits | Port Connector
 | 3.5 mm | 2.92 mm | 2.4 mm | 1.85 mm | Probe
85052B/D 3.5 mm | ♦ | ♦ |  |  |
85056A/D 2.4 mm |  |  | ♦ | ♦ |
85058B/E 1.85 mm |  |  | ♦ | ♦ |
Maury 8770C (2.92 mm Sliding Load) | ♦ | ♦ |  |  |
Maury 8770D (2.92 mm Broadband Load) | ♦ | ♦ |  |  |
Generic 2.92 (2.92 mm calibration kit) | ♦ | ♦ |  |  |
Generic 3.5 (3.5 mm calibration kit) | ♦ | ♦ |  |  |
Generic 2.4 (2.4 mm calibration kit) |  |  | ♦ | ♦ |
Generic 1.85 (1.85 mm calibration kit) |  |  | ♦ | ♦ |
Generic Probe (Probe Calibration kit) |  |  |  |  | ♦

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:SENDed:PORT{1:16}:CONNector

Command Syntax

:TDR:CALibration:DUT{1:16}:SENDed:PORT{1:16}:CONNector  {M350 | F350 | M292 | F292 | M240 | F240 | M185 | F185 | PROBe}

Query Syntax

:TDR:CALibration:DUT{1:16}:SENDed:PORT{1:16}:CONNector?

Description

Enters the RF connector type for each of the DUT's ports. Supported connector types include 1.85 mm, 2.4 mm, 2.92 mm, and 3.5 mm (both male and female). To indicate if the connector types on all of the DUT's ports match or not, use the :TDR:DUT:ACMatch command.

Command Argument Versus Connector Type
Connector Type | Command Argument
 | Male | Female
3.5 mm | M350 | F350
2.92 mm | M292 | F292
2.4 mm | M240 | F240
1.85 mm | M185 | F185
Probe | PROBe

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:SKAPorts

Command Syntax

:TDR:CALibration:DUT{1:16}:SKAPorts {ON | OFF}

Query Syntax

:TDR:CALibration:DUT{1:16}:SKAPorts?

Description

Indicates if a single calibration kit is used when performing a TDR calibration. When ON is selected, all of the port connector definitions are set to the same type that has been entered for Port 1.

ON
A single calibration kit is used during the calibration.
OFF
Multiple calibration kits are used during the calibration. To specify the calibration kit used for each port, use the :TDR:CALibration:DUT:SENDed:PORT:CKIT command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:DUT{1:16}:STARt

Command Syntax

:TDR:CALibration:DUT{1:16}:STARt

Description

In TDR mode, starts the TDR/TDT Calibration wizard for the specified DUT. Use the :TDR:CALibration:SDONe command to set an interupt that indicates when the next wizard step is viewed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:SDONe

Command Syntax

:TDR:CALibration:SDONe

Description

During the TDR/TDT Calibration wizard, sets an interupt to indicate that the next wizard step is viewed. Start the calibration using the :TDR:CALibration:DUT:STARt command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:STEP?

Query Syntax

:TDR:CALibration:STEP?

Description

Queries the current step being executed in the TDR/TDT calibration. Use the :TDR:CALibration:STEP:COUNt? query to determine the total number of steps for the currently configured calibration. The number of steps for a calibration is affected by the following items:

  • Calibration method used (:TDR:CALibration:DUT:METHod)
  • Number of time-domain responses selected

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:STEP?

:TDR:CALibration:STEP:COUNt?

Query Syntax

:TDR:CALibration:STEP:COUNt?

Description

Queries the total number of steps for the currently configured calibration. Use the :TDR:CALibration:STEP? to return the number of the current step being executed in the TDR/TDT calibration. The number of steps for a calibration is affected by the following items:

  • Calibration method used (:TDR:CALibration:DUT:METHod)
  • Number of time-domain responses selected

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:SELect

:TDR:CALibration:STEP:SELect

Command Syntax

:TDR:CALibration:STEP:SELect <step>

<step> is an int.

Description

This command allows you to select a calibration step, during a TDR calibration. Normally, steps progress from the lowest to the highset number. However, you can use this command to perform the steps in a different order or to skip a step as shown in the following picture. This pictures shows that step 3 was performed after step 1 and that step 2 is selected as the next step.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CALibration:UCURrent

Command Syntax

:TDR:CALibration:UCURrent

Description

When performing a TDR calibration using mechanical standards (SOLT or SLT), a step may be interpreted as having been improperly performed. For example, you may have connected an open when the step specified a short as shown in the following picture. You can either repeat the step or use the :UCURrent command to indicate that the calibration should use the current results for the step. This is equivalent to clicking Use Current in the TDR/TDT Calibration dialog box.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CHANnel{N}:DUT

Command Syntax

:TDR:CHANnel{N}:DUT {NONE | DUT{1:16} }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Syntax

:TDR:CHANnel:DUT?

Description

Selects an enabled TDR DUT setup to which to connect the indicated channel. Up to 16 DUT setups can be enabled using the :TDR:DUT:ENABle command. If only one DUT setup is enabled, you do not need to select the DUT using the :TDR:CHANnel:DUT command. To select the DUT port to which to connect the indicated channel, use the the :TDR:CHANnel:PORT command.

To successfully assign a channel to the DUT, you must use both the :TDR:CHANnel:DUT and :TDR:CHANnel:PORT commands. Or, you can have the available channels automatically selected and connected to the DUT, use the :TDR:DUT:ACONnect command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:CHANnel{N}:PORT

Command Syntax

For single-ended connections:

:TDR:CHANnel{N}:PORT {NCONnected | PORT{1 | 2 | 4 | 8 | 12 | 16} }

For differential connections:

:TDR:CHANnel{N}:PORT {NCONnected | PPORt{1 | 2 | 4 | 6 | 8} | NPORt{1 | 2 | 4 | 6 | 8} } }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Syntax

:TDR:CHANnel:PORT?

Description

Selects the DUT port to which to connect the indicated channel. To select an enabled TDR DUT setup for the connection, use the the :TDR:CHANnel:DUT command.

To successfully assign a channel to the DUT, you must use both the :TDR:CHANnel:DUT and :TDR:CHANnel:PORT commands. Or, you can have the available channels automatically selected and connected to the DUT, use the :TDR:DUT:ACONnect command.

For differential connections, the command argument PPORt{n} refers to the port's positive (+) input. The command argument NPORt{n} refers to the port's negative (–) input.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DEEMbed:DUT{1:16}:ENABle

Command Syntax

:TDR:DEEMbed:DUT{1:16}:ENABle {ON | OFF}

Query Syntax

:TDR:DEEMbed:DUT{1:16}:ENABle?

Description

Example Script

Click here to learn about a Python script for creating a DUT setup with de-embedding fixture components.

Applies (or disables) a fixture de-embedding setup to a TDR test setup. This is equivalent to clicking the Apply Fixture DeEmbed button in the TDR Setup dialog box.

Fixture de-embedding setups are built by assigning Fixture Components to a DUT's ports. Fixture components are representations of real fixture hardware that is connected to a DUT port. The character of Fixture components are defined by imported S-parameters files. These files can be created from a TDR/TDT measurements performed on FlexDCA or some other source.

Each fixture component has a DUT port, which connects to the DUT, and a test port, which connects to the TDR head. Fixture components are named "A" through "P" in FlexDCA's GUI and are identified as FCOMA through FCOMP in remote commands. Once your fixture de-embedding setup is defined, it can be viewed in the Fixture De-Embedding Setup pane.

Performing a system default (:SYSTem:DEFault) deletes all DUT setups, deletes all fixture de-embedding components, deletes the current fixture de-embedding setup (if defined), and resets the default DUT 1 setup. To save your DUT, fixture components, and fixture setups, save an instrument state (:DISK:SETup:SAVe).

Before you can enable a fixture de-embedding setup, you must use the following commands to define the fixture de-embedding setup:

:TDR:DEEMbed:DUT:PORT:FIXTure associates a fixture component with a DUT port in the Fixture De-Embedding Setup pane. This command is also used to remove a fixture component.

:TDR:DEEMbed:DUT:PORT:DPORt associates a fixture port to be directly connected with the specified DUT's port.

:TDR:DEEMbed:DUT:PORT:TPORt associates a fixture port to be the test port for the specified DUT's port.

Examples of Fixture De-Embedding Setups
Setup Command Sequence Item
1-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
1
2
3
1-Port Differential
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT2
1
2
3
4
5
6
2-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
1
2
3
4
5
6
2-Port Differential
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT3:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT3:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT3:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
:TDR:DEEMbed:DUT1:PORT4:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT4:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT4:DPORt PORT1
1
2
3
4
5
6
7
8
9
10
11
12
4-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT3:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT3:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT3:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
:TDR:DEEMbed:DUT1:PORT4:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT4:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT4:DPORt PORT1
1
2
3
4
5
6
7
8
9
10
11
12

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:DUT{1:16}:PORT{1:16}:DPORt

Command Syntax

:TDR:DEEMbed:DUT{1:16}:PORT{1:16}:DPORt {NCONnected | {PORT{1:16}}

Description

For the specified DUT port, selects which fixture component port is connected. To specify which fixture component port will function as the test port use the :TDR:DEEMbed:DUT:PORT:TPORT command. The following table shows examples of how the commands are used to configure a fixture component setup. Refer to the :TDR:DEEMbed:DUT:ENABle command for more information. The query form of the command returns {NCON | {PORT{1:16}}.

Examples of Fixture De-Embedding Setups
Setup Command Sequence Item
1-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
1
2
3
1-Port Differential
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT2
1
2
3
4
5
6
2-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
1
2
3
4
5
6
2-Port Differential
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT3:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT3:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT3:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
:TDR:DEEMbed:DUT1:PORT4:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT4:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT4:DPORt PORT1
1
2
3
4
5
6
7
8
9
10
11
12
4-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT3:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT3:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT3:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
:TDR:DEEMbed:DUT1:PORT4:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT4:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT4:DPORt PORT1
1
2
3
4
5
6
7
8
9
10
11
12

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:DUT{1:16}:PORT{1:16}:FIXTure

Command Syntax

:TDR:DEEMbed:DUT{1:16}:PORT{1:16}:FIXTure {NONE | FCOM{A:P}}

{A|P} identifies a specific fixture component. There can be up to 16 (A through P) fixture components.

Query Syntax

:TDR:DEEMbed:DUT{1:16}:PORT{1:16}:FIXTure?

Description

Associates (or disassociates) a fixture component with the specified DUT port. Components are named FCOMA through FCOMP. Once a component is selected, use the :DPORt and :TPORt child commands to define how the fixture is connected to the DUT. Refer to the :TDR:DEEMbed:DUT:ENABle command for more information.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:DUT{1:16}:PORT{1:16}:TPORt

Command Syntax

:TDR:DEEMbed:DUT{1:16}:PORT{1:16}:TPORt {NCONnected | {PORT{1:16}}

Description

Specifies with fixture component port that will function as the test port for the selected DUT port. Use the :TDR:DEEMbed:DUT:PORT:DPORT command to select which fixture component port is connected the DUT. The following table shows examples of how the commands are used to configure a fixture component setup. Refer to the :TDR:DEEMbed:DUT:ENABle command for more information. The query form of the command returns {NCON | {PORT{1:16}}.

Examples of Fixture De-Embedding Setups
Setup Command Sequence Item
1-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
1
2
3
1-Port Differential
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT2
1
2
3
4
5
6
2-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
1
2
3
4
5
6
2-Port Differential
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT3:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT3:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT3:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
:TDR:DEEMbed:DUT1:PORT4:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT4:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT4:DPORt PORT1
1
2
3
4
5
6
7
8
9
10
11
12
4-Port Single Ended
:TDR:DEEMbed:DUT1:PORT1:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT1:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT1:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT3:FIXTure FCOMA
:TDR:DEEMbed:DUT1:PORT3:TPORt PORT1
:TDR:DEEMbed:DUT1:PORT3:DPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT2:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT2:DPORt PORT1
:TDR:DEEMbed:DUT1:PORT4:FIXTure FCOMB
:TDR:DEEMbed:DUT1:PORT4:TPORt PORT2
:TDR:DEEMbed:DUT1:PORT4:DPORt PORT1
1
2
3
4
5
6
7
8
9
10
11
12

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:FCOMponent{A|P}:CLEar

Command Syntax

:TDR:DEEMbed:FCOMponent{A|P}:CLEar

{A|P} identifies a specific fixture component. There can be up to 16 (A through P) fixture components.

Description

Deletes the specified Fixture Component for Fixture De-Embedding Setups (:TDR:DEEMbed:DUT:ENABle).

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:FCOMponent{A|P}:LOAD

Command Syntax

:TDR:DEEMbed:FCOMponent{A|P}:LOAD

{A|P} identifies a specific fixture component. There can be up to 16 (A through P) fixture components.

Description

Example Script

Click here to learn about a Python script for creating a DUT setup with a fixture component.

Creates the specified fixture component by loading an S-parameter file. The new fixture component is identified by a letter (A through P). To specify the file, use the :TDR:DEEMbed:FCOMponent:LOAD:FNAMe command. The number of ports that are defined in the imported s-parameter file determines the number of ports in the resulting fixture component. To delete an existing Fixture Component, use the :TDR:DEEMbed:FCOMponent:CLEar command.

To learn how to add fixture components to a Fixture De-Embedding Setups, refer to the :TDR:DEEMbed:DUT:ENABle command. To query the number of ports in an existing fixture component, use the :TDR:DEEMbed:FCOMponent:NOPorts query. To change the interpretation of the port location order on an existing fixture component, use the :TDR:DEEMbed:FCOMpnent:PORDer command. Use the :STATus child command to determine if the fixture component was created.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:FCOMponent{A|P}:LOAD:FNAMe

User File Locations

  • Location of files
  • Path substitution variables

Command Syntax

:TDR:DEEMbed:FCOMponent{A|P}:LOAD:FNAMe "filename"

{A|P} identifies a specific fixture component. There can be up to 16 (A through P) fixture components.

Query Syntax

:TDR:DEEMbed:FCOMponent{A|P}:LOAD:FNAMe?

Description

Identifies an S-parameter file to use when creating a fixture component with the :TDR:DEEMbed:FCOMponent:LOAD command. The number of ports that are defined in the imported s-parameter file determines the number of ports in the resulting fixture component. For example, importing a four-port s-parameter files results in a four-port fixture component. The default folder for S-parameter files is %USER_DATA_DIR%\S-Parameter Data.

Supported File Types
File Type | Description
.s12p .s16p .s2p .s4p .s8p | S-parameter file
.ts | Touchstone file format

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:FCOMponent{A|P}:NOPorts?

Query Syntax

:TDR:DEEMbed:FCOMponent{A|P}:NOPorts?

{A|P} identifies a specific fixture component. There can be up to 16 (A through P) fixture components.

Description

Queries the number of ports in the selected Fixture Component. The number of ports in a fixture component is defined by the number of ports defined in the imported s-parameter file (:TDR:DEEMbed:FCOMponent:LOAD:FNAMe). For example, importing a four-port s-parameter file results in a four-port fixture component.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:FCOMponent{A|P}:PORDer

Command Syntax

:TDR:DEEMbed:FCOMponent{A|P}:PORDer {PORDer1234 | PORDer1324}

{A|P} identifies a specific fixture component. There can be up to 16 (A through P) fixture components.

Query Syntax

:TDR:DEEMbed:FCOMponent{A|P}:PORDer?

Description

Changes the location order of ports on an existing Fixture Component. Because the port ordering method can vary depending on the S-parameter file, use this command to allow FlexDCA to correctly interpret the S-parameters. The initial order of the ports is defined by the order of the data in the imported s-parameter file (:TDR:DEEMbed:FCOMponent:LOAD:FNAMe). Use the query to determine the current order of ports on the fixture component. The following table shows the port ordering for a 4-port fixture as seen in the Fixture De-Embedding Setup dialog box.

Examples of Port Order on 4-Port Fixture Component
Fixture Component | Command Argument
 | PORDer1234 (The query response is PORD1234)
 | PORDer1324 (The query response is PORD1324)

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:FCOMponent{A|P}:STATus?

Query Syntax

:TDR:DEEMbed:FCOMponent{A|P}:STATus?

{A|P} identifies a specific fixture component. There can be up to 16 (A through P) fixture components.

Query Response

{CORR | INV | QUES}
CORR
The fixture component is defined.
INV
The fixture component is invalid.

Description

Queries the status of a Fixture Component for Fixture De-Embedding Setups (:TDR:DEEMbed:DUT:ENABle). Fixture components are created using the :TDR:DEEMbed:FCOMponent:LOAD command. Use the STATus:REASon? child query to determine the reason for an invalid status.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DEEMbed:FCOMponent{A|P}:STATus:REASon?

Query Syntax

:TDR:DEEMbed:FCOMponent{A|P}:STATus:REASon?

{A|P} identifies a specific fixture component. There can be up to 16 (A through P) fixture components.

Description

Returns a string that explains the reason for an invalid Fixture component. For example, if the fixture component does not exist the returned string would be "Please select a file.". If the setup is correct, a null string is returned. Use the parent :TDR:DEEMbed:FCOMponent:STATus? query, to return the status of a fixture component.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TDR:DESKew:CANCel

Command Syntax

:TDR:DESKew:CANCel

Description

When the TDR Step Deskew Wizard has paused for user input, use this command to abort the wizard. Use the :TDR:DESKew:CONTinue command to continue the wizard. Use the :TDR:DESKew:STARt command to start the TDR Step Deskew Wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DESKew:CONTinue

Command Syntax

:TDR:DESKew:CONTinue

Description

When the TDR Step Deskew Wizard has paused for user input, use this command to continue the wizard. Use the :TDR:DESKew:CANCel command to abort the wizard. Use the :TDR:DESKew:STARt command to start the TDR Step Deskew Wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DESKew:DUT

Command Syntax

:TDR:DESKew:DUT DUT{1:16}

Query Syntax

:TDR:DESKew:DUT?

Description

Selects the DUT setup on which to perform a step deskew using the TDR Step Deskew Wizard. If only one DUT setup has been created, it is not necessary to use this command. Use the :TDR:DESKew:STARt command to start the TDR Step Deskew Wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:TDR:DESKew:DUT DUT2
:TDR:DESKew:STARt
:TDR:DESKew:SDONe?
:TDR:DESKew:CONTinue
*OPC?


:TDR:DESKew:FNAMe

Command Syntax

:TDR:DESKew:FNAMe "filename"

Query Syntax

:TDR:DESKew:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the filename, path, and extension for the target for the :TDR:DESKew:SAVE command. The files are FlexDCA setup files (.setx) with deskew values added. These files are saved in the %USER_DATA_DIR%\Setups folder. Use the :TDR:DESKew:STARt command to start the TDR Step Deskew Wizard.

This command supports the DEFault common child commands.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DESKew:SAVE

Command Syntax

:TDR:DESKew:SAVE {ON | OFF}

Query Syntax

:TDR:DESKew:SAVE?

Description

Turns on and off the saving of a TDR deskew to a file. Use the :TDR:DESKew:FNAMe command to specify the name of the saved file. Use the :TDR:DESKew:STARt command to start the TDR Step Deskew Wizard. The deskew compensates for unequal TDR step paths to the measurement reference plane. Use the :TDR:DESKew:STARt command to start the TDR Step Deskew Wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DESKew:SCHannel

Command Syntax

:TDR:DESKew:SCHannel CHANnel{N}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 1A.

Query Syntax

:TDR:DESKew:SCHannel?

Description

Selects a TDR module's stimulus channel when performing a TDR fixture deskew under the following conditions:

  • Both a TDR module and an electrical module are used in the test setup. An example of an electrical module is the N1045A.
  • The DUT has multiple inputs (TDR stimulus channels).
  • TDT measurement is made.

In this situation, an additional step is required during the TDR calibration or when separately running the TDR fixture deskew wizard. One TDR stimulus channel must be selected to be used to deskew each TDT output channel. During the procedure, you will be instructed to connect the selected TDR stimulus channel using an adapter to the electrical module's channels. If your DUT has only one input port, there is only one possible TDR stimulus channel to select and this is done automatically for you. The following picture shows the TDR setup diagram of a single-ended 4-port device. Two TDR module channels are connected to ports 1 and 3 on the DUT. Two N1045A receiver channels are connected to ports 2 and 4 on the DUT.

Use this command to select either channel 1C or channel 1D to be used as the stimulus channel during the deskew of channels 2A and 2B. Use the :TDR:DESKew:STARt command to start the TDR Step Deskew Wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DESKew:SDONe?

Query Syntax

:TDR:DESKew:SDONe?

Description

Queries the TDR Step Deskew Wizard to determine if the wizard has paused for user input or has completed. Use an *OPC (Operation Complete) command to notify the calling application that the wizard is ready to respond. Use the :TDR:DESKew:STARt command to start the TDR Step Deskew Wizard.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:TDR:DESKew:DUT DUT2
:TDR:DESKew:STARt
:TDR:DESKew:SDONe?
:TDR:DESKew:CONTinue
*OPC?


:TDR:DESKew:STARt

Command Syntax

:TDR:DESKew:STARt

Description

Starts the TDR Step Deskew Wizard that compensates for unequal TDR step paths to the measurement reference plane. For each channel, step skew and software delay are measured as needed. To manually enter TDR skew values, use the :TDR:STIMulus:CHANnel:SKEW command. If you will be performing a TDR calibration, you do not need to perform a TDR fixture deskew. The TDR calibration fully deskews the steps in addition to compensating the response of your fixture. If you are making TDT measurement and you are using a receiver module, such as an N1045A, to make these measurements, refer to the :TDR:DESKew:SCHannel command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:CHAN2A:DISPlay ON
:CHAN2B:DISPlay ON
:TDR:DESKew:DUT DUT2
:TDR:DESKew:STARt
:TDR:DESKew:SDONe?
:TDR:DESKew:CONTinue
:TDR:DESKew:SDONe?
:TDR:DESKew:SAVE ON
:TDR:DESKew:FNAMe "DUT2 deskew.setx
:TDR:DESKew:CONTinue


:TDR:DUT{1:16}:ACMatch

Command Syntax

:TDR:DUT{1:16}:ACMatch {ON | OFF}

Query Syntax

:TDR:DUT{1:16}:ACMatch?

Description

Indicates if the connector types on all of the DUT's ports match.

ON
All of the DUT's port use the same type of RF connector. When ON is selected, all of the port connector definitions are set to the same type that has been entered for Port 1.
OFF
At least on of the DUT's ports has an RF connector that is different from the rest of the ports. To specify the each of the DUT's connectors, use the :TDR:CALibration:DUT{1:16}:SENDed:PORT{1:16}:CONNector command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:ACONnect

Command Syntax

:TDR:DUT{1:16}:ACONnect

Description

When setting up a DUT for TDR measurements, automatically connects available TDR channels to ports on the DUT. To manually connect the channels to the DUT's ports, use the :TDR:CHANnel:DUT and :TDR:CHANnel:PORT commands.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:ADPNaming

Command Syntax

:TDR:DUT{1:16}:ADPNaming {ON | OFF}

Query Syntax

:TDR:DUT{1:16}:ADPNaming?

Description

Turns automatic DUT naming on Waveform content windows on or off. This determines if differential waveforms are identified in the displayed window legend by individual DUT (+/–) (OFF) or by the differential port name (ON). Use the :TDR:ASNaming command to display the window legend by channel (OFF) or by the DUT's port name (ON). The default setting is on. These settings do not affect the legend on other TDR Mode content windows.

To enter custom user labels for differential port and +/– signals, use the following commands:

  • :TDR:DUT:DIFFerential:SIGNal:UNAMe
  • :TDR:DUT:DIFFerential:PPORt:UNAMe
  • :TDR:DUT:DIFFerential:NPORt:UNAMe
Waveform Signal Legends for ASNaming and ADPNaming Commands
ASNaming Command OFF | ASNaming Command ON
 | Default Port Labels | Custom Labels
 |  | ADPNaming Command OFF (Custom Diff +/– Labels) | ADPNaming Command ON (Custom Diff Port Labels)

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:DIFFerential:NPORt{1:8}:UNAMe

Command Syntax

:TDR:DUT{1:16}:DIFFerential:NPORt{1:8}:UNAMe <string>

Query Syntax

:TDR:DUT{1:16}:SENDed:NPORt{1:8}:UNAMe?

Description

Replaces the default port signal label with custom user label for the selected –signal of a differential DUT. The channel, default port, and custom user signal labels are displayed in Waveform content windows as shown in the following table. The default port labels are Port 1–, Port 2–, …. Your custom user labels can be up to 25 characters long. To reset a custom user label to its default port label, send an empty string.

To enter custom user labels for differential +signals or port, use the following commands:

  • :TDR:DUT:DIFFerential:PPORt:UNAMe
  • :TDR:DUT:DIFFerential:SIGNal:UNAMe
Signal Labels on Waveform Content Window
ASNaming Command OFF | ASNaming Command ON
 | Default Port Labels | Custom Labels
 |  | ADPNaming Command OFF (Custom Diff +/– Labels) | ADPNaming Command ON (Custom Diff Port Labels)

As shown in the above table, to select the labels to display use the following commands:

  • :TDR:ASNaming command
  • :TDR:ADPNaming command to select the type of label that is displayed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:DIFFerential:PPORt{1:8}:UNAMe

Command Syntax

:TDR:DUT{1:16}:DIFFerential:PPORt{1:8}:UNAMe <string>

Query Syntax

:TDR:DUT{1:16}:SENDed:PPORt{1:8}:UNAMe?

Description

Replaces the default port signal label with custom user label for the selected +signal of a differential DUT. The channel, default port, and custom user signal labels are displayed in Waveform content windows as shown in the following table. The default port labels are Port 1+, Port 2+, …. Your custom user labels can be up to 25 characters long. To reset a custom user label to its default port label, send an empty string.

To enter custom user labels for differential –signals or port, use the following commands:

  • :TDR:DUT:DIFFerential:NPORt:UNAMe
  • :TDR:DUT:DIFFerential:SIGNal:UNAMe
Signal Labels on Waveform Content Window
ASNaming Command OFF | ASNaming Command ON
 | Default Port Labels | Custom Labels
 |  | ADPNaming Command OFF (Custom Diff +/– Labels) | ADPNaming Command ON (Custom Diff Port Labels)

As shown in the above table, to select the labels to display use the following commands:

  • :TDR:ASNaming command
  • :TDR:ADPNaming command to select the type of label that is displayed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:DIFFerential:SIGNal{1:8}:UNAMe

Command Syntax

:TDR:DUT{1:16}:DIFFerential:SIGNal{1:8}:UNAMe <string>

Query Syntax

:TDR:DUT{1:16}:SENDed:SIGNal{1:8}:UNAMe?

Description

Replaces the default port signal label with custom user label for the selected port of a differential DUT. The channel, default port, and custom user signal labels are displayed in Waveform content windows as shown in the following table. The default port labels are Port 1, Port 2, …. Your custom user labels can be up to 25 characters long. To reset a custom user label to its default port label, send an empty string.

To enter custom user labels for differential +/– signals, use the following commands:

  • :TDR:DUT:DIFFerential:PPORt:UNAMe
  • :TDR:DUT:DIFFerential:NPORt:UNAMe
Signal Labels on Waveform Content Window
ASNaming Command OFF | ASNaming Command ON
 | Default Port Labels | Custom Labels
 |  | ADPNaming Command OFF (Custom Diff +/– Labels) | ADPNaming Command ON (Custom Diff Port Labels)

As shown in the above table, to select the labels to display use the following commands:

  • :TDR:ASNaming command
  • :TDR:ADPNaming command to select the type of label that is displayed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:DTYPe

Command Syntax

:TDR:DUT{1:16}:DTYPe  {SEPorts{1 | 2 | 4 | 6 | 8} | DPORts{1 | 2 | 4 | 6 | 8} }

Query Syntax

:TDR:DUT{1:16}:DTYPe?

Description

Selects the type of DUT to use during the TDR Setup. To select single-ended or differential ports, use the :TDR:AMODe command.

Arguments and Selected DUT
Number of Ports | Single-Ended DUT |  | Differential DUT
 | Argument | DUT | Argument | DUT
1 | SEPorts1 |  | DPORts1 |
2 | SEPorts2 |  | DPORts2 |
4 | SEPorts4 |  | DPORts4 |
6 | — |  | DPORts6 |
8 | SEPorts8 |  | DPORts8 |
12 | SEPorts12 |  | —
16 | SEPorts16 |  | —

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:ENABle

Command Syntax

:TDR:DUT{1:16}:ENABle {ON | OFF}

Query Syntax

:TDR:DUT{1:16}:ENABle?

Description

Adds (enables) an additional DUT Setup, which is shown as a DUT tab in the TDR Setup dialog box. The ON argument is identical to clicking the dialog box's Add DUT button. The OFF argument is identical to clicking the dialog box's Delete DUT button.

When an additional DUT is enabled, a default DUT type is automatically selected. To change the DUT type, for example to a differential 4-port device, use the :TDR:DUT:DTYPe command. By default, one DUT setup is always enabled. Up to 15 additional DUT setups can be enabled for a total of 16. Performing a system default (:SYSTem:DEFault) deletes all DUT setups, deletes all fixture de-embedding components, deletes the current fixture de-embedding setup (if defined), and resets the default DUT 1 setup. To save your DUT, fixture components, and fixture setups, save an instrument state (:DISK:SETup:SAVe).

Query Response

Use the query response to determine if a specific DUT has been defined:

0
The DUT has been defined.
1
The DUT has not been defined.

For example, use the following query to confirm that a DUT2 setup has been defined.

:TDR:DUT2:ENABle?

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:RISetime

Command Syntax

:TDR:DUT{1:16}:RISetime <seconds>

Query Syntax

:TDR:DUT{1:16}:RISetime?

Description

Adjust the 10% to 90% rise time of the TDR stimulus steps in seconds. The rise time should be adjusted after a TDR calibration has been completed. The setting range depends on the TDR/TDT module that is installed. Rise time is ofter used to match the stimulus step to the rise time of the actual signal that is expected to be applied to the DUT.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:SENDed:PORT{1:16}:UNAMe

Command Syntax

:TDR:DUT{1:16}:SENDed:PORT{1:16}:UNAMe <string>

Query Syntax

:TDR:DUT{1:16}:SENDed:PORT{1:16}:UNAMe?

Description

Replaces the default port signal labels with custom user labels for the selected port of a single-ended DUT. The default port labels are Port 1, Port 2, …. The normal channel, default port, and custom user signal labels are displayed in the Waveform content windows as shown in the following picture. Your custom user name can include up to 25 characters. To reset a custom user label to its default port label, send an empty string.

Signal Labels on Waveform Content Window
Normal Channel Labels | Default Port Labels | Custom User Labels

To display the default port or custom user label, use the :TDR:ASNaming command. User labels (names) are helpful because they identify what a waveform represents rather than the input channel. For example, you could assign a user name "DUT Gain".

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:STATus

Query Syntax

:TDR:DUT{1:16}:STATus?

Query Response

{CORR | INV | QUES}
CORR
The DUT setup is correct.
INV
The DUT setup is invalid.
QUES
The DUT setup is questionable.

Description

Queries the status of the TDR DUT setup. Use the STATus:REASon? child query to determine the reason for a invalid or questionable status.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:DUT{1:16}:STATus:REASon

Query Syntax

:TDR:DUT{1:16}:STATus:REASon?

Description

Returns a string that explains the reason for a failed TDR DUT setup. An example return string would be "You must connect at least one TDR channel to this DUT to make measurements.". If the setup is correct, a null string is returned. Use the STATus? query to determine the state of the setup.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:EXPerience

Command Syntax

:TDR:EXPerience {BCONtrol | DCENtric}

Query Syntax

:TDR:EXPerience?

Description

Configures the TDR DUT setup user experience in the TDR Setup dialog box to be DUT based (DCENtric) or basic control (BCONtrol). The DUT based user experience has the following advantages:

  • Easiest to use and most Intuitive.
  • Shows available S-parameters and time-domain parameters.
  • Assign custom names to ports.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:FINCrement

Command Syntax

:TDR:FINCrement <frequency>

The <frequency> argument is a double.

Query Syntax

:TDR:FINCrement?

Description

For frequency-domain graphs, sets the frequency increment (separation) between adjacent data points. This setting applies to all frequency-domain graphs. This also sets the frequency separation between data points in saved S-parameter files.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:SPMemory{1:4}:CLEar

The ability to use S-parameters requires Option 202.

Command Syntax

:TDR:SPMemory{1:4}:CLEar

Description

Clears all S-parameters from the selected S-parameter memory. There is no command to clear all S-parameter memories. Instead, issue this command once for each of the four memories.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:TDR:SPMemory{1:4}:DTYPe?

The ability to use S-parameters requires Option 202.

Query Syntax

:TDR:SPMemory{1:4}:DTYPe?

Description

Queries the selected memory to determine the type of S-parameters that it holds. The possible return values are listed in the following table.

Query Response Versus Data in Memory
Query Response | Number of DUT Ports | Number of S-Parameters | Source File Type
Single-Ended DUTs
SPOR1 | 1 | 1 | .s1p, or .txt
Differential DUTs
DPOR1 | 1 | 4 | .s2p
DPOR2 | 2 | 16 | .s4p
DPOR4 | 4 | 64 | .s8p
DPOR6 | 6 | 144 | .s12p
DPOR8 | 8 | 256 | .s16p

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:TDR:SPMemory{1:4}:ENABle?

The ability to use S-parameters requires Option 202.

Query Syntax

:TDR:SPMemory{1:4}:ENABle?

Description

Queries the selected memory to determine if S-parameter data has been loaded into it. Returns a '1' if the memory contains data and returns a '0' if it does not contain data.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.


:TDR:SPMemory{1:4}:LOAD

Command Syntax

:TDR:SPMemory{1:4}:LOAD

Description

Loads all available S-parameters into the selected S-parameter memory from another S-parameter memory or from a DUT. To select the specific source S-parameter memory or DUT, use the :TDR:SPMemory:SOURce command. To load S-parameters into memory from a file instead of from a DUT, use the :DISK:SPARameter:RECall command.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Example Command Sequence

  //  Load DUT 2 S-parameters into memory 1.
:TDR:SPMemory1:SOURce DUT2  //  Select DUT2 for memory 1.
:TDR:SPMemory1:LOAD  //  Load the data into memory 1.

  //  Load S-parameters in Touchstone file into memory 2.
:DISK:SPARameter:LFName dut_response.s2p  //  Select S-parameter file.
:DISK:SPARameter:RECall:DESTination SPMemory2  //  Select memory 2.
:DISK:SPARameter:RECall  //  Load the file data into memory 2.

  //  View S11 from memory 1 on trace 3.
:TRACe3:DUT SPMemory1   //  Select memory 1 as source for trace 3.
:TRACe3:PARameter S1_1   //  Select S-parameter.
:TRACe3:OPERator MAGNitude
:TRACe3:CWINdow MAGNitude1   //  Select one of 4 Freq-Mag content windows.
:TRACe3:COLor TCOLor3
:TRACe3:DISPlay ON

  //  View S11 from memory 2 on trace 4.
:TRACe4:DUT SPMemory2   //  Select memory 2 as source for trace 4.
:TRACe4:PARameter S1_1   //  Select S-parameter.
:TRACe4:OPERator MAGNitude
:TRACe4:CWINdow MAGNitude1
:TRACe3:COLor TCOLor6
:TRACe4:DISPlay ON


:TDR:SPMemory{1:4}:SOURce

Command Syntax

:TDR:SPMemory{1:4}:SOURce {DUT{1:16} | SPMemory{1:4}}

Query Syntax

:TDR:SPMemory{1:4}:SOURce?

Description

Selects to load S-parameters into S-parameter memory from a TDR/TDT mode DUT-based setup (TDR mode only) or another S-parameter memroy (Eye/Mask, Oscilloscope, or TDR/TDT modes). To actually load use S-parameters into memory, use the :TDR:SPMemory:LOAD command.

The query form of the command returns the current selected source.

FlexDCA Revision

Requires FlexDCA revision A.05.00 and above.

Example Command Sequence

  //  Loads S-parameters from DUT2 into memory 3.
:TDR:SPMemory3:SOURce DUT2
:TDR:SPMemory3:LOAD

  //  Loads S-parameters from memory 2 into memory 4.
:TDR:SPMemory4:SOURce SPMemory2
:TDR:SPMemory4:LOAD


:TDR:STATus

Command Syntax

:TDR:STATus

Query Syntax

:TDR:STATus?

Description

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:STATus:REASon

Command Syntax

:TDR:STATus:REASon

Query Syntax

:TDR:STATus:REASon?

Description

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:STIMulus:CHANnel{N}:AMPLitude

Command Syntax

:TDR:STIMulus:CHANnel{N}:AMPLitude <volts>

<volts> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Syntax

:TDR:STIMulus:CHANnel{N}:AMPLitude?

Description

Sets the amplitude of the TDR stimulus step in N1055A TDR modules. The step can be set to 100 mV or 200 mV only. Any other entered value will result in the TDR step being set to the nearest value: 100 mV or 200 mV. Values entered less than 100 mV or greater than 200 mV will result in an error. Negative values are not allowed. To specify the step polarity, use the :TDR:STIMulus:CHANnel:POLarity command. The amplitude step cannot be set on 54754A TDR modules.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:STIMulus:CHANnel{N}:METHod

Command Syntax

:TDR:STIMulus:CHANnel{N}:METHod {MMODe | TMODe}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Syntax

:TDR:STIMulus:CHANnel{N}:METHod?

Description

Selects the method used to determine T-domain and S-parameters for differential DUTs:

MMODe
Mixed mode, also known as superposition, is used. Differential TDR responses are measured by internally setting both TDR steps to positive polarity and mathematically converting the response as if the step on the (–) port was negative. This allows all other parameters to be mathematically determined. This is the default method.
TMODe
True mode is used. Differential TDR responses are measured with TDR steps of opposite polarity.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

  • Mixed Mode Versus True Mode


:TDR:STIMulus:CHANnel{N}:POLarity

Command Syntax

:TDR:STIMulus:CHANnel{N}:POLarity {POSitive | NEGative}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Syntax

:TDR:STIMulus:CHANnel{N}:POLarity?

Description

Sets the polarity of the TDR stimulus steps for the three stimulus types:

Single-Ended Stimulus
The step can be set to positive or negative. The default setting is positive.
Differential Stimulus
Both step are automatically set to opposite polarity, with the first channel set to positive and the second channel set to negative by default. For example, channel 1A set to positive and 1B set to negative. If you use this command to change channel 1A to negative, channel 1B will automatically be set to positive to maintain an opposite polarity.
Common Mode Stimulus
Both step are automatically set to opposite polarity, which is positive by default. For example, channel 1A and 1B are both set to positive. If you use this command to change channel 1A to negative, channel 1B will automatically be set to negative to maintain an same polarity.

To select the TDR stimulus mode, use the :TDR:AMODe command. To select the differential types of stimulus (differential or common-mode), use the :TDR:STIMulus:CHANnel:TYPe command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:STIMulus:CHANnel{N}:SKEW

Command Syntax

:TDR:STIMulus:CHANnel{N}:SKEW <seconds>

<seconds> is a double.

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Syntax

:TDR:STIMulus:CHANnel{N}:SKEW?

Description

Manually enters the TDR step skew for the specified channel. To automatically set the step skew, use the Step Deskew Wizard (:TDR:DESKew:STARt). To manually enter the software skew, use the :CHANnel:TDELay command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:STIMulus:CHANnel{N}:STATus

Query Syntax

:TDR:STIMulus:CHANnel{N}:STATus?

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Response

{AVA | UNAV}

Description

Queries the availability of a TDR stimulus step which is associated with the specified channel. A step becomes available (AVA) when a TDR module is installed. Otherwise, the step is unavailable (UNAV).

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:STIMulus:CHANnel{N}:STEP

Command Syntax

:TDR:STIMulus:CHANnel{N}:STEP {ON | OFF}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Syntax

:TDR:STIMulus:CHANnel{N}:STEP?

Description

Turns the selected TDR stimulus step on or off.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:STIMulus:CHANnel{N}:TYPe

Command Syntax

:TDR:STIMulus:CHANnel{N}:TYPe {SENDed | DIFFerential | CMODe}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 2A. For differential channels, the alpha portion of the identifier to select from is {A|C}. For example, 1A but not 1B.

Query Syntax

:TDR:STIMulus:CHANnel{N}:TYPe?

Description

Configures the direction of the TDR stimulus step according to the following arguments:

DIFFerential
When the TDR stimulus mode is differential, the TDR steps (+ and –) for the selected channel have opposite polarity. Use the :TDR:STImulus:CHANnel:POLarity command to select the polarity of the individual channels.
CMODe
When the TDR stimulus mode is differential, the TDR steps (+ and –) for the selected channel have the same polarity. Use the :TDR:STImulus:CHANnel:POLarity command to select the polarity of the channels.
SENDed
When the TDR stimulus mode is single-ended, the TDR step is positive going by default. If needed, use the :TDR:STImulus:CHANnel:POLarity command to change the step to negative. This is the only selection and is the value return by the query.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TDR:STIMulus:SLOT{1:8}:RATE

Command Syntax

:TDR:STIMulus:SLOT{1:8}:RATE <frequency>

<frequency> is a double.

Query Syntax

:TDR:STIMulus:SLOT{1:8}:RATE?

Description

Specifies the rate, in Hertz, at which the TDR step occurs. If the stimulus rate is set to be automatically configured, entering a rate results in an error. Set the :TDR:STIMulus:SLOT:RATe:AUTomatic command to manual so that your entered rate will be applied.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Command Sequence

:TDR:STIMulus:SLOT1:RATe:AUTomatic OFF
:TDR:STIMulus:SLOT1:RATE 1.5E+5


:TDR:STIMulus:SLOT{1:8}:RATE:AUTomatic

Command Syntax

:TDR:STIMulus:SLOT{1:8}:RATE:AUTomatic {ON | OFF}

Query Syntax

:TDR:STIMulus:SLOT{1:8}:RATE:AUTomatic?

Description

Turns automatic selection of the TDR step rate on and off. By default, the rate is set to automatic. When set to manual, use the :TDR:STIMulus:SLOT:RATe command to manual enter the value.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


Introduction to :TIMebase Subsystem

The Timebase (TIMebase) subsystem commands control the horizontal (X axis) functions. This includes scaling, which is applied to all of the Time-Domain content windows: Waveform, Time-Ohms, Time-Volts, and Time-%. Click here to learn important information about content windows and window axis scaling.

In addition, this subsystem includes commands that are used to control the optional 86100D Internal Precision Timebase (Option PTB). To control the precision timebase that is provided with 86107A precision timebase module and 86108A/B Precision Waveform Analyzer module modules, use commands found in the :PTIMebase subsystem.

Note

The 86100D's Internal Precision Timebase (86100D Option PTB) is disabled whenever an 86108A/B Precision Waveform Analyzer Module or 86107A Precision Timebase Module is installed.

  • Programming Home

Timebase Commands

  • BPOSition
  • BRANge
  • BRATe
  • DESKew:FIXTure
  • DESKew:FIXTure:CANCel
  • DESKew:FIXTure:CONTinue
  • DESKew:FIXTure:FNAMe
  • DESKew:FIXTure:SAVe
  • DESKew:FIXTure:SDONe
  • FIND:NEXT
  • FIND:SEQuence
  • FIND:SIGNal
  • MPOSition
  • POSition
  • REFerence
  • SCALe
  • UNITs
  • XLEFt?
  • XRANge
  • XRIGht?

Internal Precision Timebase (Option PTB) Commands

  • PTIMebase:RFRequency
  • PTIMebase:RFRequency:AUTo
  • PTIMebase:RMEThod
  • PTIMebase:RTReference
  • PTIMebase:STATe
  • PTIMebase:VPTBsignals


:TIMebase:BPOSition

Example Python Script

Click here to learn about an example script that finds a bit sequence.

Command Syntax

:TIMebase:BPOSition  <delay>

<delay> is a double.

Query Syntax

:TIMebase:BPOSition?

Description

Sets the bit delay, when the timebase units are set to bits (:TIMebase:UNITs). Use :TIMebase:BRANge to set the number of bits displayed. Use :TIMebase:BRATe to automatically set the bits displayed and bit delay based on the bit rate.

Note

In Jitter Mode, bit rate, bits displayed, and bit delay controls are disabled. Do not use this command in Jitter Mode. It generates an error.

Example Command Sequence

:TIMebase:UNITs BIT
:TIMebase:BRANge 5.0E-01
:TIMebase:BPOSition 2.39874E+02


:TIMebase:BRANge

Command Syntax

:TIMebase:BRANge  <bits>

<bits> is a double.

Query Syntax

:TIMebase:BRANge?

Description

Sets the number of bits displayed across the graticule's horizontal axis, when the timebase units are set to bits (:TIMebase:UNITs). Use :TIMebase:BPOSition to set the bit delay. Use :TIMebase:BRATe to automatically set the bits displayed and bit delay based on the bit rate.

Note

In Jitter Mode, bit rate, bits displayed, and bit delay controls are disabled. Do not use this command in Jitter Mode. It generates an error.

Example Command Sequence

:TIMebase:UNITs BIT
:TIMebase:BRANge 5.0E-01
:TIMebase:BPOSition 2.39874E+02


:TIMebase:BRATe

Command Syntax

:TIMebase:BRATe  <rate>

<rate> is a double.

Query Syntax

:TIMebase:BRATe?

Description

Enters the bit rate used, when the timebase units are set to bits (:TIMebase:UNITs). This automatically sets the bits range :TIMebase:BRANge and bit delay :TIMebase:BPOSition. To change the timebase scale to seconds instead of bits, use :TIMebase:UNITs.

Note

In Jitter Mode, bit rate, bits displayed, and bit delay controls are disabled. Do not use this command in Jitter Mode. It generates an error.

Example Command Sequence

:TIMebase:UNITs BIT
:TIMebase:BRATe 9.953E+9


:TIMebase:DESKew:FIXTure

Command Syntax

:TIMebase:DESKew:FIXTure

Description

For N1045A and 86118A-H01 modules, starts the automated Fixture Deskew which deskews any number of channels using a guided procedure that applies the same signal to each input in multiple steps. Skew contributed by the fixture is removed from the measurement with any remaining skew due to the DUT and transmitter. It does not include any skew that is internal to the device-under-test. The skew is calibrated to the measurement reference plane. Fixture Deskew places the 86100D in Oscilloscope Mode for the duration of the procedure. At the completion of the test, the deskew values can be saved to an instrument setup file (.setx) using the :DESKew:FIXTure:SAVe and :DESKew:FIXTure:FNAMe commands.

When the procedure starts, you must select the channels that you want to deskew. Because Fixture Deskew requires single-valued waveforms, the 86100D is placed in Oscilloscope Mode for the duration of the procedure.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Note

When measuring each channel, the exact same cables, connectors, and clock source must be used.

The N1045A module's RF inputs are very sensitive to ESD. The 1.85 mm RF connectors require special care.

Example

This example deskews the signals on two channels: 3A and 3B. You must test for the successful completion of each step when a decision dialog box should be displayed and the user must take an action such as select a channel or click a NEXT or CANCEL button. The equivelent of these buttons is the :DESKew:FIXTure:CONTinue and :DESKew:FIXTure:CANCel commands.

:TIMebase:DESKew:FIXTure
:TIMebase:DESKew:FIXTure:SDONe? // Detect step 1 completion
// Your code to test for Select Channels dialog box
…
:CHAN3A:DISPlay ON // Select Channel 3A
:CHAN3B:DISPlay ON // Select Channel 3B
:TIMebase:DESKew:FIXTure:CONTinue
:TIMebase:DESKew:FIXTure:SDONe? // Detect step 2 completion
// Your code to test for Connect Channel 3A dialog box.
…
:TIMebase:DESKew:FIXTure:CONTinue
:TIMebase:DESKew:FIXTure:SDONe? // Detect step 3 completion
// Your code to test for Connect Channel 3B dialog box.
…
:TIMebase:DESKew:FIXTure:CONTinue
:TIMebase:DESKew:FIXTure:SDONe? // Detect step 4 completion
// Your code to test for Fixture Deskew Completed dialog box
…
:TIMebase:DESKew:FIXTure:SAVe ON // Select to save State file
:TIMebase:DESKew:FIXTure:FNAMe "D:\User Files\Setups\Setup_Test_4.setx" // Enter State filename
:TIMebase:DESKew:FIXTure:CONTinue
*OPC? // Wait for  Fixture Deskew to complete
:DISK:SETup:SAVe "D:\User Files\Setups\Setup_Test_4.setx" // Save file and end test


:TIMebase:DESKew:FIXTure:CANCel

Command Syntax

:TIMebase:DESKew:FIXTure:CANCel

Description

Cancels a Fixture Deskew procedure (:DESKew:FIXTure command) that is in process. The :CANCel command is equivalent to clicking a procedural dialog box's Cancel button. Use the :DESKew:FIXTure:CONTinue command to start the next segment of the procedure. Use the :DESKew:FIXTure:SDONe command to wait and test for the successful completion of a procedural step.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

Refer to the :DESKew:FIXTure command for a complete example.


:TIMebase:DESKew:FIXTure:CONTinue

Command Syntax

:TIMebase:DESKew:FIXTure:CONTinue

Description

Continues a Fixture Deskew procedure (:DESKew:FIXTure command) that is in process. The :CONTinue command is equivalent to clicking a procedural dialog box's Next button. Use the :DESKew:FIXTure:CANCel command to abort the procedure instead. Use the :DESKew:FIXTure:SDONe command to wait and test the succsessful completion of a procedural step.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

Refer to the :DESKew:FIXTure command for a complete example.


:TIMebase:DESKew:FIXTure:FNAMe

Command Syntax

:TIMebase:DESKew:FIXTure:FNAMe "filename"

"filename" is a string.

Query Syntax

:TIMebase:DESKew:FIXTure:FNAMe?

User File Locations

  • Location of files
  • Path substitution variables

Description

Specifies the filename, path, and extension of an instrument setup file (.setx) during the automated fixture deskew (:DESKew:FIXTure command). The setup file can be recalled at a later date to load the deskew data without having to rerun the fixture deskew. By default, the instrument setup file is saved in the %USER_DATA_DIR%\Setups folder shown in the following pictures. However, you can save the file to any writable folder.

Before issuing this command, you must enable the saving of the deskew data with the :DESKew:FIXTure:SAVe command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

Refer to the :DESKew:FIXTure command for a complete example.


:TIMebase:DESKew:FIXTure:SAVe

Command Syntax

:TIMebase:DESKew:FIXTure:SAVe {ON | OFF}

Query Syntax

:TIMebase:DESKew:FIXTure:SAVe?

Description

Enables or disables the saving of the fixture deskew generated skew results data to an instrument setup file. When enabled, the data is saved with the setup files specified with the :DESKew:FIXTure:FNAMe command.

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

Refer to the :DESKew:FIXTure command for a complete example.


:TIMebase:DESKew:FIXTure:SDONe?

Query Syntax

:TIMebase:DESKew:FIXTure:SDONe?

Query Response

Returns a string.

Description

Waits for the completion of a Fixture Deskew step and returns either an error message or a message that indicates success (a decision dialog box is displayed). Use the :DESKew:FIXTure:CONTinue to begin the next step or the :DESKew:FIXTure::CANCel command to abort the procedure.

If the Fixture Deskew has not been initiated, the following string is returned:

"No fixture deskew in progress."

FlexDCA Revision

Requires FlexDCA revision A.02.00 and above.

Example Command Sequence

Refer to the :DESKew:FIXTure command for a complete example.


:TIMebase:FIND:NEXT

Command Syntax

:TIMebase:FIND:NEXT

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Description

Locates the next location of a bit sequence within a waveform pattern as defined by the :TIMebase:FIND:SEQuence command. Use the :TIMebase:FIND:SIGNal command to select the waveform on which to perform the search. Each use ot the NEXT command locates the next location in the pattern that matches the sequence. The time scale is automatically adjusted to zoom in on the bit sequence. To query the bit offset of a located bit sequence within the pattern, use the :TIMebase:BPOSition query. The location of the sequence within the pattern is also shown in the pattern acquisition bar that is located at the top of the FlexDCA's display.

Note

To use this feature, pattern lock must be turned on (:TRIGger:PLOCk). It is recommended that the entire pattern be acquired (:ACQuire:EPATtern) and that waveform wrapping be turned off (:ACQuire:WRAPping).

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Note

The Find Bit Sequence feature is available in Oscilloscope and Eye/Mask modes only.

Example

:TIMebase:FIND:NEXT

  • Optical Channel Setup


:TIMebase:FIND:SEQuence

Example Script

Click here to learn about a Python script for finding a bit sequence.

Command Syntax

:TIMebase:FIND:SEQuence "bit sequence"

"bit sequence" is a string of binary digits "0" and "1".

Query Syntax

:TIMebase:FIND:SEQuence?

Description

WILDCARD

The question mark (?) can be used as a wildcard character. Each instance of the "?" character in the find string represents either a one or a zero bit. For example, the find string 11?1 will locate instances of 1101 and 1111 in the pattern.

In Oscilloscope and Eye/Mask mode, defines a specific sequence of bits to search for within an acquired waveform pattern. The entered bit sequence is a string of binary "0" and "1" characters. A maximum of 128 characters is allowed. For example, you may need to observe how your device under test responds to a 1110 bit sequence. After entering the bit sequence, use the :TIMebase:FIND:SIGNal command to select the pattern waveform on which to perform the search. Use the :TIMebase:FIND:NEXT command to initiate the search. Each use ot the NEXT command locates the next location in the pattern that matches the sequence. The time scale is automatically adjusted to zoom in on the bit sequence. To query the bit offset of a located bit sequence within the pattern, use the :TIMebase:BPOSition query. The location of the sequence within the pattern is also shown in the pattern acquisition bar that is located at the top of the FlexDCA's display.

Note

To use this feature, pattern lock must be turned on (:TRIGger:PLOCk). It is recommended that the entire pattern be acquired (:ACQuire:EPATtern) and that waveform wrapping be turned off (:ACQuire:WRAPping).

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Note

The Find Bit Sequence feature is available in Oscilloscope and Eye/Mask modes only.

Example

:TIMebase:FIND:SEQuence "1110"

  • Optical Channel Setup


:TIMebase:FIND:SIGNal

Command Syntax

:TIMebase:FIND:SIGNal CHAN{N}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:TIMebase:FIND:SIGNal?

Description

Selects a pattern waveform on which to perform a bit sequence search. Use the :TIMebase:FIND:SEQuence command to define the specific sequence of bits to search for within the pattern. Use the :TIMebase:FIND:NEXT command to initiate the search. Each use ot the NEXT command locates the next location in the pattern that matches the sequence.

Note

To use this feature, pattern lock must be turned on (:TRIGger:PLOCk). It is recommended that the entire pattern be acquired (:ACQuire:EPATtern) and that waveform wrapping be turned off (:ACQuire:WRAPping).

FlexDCA Revision

Requires FlexDCA revision A.01.80 and above.

Note

The Find Bit Sequence feature is available in Oscilloscope and Eye/Mask modes only.

Example

:TIMebase:FIND:SIGNal CHAN1A

  • Optical Channel Setup


:TIMebase:MPOSition

Command Syntax

:TIMebase:MPOSition  <seconds>

<seconds> is a double.

Query Syntax

:TIMebase:MPOSition?

Description

Specifies the minimum timebase position (minimum trigger delay) while in pattern lock when an 83496A/B clock recovery module is used. You can use this control to set the trigger-delay in Jitter Mode. In Jitter Mode, when making measurements on devices that employ a modulated clock, reduce the trigger's minimum timebase position to 24.1 ns to ensure that lock can be established. Jitter measurements on devices with a modulated clock can result in artificially higher measured jitter levels, due to the 86100D's trigger delay. Reducing the minimum timebase position reduces the amount of observed jitter. Reduce the value from a default of 40.1 ns to its minimum value of 24.1 ns.

Example Command Sequence

:SYSTem:MODE JITTer
:TIMebase:MPOSition 24.1E-9


:TIMebase:POSition

Command Syntax

:TIMebase:POSition  <seconds>

<seconds> is a double.

Query Syntax

:TIMebase:POSition?

Description

Sets the time at the delay reference point. The reference point is located at the display's left side (default) or the right side, as selected by the :TIMebase:REFerence command. In TDR mode, the reference point can also be set to two divisions in from the left side, which only affects the standard Waveform content window.

The position time specified establishes the time interval between the trigger event and the delay reference point, when the timebase units are set to seconds (:TIMebase:UNITs). This is the delay between the time a trigger is received and when the data is actually sampled. The maximum setting depends on the time-per-division setting. The minimum value you can set the horizontal position to is 24 ns defined at the left edge of the display graticule. If pattern lock is on (requires 86100D Option ETR Enhanced Trigger), the minimum time delay is set by the minimum timebase position setting (:TIMebase:MPOSition).

Note

In Jitter Mode, scale and position controls are disabled. Do not use this command in Jitter Mode. It generates an error.

Example Command Sequence

:TIMebase:UNITs SECond
:TIMebase:SCALe 5.02E-12
:TIMebase:POSition 2.41E-08


:TIMebase:PTIMebase:RFRequency

Command Syntax

:TIMebase:PTIMebase:RFRequency <clock rate>

<clock rate> is a double.

Query Syntax

:TIMebase:PTIMebase:RFRequency?

Description

Specifies the frequency of the reference clock at the 86100D's front-panel internal Precision Timebase Input (Option PTB). The 86100D's precision timebase input requires a full or sub-rate reference clock signal (square wave, BERT output, or a sine wave) from 2.4 to 44 GHz. If pattern lock is turned on, you can turn on autodetection of the reference clock using using the :PTIMebase:RFRequency:AUTo command. If the instrument is unable to correctly detect the external reference frequency, turn autodetection off and manually enter the rate.

Note

PRBS data is not a suitable reference clock signal.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:TIMebase:PTIMebase:RFRequency:AUTo

Command Syntax

:TIMebase:PTIMebase:RFRequency:AUTo {ON | OFF}

Query Syntax

:TIMebase:PTIMebase:RFRequency:AUTo?

Description

Enables or disables automatic detection of the reference clock rate at the 86100D's front-panel internal Precision Timebase Input (Option PTB). Automatic detection occurs during an Auto Scale (:SYSTem:AUToscale). If the instrument is unable to correctly detect the reference rate, turn autodetection off and manually enter the rate using the :TIMebase:PTIMebase:RFRequency command.

Note

Automatic detection requires that pattern lock be turned on.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:TIMebase:PTIMebase:RMEThod

Command Syntax

:TIMebase:PTIMebase:RMEThod {FAST | OLINearity}

Query Syntax

:TIMebase:PTIMebase:RMEThod?

Description

For the 86100D's Internal Precision Timebase (Option PTB), specifies the synchronization method used.

FAST
Optimizes for RJ (Random Jitter) only with fast synchronization that is suitable for analysis of most signals. This is the default method.
OLINearity
Optimizes for RJ measurements and linearity. This type of synchronization takes much longer but results in an extremely linear timebase as well as the lowest possible RJ. This type of synchronization is suggested for signals with extremely low DJ (Deterministic Jitter), where the signal rate is a multiple of the precision timebase reference frequency. For example, if your Data Rate is 32 Gb/s while your precision timebase reference frequency is 8 GHz, this option may improve the accuracy of the DJ measurements.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:TIMebase:PTIMebase:RTReference

Command Syntax

:TIMebase:PTIMebase:RTReference

Description

Resets the 86100D's Internal Precision Timebase (Option PTB). If the time reference fails to set, an error is produced. The usual causes for not being able to set the time reference include missing, too small, or too large signal or a frequency that is not in the specified ranges.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:TIMebase:PTIMebase:STATe

Command Syntax

:TIMebase:PTIMebase:STATe {ON | OFF}

Query Syntax

:TIMebase:PTIMebase:STATe?

Query Response

{1 | 0}

Description

Enables and disables the 86100D's Internal Precision Timebase (Option PTB). Enabling the precision timebase also sets the time reference. Disabling the precision timebase invalidates the time reference.

Note

The 86100D's Internal Precision Timebase (86100D Option PTB) is disabled whenever an 86108A/B Precision Waveform Analyzer Module or 86107A Precision Timebase Module is installed.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

:TIMebase:PTIMebase:STATe ON


:TIMebase:PTIMebase:VPTBsignals

Command Syntax

:TIMebase:PTIMebase:VPTBsignals {ON | OFF | 1 | 0}

Query Syntax

:TIMebase:PTIMebase:VPTBsignals?

Description

Turns on and off the display of the two precision timebase IQ input waveforms. These two waveforms are displayed on the Precision Timebase tab, which is located on Setup dialog boxes for the 86100D's internal precision timebase (option 86100D-PTB). To return the waveforms to the computer, use the :WAVeform:SOURce command. The query form of the command returns the current display state, on or off.

FlexDCA Revision

Requires FlexDCA revision A.05.30 and above.


:TIMebase:REFerence

Command Syntax

:TIMebase:REFerence  {LEFT | CENTer | DIVision2}

Query Syntax

:TIMebase:REFerence?

Description

Selects the horizontal reference position to be located at the graticule's left side or center. In TDR/TDT mode, the reference position can also be set to the second division from the left side, which only affects the standard Waveform content window. The horizontal reference point defines a specific delay value relative to the trigger event. Use the :TIMebase:POSition command to set or query the time interval between the trigger event and the horizontal reference position. Using the reference point and the horizontal scale, you can view any data point on the screen and determine when the data point was sampled, relative to the trigger event.


:TIMebase:SCALe

Command Syntax

:TIMebase:SCALe  <seconds>

<seconds> is a double.

Query Syntax

:TIMebase:SCALe?

Description

Sets the horizontal timebase scale in seconds-per-division, when the timebase units are set to seconds (:TIMebase:UNITs). To change the timebase scale to bits instead of seconds, use :TIMebase:UNITs. Use the :TIMebase:XLEFt? to query the time value at the graticule's left edge and :TIMebase:XRANge to set the time span across the graticule from the left edge to the right edge.

Note

In Jitter Mode, perform an Auto Scale after changing this setting.

Example Command Sequence

:TIMebase:UNITs SECond
:TIMebase:SCALe 5.02E-12
:TIMebase:POSition 2.41E-08


:TIMebase:UNITs

Command Syntax

:TIMebase:UNITs {SECond | BIT}

Query Syntax

:TIMebase:UNITs?

Description

Selects the units for horizontal scale and position: seconds or bits. When SECond is selected, use :TIMebase:SCALe to specify the scale and :TIMebase:POSition to specify the delay from trigger. When BIT is selected, use :TIMebase:BRATe to specify the data rate, :TIMebase:BRANge to specify the number of displayed bits, and :TIMebase:BPOSition to specify the bit delay.


:TIMebase:XLEFt?

Query Syntax

:TIMebase:XLEFt?

Description

Queries the time value at the graticule's left edge. Use :TIMebase:XRIGht? to query the time value at the graticule's right edge, :TIMebase:XRANge to set the time span across the graticule from the left edge to the right edge, and :TIMebase:SCALe to set the time-per-division setting.

Note

In Jitter Mode, perform an Auto Scale after changing this setting.


:TIMebase:XRANge

Command Syntax

:TIMebase:XRANge  <range>

<range> is a double.

Query Syntax

:TIMebase:XRANge?

Description

Sets or queries the full-scale horizontal time in seconds (span between the graticule left and right edges). Use :TIMebase:XLEFt? to query the time value at the graticule's left edge, :TIMebase:XRIGht? to query the time value at the graticule's right edge, and :TIMebase:SCALe to set the time-per-division setting.

Note

In Jitter Mode, perform an Auto Scale after changing this setting.


:TIMebase:XRIGht?

Query Syntax

:TIMebase:XRIGht?

Description

Queries the time value at the graticule's right edge. Use the :TIMebase:XLEFt? to query the time value at the graticule's left edge and :TIMebase:XRANge to set the time span across the graticule from the left edge to the right edge. Use :TIMebase:SCALe to set the time-per-division setting.


Introduction to :TRACe Subsystem

Use the TRACe subsystem commands in TDR/TDT Mode to create traces for displaying T-domain parameters and S-parameters. This includes specifying the waveform content window in which to display the trace. Up to 128 traces can be defined. Click here to learn important information about content windows and window axis scaling.

FlexDCA Revision

This subsystem Requires FlexDCA revision A.04.00 and above.

  • Learn More
  • Programming Home

Commands

  • COLor
  • CWINdow
  • DISPlay
  • DUT
  • OPERator
  • PARameter
  • STATus?
  • UDEFined:BASe
  • UDEFined:DISTal
  • UDEFined:MESial
  • UDEFined:PROXimal
  • UDEFined:TOP
  • UNAMe
  • XLEFt?
  • XPOSition?
  • XREFerence?
  • XRIGht?
  • XSCale?
  • XUNits?
  • YBOTtom?
  • YOFFset?
  • YSCale?
  • YTOP?
  • YUNits?


Introduction to :TRACe Subsystem (continued)

Waveform data for T-domain parameters and S-parameters are written in traces, which are then displayed in and scaled to waveform content windows. Use the :TRACe subsystem for tasks such as:

  • Creating a trace
  • Assigning a T-domain parameters and S-parameter to the trace
  • Selecting a color for the displayed trace
  • Displaying the trace

Trace Position and Scaling

A trace's X and Y-axis position and scaling is linked to and set from the :GRAPh subsystem. The only exception is for T-domain parameters (shown in Time-Ohms, Time-Volts, and Time-% content windows). On these traces, the X-axis (time) position and scaling is linked to and set from the :TIMebase subsystem. In other words, the time settings on all time-domain windows are set and controled from the :TIMebase subsystem. For that reason, you can only query X and Y-axis position and scaling in the :TRACe subsystem.

Window Legend

Each waveform content window includes a legend which identifies the trace as shown in this picture. Up to 128 traces can be defined. To show or hide the legend use the following commands:

  • :DISPlay:WINDow:TDLegend command for time-domain content windows (Time-Ohms, Time-Volts, and Time-%)
  • :DISPlay:WINDow:FDLegend command for frequency-domain content windows (Freq-Mag, GrpDelay, and Phase)

Example 1

The following sequence of commands shows how to create 6 traces to display a T-domain parameter (T11) and an S-parameter (S11), each in three different content windows.

// Create Trace 1 (T11)
:TRACe1:DUT DUT1  //  Select DUT number 1.
:TRACe1:PARameter T1_1  //  Select T11 response.
:TRACe1:OPERator OHMS  //  Display in Time-Ohms content window.
:TRACe1:COLor TCOLor1  //  Select color.
:TRACe1:DISPlay ON  //  Display response.

// Create Trace 2 (T11)
:TRACe2:DUT DUT1
:TRACe2:PARameter T1_1
:TRACe2:OPERator VOLTs  //  Display in Time-Volts content window.
:TRACe2:COLor TCOLor2
:TRACe2:DISPlay ON

// Create Trace 3 (T11)
:TRACe3:DUT DUT1
:TRACe3:PARameter T1_1
:TRACe3:OPERator PERCent  //  Display in Time-% content window.
:TRACe3:COLor TCOLor3
:TRACe3:DISPlay ON

// Create Trace 4 (S11)
:TRACe4:DUT DUT1
:TRACe4:PARameter S1_1
:TRACe4:OPERator MAGNitude  //  Display in Freq-Mag content window.
:TRACe4:COLor TCOLor4
:TRACe4:DISPlay ON

// Create Trace 5 (S11)
:TRACe5:DUT DUT1
:TRACe5:PARameter S1_1
:TRACe5:OPERator PHASe  //  Display in Phase content window.
:TRACe5:COLor TCOLor5
:TRACe5:DISPlay ON

// Create Trace 6 (S11)
:TRACe6:DUT DUT1
:TRACe6:PARameter S1_1
:TRACe6:OPERator GDELay  //  Display in GrpDelay content window.
:TRACe6:COLor TCOLor6
:TRACe6:DISPlay ON

Example 2

To place markers on T-domain and S-parameter traces, identify the trace in the :MARKer subsystem by trace number. For example,:

:TRACe3:PARameter T2_1
:TRACe3:OPERator OHMS
:TRACe3:CWINdow TOHMs2
:TRACe3:DISPlay ON
:MARKer:X1:SOURce TRACe3
:MARKer:X1:STATe MANual  //  Turn on marker
…


:TRACe{1:128}:COLor

Command Syntax

:TRACe{N}:COLor  {TCOLor1 | TCOLor2 | … | TCOLor12}

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{N}:COLor?

Description

Selects the color used to identify a channel on the screen. Waveform color assignments are saved as part of an instrument Setup file (:DISK:SETup:SAVe). Waveform colors are reset to their default values by a default setup (:SYSTem:DEFault) or factory preset (:SYSTem:FACTory).

Channel Colors Versus Command Arguments
Color | Argument | Color | Argument | Color | Argument | Color | Argument
 | TCOLor1 |  | TCOLor2 |  | TCOLor3 |  | TCOLor4
 | TCOLor5 |  | TCOLor6 |  | TCOLor7 |  | TCOLor8
 | TCOLor9 |  | TCOLor10 |  | TCOLor11 |  | TCOLor12
 | TCOLor13 |  | TCOLor14 |  | TCOLor15 |  | TCOLor16

To change the color of waveforms other than channels, use the following additional :COLor commands that are located in other subsystems:

Additional :COLor Commands
Command | Description
:CHANnel:COLor | Sets color of channel waveforms.
:CMODe:COLor | Sets color of common-mode waveforms.
:DIFF:COLor | Sets color of differential waveforms.
:EMEMory:COLor | Sets color of eye memory waveforms
:FUNCtion:COLor | Sets color of math function output waveforms.
:WMEMory:COLor | Sets color of waveform memories.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above for colors 1 through 12 and revision A.04.50 for colors 13 through 16.

Example Command Sequence

:TRACe2:COLor TCOLor8


:TRACe{1:128}:CWINdow

Command Syntax

:TRACe{N}:CWINdow {TPERcent{1:4} | TVOLts{1:4} | TOHMs{1:4} | MAGNitude{1:4} | PHASe{1:4} | GDELay{1:4}}

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:CWINdow?

Description

When multiple T-domain parameter or S-parameter traces are displayed in a content window, moves a trace to a content window of the same type. If the content window does not already exist, it will be created. For example, consider that an S21 trace from one DUT and an S21 from another DUT are both displayed in a Phase content window. The :CWINdow command can be used to move one trace to an new second Phase content window. Up to four content windows of the same type can be created.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

// Create Trace 1 (S21) from DUT 1.
:TRACe1:DUT DUT1
:TRACe1:PARameter S2_1
:TRACe1:OPERator PHASe  //  Display in PHASe content window.
:TRACe1:COLor TCOLor2
:TRACe1:DISPlay ON

// Create Trace 2 (S21) from DUT 2.
:TRACe2:DUT DUT2
:TRACe2:PARameter S2_1
:TRACe2:OPERator PHASe  //  Display in the same PHASe content window as Trace 1.
:TRACe2:COLor TCOLor3
:TRACe2:DISPlay ON

  //  Move Trace 2 to a new PHASe content window (number 2).
:TRACe2:CWINdow PHASe2


:TRACe{1:128}:DISPlay

Command Syntax

:TRACe{N}:DISPlay {ON | OFF}

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:DISPlay?

Description

Turns the display of a T-domain parameter or S-parameter trace on or off.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:DUT

Command Syntax

:TRACe{N}:DUT {DUT{1:16} | SPMemory{1:4}}

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:DUT?

Description

With the DUT{1:16} argument, this command specifies a DUT setup from which to select a T-domain parameter or S-parameter response to assign to a trace. With the SPMemory{1:4} argument, this command specifies an S-parameter memory from which to select an S-parameter response to assign to a trace. Up to 16 DUTs can be configured using the DUT Setup dialog box. DUTs are defined programmatically using the :TDR subsystem. One of four S-parameter memories can be selected as the source for a response. To select the actual T-domain parameter or S-parameter response to assign to the trace, use the :TRACe:PARameter command.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:OPERator

Command Syntax

:TRACe{N}:OPERator {NONE | OHMS | VOLTs | PERCent | MAGNitude | PHASe | GDELay}

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:OPERator?

Description

Specifies the type of graph in which to display a T-domain parameter trace or S-parameter trace. The following table shows the content window graph selected by each command argument. A T-domain parameter trace can be displayed in one of three content windows. An S-parameter trace can also be displayed in one of three content windows. To display the same parameter in all three graphs, define three separate traces. Use the :TRACe:PARameter command to assign the actual parameter to the trace.

Arguments with Displayed Content Windows
Command Argument | Content Windows
 | T-Domain Parameters | S-Parameters
OHMS | Time-Ohms |
VOLTs | Time-Volts |
PERCent | Time-% |
MAGNitude |  | Freq-Mag
PHASe |  | Phase
GDELay |  | GrpDelay

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:PARameter

Command Syntax

:TRACe{1:128}:PARameter {NONE | <parameter>}

The <parameter> argument is the time-domain parameter or S-parameter name with an underscore (_) character between the numbers. For example, the argument for an S21 parameter is S2_1.

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:PARameter?

Description

Assigns a T-domain parameter or S-parameter to the specified trace. Use the :TRACe:OPERator command to specify the graph in which to display the parameter. The query form of this command returns the parameter currently assigned to the specified trace. If a parameter has never been assigned to a trace, the query returns NONE.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:TRACe9:DUT DUT2
:TRACe9:PARameter S1_1
:TRACe9:OPERator VOLTs
:TRACe9:COLor TCOLor3
:TRACe9:DISPlay ON


:TRACe{1:128}:STATus?

Query Syntax

:TRACe{N}:STATus?

{N} identifies a specific trace and must be selected from 1 to 128.

Query Response

{AVA | UNAV}

Description

Queries the availability of a trace for use. A trace becomes available (AVA) after it is defined and displayed. Available traces are not shown in the Signals Palette. An available trace's waveform may or may not be displayed. A trace is unavailable (UNAV) unless it has been defined using all of the following three commands:

  • :TRACe:DUT command.
  • :TRACe:OPERator command.
  • :TRACe:PARameter command.

A trace does not have to be displayed to be available.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:UDEFined:BASe

Command Syntax

:TRACe{N}:UDEFined:BASe  <amplitude>

<amplitude> is a double.

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:UDEFined:BASe?

Description

For the indicated T-domain parameter or S-parameter trace, sets or queries the custom base-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during measurements. Specify the level in the units shown in the following table, depending on the waveform type. Use :TRACe:UDEFined:TOP to set or query a custom top level. Before this custom base level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions. This setting can be set from the front panel by clicking Measure > Configure Base Measurements and selecting in the the Top-Base Definition tab in the Configure Measurements dialog box.

Units Used for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units
T-Domain Parameters
Time-Ohms | Ohms
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:UDEFined:DISTal

Command Syntax

:TRACe{N}:UDEFined:DISTal  <amplitude>

<amplitude> is a double.

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:UDEFined:DISTal?

Description

MEASUREMENTS AFFECTED

In TDR/TDT mode, FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • rise time
  • fall time

For the indicated T-domain parameter or S-parameter trace, sets or queries the custom upper-threshold definition level. This command is used when making measurements with custom threshold definitions that are based on absolute amplitude. Before using this command,

  • Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions.
  • Use the :MEASure:THReshold:UNITs command to specify absolute amplitude threshold definitions. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESial command instead.

Use the :TRACe:UDEFined:MESial command to enter a middle threshold level. Use the :TRACe:UDEFined:PROXimal command to enter a lower threshold level.

The custom upper-threshold setting can be set from the front panel by clicking Measure > Configure Base Measurements and selecting the Thresholds tab in the Configure Measurements dialog box.

Depending on the waveform type, specify the level in the units shown in the following table.

Units Used for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units
T-Domain Parameters
Time-Ohms | Ohms
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:UDEFined:MESial

Command Syntax

:TRACe{N}:UDEFined:MESial  <amplitude>

<amplitude> is a double.

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:UDEFined:MESial?

Description

MEASUREMENTS AFFECTED

In TDR/TDT mode, FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • rise time
  • fall time

For the indicated T-domain parameter or S-parameter trace, sets or queries the custom middle-threshold definition level. This command is used when making measurements with custom threshold definitions that are based on absolute amplitude. Before using this command,

  • Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions.
  • Use the :MEASure:THReshold:UNITs command to specify absolute amplitude threshold definitions. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESial command instead.

Use the :TRACe:UDEFined:DISTal command to enter a upper threshold level. Use the :TRACe:UDEFined:PROXimal command to enter a lower threshold level.

The custom middle-threshold setting can be set from the front panel by clicking Measure > Configure Base Measurements and selecting the Thresholds tab in the Configure Measurements dialog box.

Depending on the waveform type, specify the level in the units shown in the following table.

Units Used for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units
T-Domain Parameters
Time-Ohms | Ohms
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:UDEFined:PROXimal

Command Syntax

:TRACe{N}:UDEFined:PROXimal  <amplitude>

<amplitude> is a double.

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:UDEFined:DISTal?

Description

MEASUREMENTS AFFECTED

In TDR/TDT mode, FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • rise time
  • fall time

For the indicated T-domain parameter or S-parameter trace, sets or queries the custom lower-threshold definition level. This command is used when making measurements with custom threshold definitions that are based on absolute amplitude. Before using this command,

  • Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions.
  • Use the :MEASure:THReshold:UNITs command to specify absolute amplitude threshold definitions. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESial command instead.

Use the :TRACe:UDEFined:MESial command to enter a middle threshold level. Use the :TRACe:UDEFined:DISTal command to enter a upper threshold level.

The custom lower-threshold setting can be set from the front panel by clicking Measure > Configure Base Measurements and selecting the Thresholds tab in the Configure Measurements dialog box.

Depending on the waveform type, specify the level in the units shown in the following table.

Units Used for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units
T-Domain Parameters
Time-Ohms | Ohms
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:UDEFined:TOP

Command Syntax

:TRACe{N}:UDEFined:TOP <amplitude>

<amplitude> is a double.

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:UDEFined:TOP?

Description

For the indicated T-domain parameter or S-parameter trace, sets or queries the custom top-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during measurements. Specify the level in the units shown in the following table, depending on the waveform type. Use :TRACe:UDEFined:BASe to set or query a custom top level. Before this custom base level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions. This setting can be set from the front panel by clicking Measure > Configure Base Measurements and selecting in the the Top-Base Definition tab in the Configure Measurements dialog box.

Units Used for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units
T-Domain Parameters
Time-Ohms | Ohms
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:UNAMe

Command Syntax

:TRACe{1:128}:UNAMe <string>

{N} identifies a specific trace and must be selected from 1 to 128.

Query Syntax

:TRACe{1:128}:UNAMe?

Description

Assigns a custom user name to a trace waveform. User names are helpful because they identify what a waveform represents rather than a T-domain parameter or S-parameter name. For example, you could assign user name "Gain of DUT 2" instead of T21. User names can be 25 characters or less and are displayed on the screen and on screen captures. To remove a custom user name, re-create it using an empty string.

FlexDCA Revision

This subsystem Requires FlexDCA revision A.04.00 and above.

Example Command Sequence

:TRACe{4}:UNAMe "Gain of DUT 2"


:TRACe{1:128}:XLEFt?

Query Syntax

:TRACe{N}:XLEFt?

{N} identifies a specific trace and must be selected from 1 to 128.

Description

Queries the X-axis value at the left edge of the graph for the indicated T-domain parameter or S-parameter trace. Use the :TRACe:XSCale? query to return the scale. Use the :TRACe:XUNits? command to return the units-of-measurement. Use the :TRACe:OPERator? command to return the type of graph and the :TRACe:PARameter? command to return the actual T-domain parameter or S-parameter viewed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:XPOSition?

Query Syntax

:TRACe{N}:XPOSition?

{N} identifies a specific trace and must be selected from 1 to 128.

Description

Queries the value at the center of the X-axis for the graph of the indicated T-domain parameter or S-parameter trace. Use the :TRACe:XSCale? command to query the scale of the horizontal axis. Query the value at the left side of the graph using the :TRACe:XLEFt? command. Query the value at the ride side of the graph using the :TRACe:XRIGht? command.

Units for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units | X-Axis Units
T-Domain Parameters
Time-Ohms | Ohms | Seconds
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels | Hertz
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:XREFerence?

Query Syntax

:TRACe{1:128}:XREFerence?

Description

Returns the X-axis reference point on the indicated T-domain parameter or S-parameter trace. The value returned is CENT which stands for the center of the axis.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:XRIGht?

Query Syntax

:TRACe{N}:XRIGht?

{N} identifies a specific trace and must be selected from 1 to 128.

Description

Queries the X-axis value at the right edge of the graph for the indicated T-domain parameter or S-parameter trace. Use the :TRACe:XSCale command to return the units-of-measurement. Use the :TRACe:XUNits command to return the units-of-measurement. Use the :TRACe:OPERator command to return the type of graph and the :TRACe:PARameter command to return the actual T-domain parameter or S-parameter viewed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:XSCale?

Query Syntax

:TRACe{N}:XSCale?

{N} identifies a specific trace and must be selected from 1 to 128.

Description

Queries the X-axis scale for the graph of the indicated T-domain parameter or S-parameter trace. Use the :TRACe:XPOSition command to set or query the value at the center of the horizontal axis. You can query the value at the left side of the graph using the :TRACe:XLEFt? command. You can query the value at the ride side of the graph using the :TRACe:XRIGht? command.

Units for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units | X-Axis Units
T-Domain Parameters
Time-Ohms | Ohms | Seconds
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels | Hertz
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:XUNits?

Query Syntax

:TRACe{N}:XUNits?

{N} identifies a specific trace and must be selected from 1 to 128.

Query Response

{SEC | HERT}

Description

Queries the X-axis units-of-measurement for the indicated T-domain parameter or S-parameter trace. The units for T-domain parameters is seconds which is indicated with the returned SEC string. The units for S-parameters is Hertz which is indicated with the returned HERT string.

Returne Values with Displayed Content Window Graph
Returned String | X-Axis Units | Content Window Graphs
 |  | T-Domain Parameters | S-Parameters
SEC | Seconds | Time-Ohms |
 |  | Time-Volts |
 |  | Time-% |
HERT | Hertz |  | Freq-Mag
 |  |  | Phase
 |  |  | GrpDelay

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:YBOTtom?

Query Syntax

:TRACe{N}:YBOTtom?

{N} identifies a specific trace and must be selected from 1 to 128.

Description

Queries the Y-axis value at the bottom of the graph for the indicated T-domain parameter or S-parameter trace. Use the :TRACe:YUNits command to return the units-of-measurement. Use the :TRACe:OPERator command to return the type of graph and the :TRACe:PARameter command to return the actual T-domain parameter or S-parameter viewed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:YOFFset?

Query Syntax

:TRACe{N}:YOFFset?

{N} identifies a specific trace and must be selected from 1 to 128.

Description

Queries the vertical offset value for the graph of the indicated T-domain parameter or S-parameter trace. This is the value at the center of the Y-axis scale. Use the :TRACe:YSCale command to set or query vertical scale. You can query the value at the top of the graph using the :TRACe:YTOP? command. You can query the value at the bottom of the graph using the :TRACe:YBOTtom? command.

Units for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units | X-Axis Units
T-Domain Parameters
Time-Ohms | Ohms | Seconds
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels | Hertz
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:YSCale?

Query Syntax

:TRACe{N}:YSCale?

{N} identifies a specific trace and must be selected from 1 to 128.

Description

Queries the Y-axis scale for the graph of the indicated T-domain parameter or S-parameter trace. Use the :TRACe:YOFFset command to set or query the value at the center of the vertical axis. You can query the value at the top of the graph using the :TRACe:YTOP? command. You can query the value at the bottom of the graph using the :TRACe:YBOTtom? command.

Units for Displayed Content Window Graphs
Content Window Graphs | Y-Axis Units | X-Axis Units
T-Domain Parameters
Time-Ohms | Ohms | Seconds
Time-Volts | Volts
Time-% | Percent
S-Parameters
Freq-Mag | Decibels | Hertz
Phase | Degrees
GrpDelay | Seconds

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:YTOP?

Query Syntax

:TRACe{N}:YTOP?

{N} identifies a specific trace and must be selected from 1 to 128.

Description

Queries the Y-axis value at the top of the graph for the indicated T-domain parameter or S-parameter trace. Use the :TRACe:YUNits command to return the units-of-measurement. Use the :TRACe:OPERator command to return the type of graph and the :TRACe:PARameter command to return the actual T-domain parameter or S-parameter viewed.

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


:TRACe{1:128}:YUNits?

Query Syntax

:TRACe{N}:YUNits?

{N} identifies a specific trace and must be selected from 1 to 128.

Query Response

{OHM | VOLT | PERC | DEGR | SEC | DEC}

Description

Queries the Y-axis units-of-measurement for the indicated T-domain parameter or S-parameter trace. The returned strings are described in the following table.

Returne Values with Displayed Content Window Graph
Returned String | Y-Axis Units | Content Window Graphs
 |  | T-Domain Parameters | S-Parameters
OHM | Ohms | Time-Ohms |
VOLT | Volts | Time-Volts |
PERC | Percent | Time-% |
DEC | Decibels |  | Freq-Mag
DEGR | Degrees |  | Phase
SEC | Seconds |  | GrpDelay

FlexDCA Revision

Requires FlexDCA revision A.04.00 and above.


Introduction to :TRIGger Subsystem

The Trigger (TRIGger) subsystem commands configure triggering for data acquisition. Edge triggering identifies a trigger condition by looking for the slope (rising or falling) and voltage level (trigger level) on the source you select.

Commands

  • BRATe
  • BRATe:AUTodetect
  • DCDRatio
  • DCDRatio:AUTodetect
  • HYSTeresis
  • LEVel
  • MODE
  • MTALlowed?
  • PLALlowed?
  • PLENgth
  • PLENgth:AUTodetect
  • PLOCk
  • SLOPe
  • SOURce
  • SOURce:AUTodetect

Removed Commands

  • BWLimit (removed A.03.00)


:TRIGger:BRATe

Command Syntax

:TRIGger:BRATe  <rate>

<rate> is a double.

Query Syntax

:TRIGger:BRATe?

Description

Enters the bit-rate of the trigger source. Automatic detection must be turned off before the entered bit rate setting is applied (:TRIGger:BRATe:AUTodetect).

Example Command Sequence

:TRIGger:BRATe:AUTodetect OFF
:TRIGger:BRATe 2.0E+10


:TRIGger:BRATe:AUTodetect

Command Syntax

:TRIGger:BRATe:AUTodetect  {ON | OFF | 1 | 0}

Query Syntax

:TRIGger:BRATe:AUTodetect?

Query Response

{1 | 0}

Description

Enables or disables automatic bit-rate detection. When turned off, use the :TRIGger:BRATe command to set the bit rate. When turned on, send the :TRIGger:PLOCk ON or :SYSTem:PAUTodetect command to actually detect the bit rate.

Example Command Sequence

:TRIGger:BRATe:AUTodetect ON
:TRIGger:PLOCk ON


:TRIGger:DCDRatio

Command Syntax

:TRIGger:DCDRatio  {UNITy | SUB2 | SUB4 | …}

Query Syntax

:TRIGger:DCDRatio?

Description

Enters the trigger-divide ratio. To apply the ratio, disable autodetection (:TRIGger:DCDRatio:AUTodetect). In some situations, you may need to enter a trigger divide ratio for a trigger that is a divided rate from the data rate. For example, for rates greater then 23.2 Gbs, you must provide a divided trigger.

DCDRatio Rate Arguments
Rate | Argument
1:1 (Sub-Rate) | UNITy
1:2 (Sub-Rate) | SUB2
1:4 (Sub-Rate) | SUB4
1:5 (Sub-Rate) | SUB5
1:8 (Sub-Rate) | SUB8
1:10 (Sub-Rate) | SUB10
1:15 (Sub-Rate) | SUB15
1:16 (Sub-Rate) | SUB16
1:18 (Sub-Rate) | SUB18
1:20 (Sub-Rate) | SUB20
1:24 (Sub-Rate) | SUB24
1:25 (Sub-Rate) | SUB25
1:30 (Sub-Rate) | SUB30
1:32 (Sub-Rate) | SUB32
1:35 (Sub-Rate) | SUB35
1:36 (Sub-Rate) | SUB36
1:40 (Sub-Rate) | SUB40
1:45 (Sub-Rate) | SUB45
1:50 (Sub-Rate) | SUB50
1:64 (Sub-Rate) | SUB64
1:66 (Sub-Rate) | SUB66
1:100 (Sub-Rate) | SUB100
1:128 (Sub-Rate) | SUB128

Example Command Sequence

:TRIGger:DCDRatio:AUTodetect OFF
:TRIGger:DCDRatio SUB2
:TRIGger:PLOCk

  • Learn More


:TRIGger:DCDRatio:AUTodetect

Command Syntax

:TRIGger:DCDRatio:AUTodetect  {ON | OFF | 1 | 0}

Query Syntax

:TRIGger:DCDRatio:AUTodetect?

Query Response

{1 | 0}

Description

Enables or disables automatic trigger-divide-ratio detection. When disabled, use the :TRIGger:DCDRatio command to set the ratio. When enabled, send the :TRIGger:PLOCk ON or :SYSTem:PAUTodetect command to actually detect the trigger-divide-ratio.

Example Command Sequence

:TRIGger:DCDRatio:AUTodetect ON
:TRIGger:PLOCk ON


:TRIGger:HYSTeresis

Command Syntax

:TRIGger:HYSTeresis  {NORMal | HSENsitivity}

Query Syntax

:TRIGger:HYSTeresis?

Description

Selects the trigger hysteresis. Trigger hysteresis helps to prevent false triggers from occurring on a falling edge due to noise when the rising edge is selected as the trigger edge (or on a rising edge when the falling edge is selected as the trigger edge). The voltage through which the trigger signal must pass before another valid trigger is accepted is known as the arming voltage level. Hysteresis is the voltage difference between the arming level voltage and the trigger threshold level voltage.

NORMal
Select to trigger if a trigger signal crosses both the arming voltage level and the trigger threshold voltage level. Normal provides good trigger performance while minimizing false triggers.
HSENsitivity
Select high sensitivity when the hysteresis is small to allow best sensitivity to high frequency signals. This allows smaller signals to be used as triggers, but can result in false triggers if there is significant noise on the trigger signal, or if the trigger signal is not monotonic in the region of the trigger threshold level.

Note

On Option 86100D-ETR instruments, the hysteresis settings are unavailable (shaded) whenever pattern lock is on (:TRIGger:PLOCk ON) or divided trigger bandwidth (:TRIGger:MODE) is selected.

Note

When using the 86107A Precision Timebase module and the time reference is set, all external trigger sources and controls are disabled.

  • Learn More


:TRIGger:LEVel

Command Syntax

:TRIGger:LEVel <level>

<level> is a double.

Query Syntax

:TRIGger:LEVel?

Description

Specifies the trigger level on all trigger inputs. This is the threshold level that the trigger signal must cross to trigger on the signal. You can enter a level between −1.0V and 1.0V. The trigger level can be adjusted whenever the trigger bandwidth (:TRIGger:MODE) is set to Filtered (FILTered) or Edge (EDGE. When the trigger bandwidth setting is set to CLOCk, the trigger level is AC coupled and cannot be manually adjusted. The level that you select for the trigger threshold is applied to all trigger sources.

  • Learn More


:TRIGger:MODe

Command Syntax

:TRIGger:MODe {FILTered | EDGE | CLOCk}

Query Syntax

:TRIGger:MODe?

Description

When the trigger source is set to the front panel (:TRIGger:SOURce FPANel) and pattern lock is turned off (:TRIGger:PLOCk OFF), selects the trigger mode in Oscilloscope mode and Eye/Mask mode:

FILTered
Selects Filtered Edge (DC to 100 MHz) trigger bandwidth. You can set the trigger level using the :TRIGger:LEVel command.
EDGE
Selects Standard Edge (DC to 3.2 GHz) trigger bandwidth.
CLOCk
Selects Clock/Divided (3 GHz to 13 GHz) trigger bandwidth.

The trigger signal's sensitivity to noise and response time is affected by the bandwidth. Selection of the proper mode (bandwidth) is a compromise between the trigger's response to very fast edge speeds and its sensitivity to noise. Noise on the trigger signal can result in inconsistent triggering, which is seen as timing instability (jitter) in the displayed waveform. To reduce the occurrence of inconsistent triggering, reduce the bandwidth of the trigger circuitry. When pattern lock is turned on, triggering information is automatically detected as the FlexDCA generates a pattern lock. In this case, trigger bandwidth settings are not used and are unavailable.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Example Command Sequence

:SYSTem:MODE EYE
:TRIGger:SOURce FPANel
:TRIGger:PLOCk OFF
:TRIGger:MODE CLOCk

  • Learn More


:TRIGger:MTALlowed?

Query Syntax

:TRIGger:MTALlowed?

Description

This query indicates whether or not the 86100D supports module triggering. Triggering from a module requires an 86100D-ETR. True (1) is returned if option ETR is installed.


:TRIGger:PLALlowed?

Query Syntax

:TRIGger:PLALlowed?

Description

This query indicates whether or not the trigger system supports pattern lock mode. Pattern lock requires an 86100D-ETR mainframe. True (1) is returned if option ETR is installed.


:TRIGger:PLENgth

Command Syntax

:TRIGger:PLENgth  <bits>

<bits> is an int.

Query Syntax

:TRIGger:PLENgth?

Description

Enters the length of the test pattern in bits, which is used in pattern-lock trigger mode. You must first disable automatic pattern-length detection (:TRIGger:PLENgth:AUTodetect OFF) before manually entering the pattern length. The command query returns the pattern length setting in bits regardless of whether automatic detection is on or off.

To set or query the pattern length on simulated channels, use the :SOURce:PLENgth command.

Example Command Sequence

:TRIGger:PLENgth:AUTodetect OFF
:TRIGger:PLENgth 128

  • Learn More


:TRIGger:PLENgth:AUTodetect

Command Syntax

:TRIGger:PLENgth:AUTodetect  {ON | OFF | 1 | 0}

Query Syntax

:TRIGger:PLENgth:AUTodetect?

Query Response

{1 | 0}

Description

Enables or disables automatic pattern-length detection. When disabled, use the :TIMebase:PLENgth command to specify the pattern length. When enabled, send the :TRIGger:PLOCk ON or :SYSTem:PAUTodetect command to actually detect the pattern length.

Example Command Sequence

:TRIGger:PLENgth:AUTodetect OFF
:TRIGger:PLENgth 128


:TRIGger:PLOCk

Command Syntax

:TRIGger:PLOCk  {ON | OFF | 1 | 0}

Query Syntax

:TRIGger:PLOCk?

Query Response

{1 | 0}

Description

Turns on or off pattern locking, which generates a pattern trigger. After turning on pattern locking, use the :SYSTEm:PAUTodetect command to automatically detect bit rate, pattern length, and the trigger divide ratio. If any of these three waveform parameters are manually specified, the parameter will not be automatically detected by :SYSTem:PAUTodetect. To turn on automatic detection of the bit rate, use the :TRIGger:BRATe:AUTodetect command. To turn on automatic detection of the pattern length, use the :TRIGger:PLENgth:AUTodetect command. To turn on automatic detection of the trigger divide ratio :TRIGger:DCDRatio:AUTodetect command.

Example Command Sequence

:TRIGger:BRATe:AUTodetect OFF
:TRIGger:BRATe 9.95328E+9
:TRIGger:DCDRatio:AUTodetect ON
:TRIGger:PLENgth:AUTodetect ON
:TRIGger:PLOCk ON
:SYSTem:PAUTodetect

  • Learn More


:TRIGger:SLOPe

Command Syntax

:TRIGger:SLOPe  {POSitive, NEGative}

Query Syntax

:TRIGger:SLOPe?

Description

Specifies the slope of the edge on which to trigger. Triggering may occur on the rising (POSitive) or the falling (NEGative) transition of the trigger edge, but not both. An edge is identified as a specified slope and, once the slope is found, FlexDCA triggers when the trigger signal crosses the threshold level.

Note

On Option 86100D-ETR instruments, the slope settings are unavailable (shaded) whenever pattern lock is on (:TRIGger:PLOCk ON) or divided trigger bandwidth (:TRIGger:MODE) is selected.

  • Learn More


:TRIGger:SOURce

Command Syntax

:TRIGger:SOURce  {FRUN | FPANel | CHANnel{N} | SLOT{1:3}}

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:TRIGger:SOURce?

Description

Selects the trigger input for the 86100D and DCA-M products like the N1090A and N1090A/B/D optical sampling oscilloscopes. The following sources can be selected:

FRUN
Free Run. Triggers the data acquisition as soon as the trigger is armed, without having to provide an external trigger. Free run is asynchronous to the data. Use free-run triggering as an easy way to examine the amplitude of a signal without any timing information.
FPANel
Front Panel. Triggers the data acquisition from an external trigger source that is connected to the front-panel Trigger input. This is the most often-used method (as well as the default) source for triggering. Use the :TRIGger:LEVel command to set the trigger level, when the trigger bandwidth (:TRIGger:MODE) is set to FILTered or EDGe.
CHANnel{N}
Channel. Trigger from a channel. This selection is not available for DCA-M products.
SLOT<N>
Module Slot. Trigger from a plug-in module slot location (1 through 4). Compatible modules (that have front-panel trigger input connectors) include 86108A (always SLOT1) and 8349x-series (SLOT1 or SLOT3). When an 86108A precision waveform analyzer module is installed, triggering can be from the recovered clock or from the precision timebase. When using the 86107A Precision Timebase module and the time reference is set, all external trigger sources and controls are disabled. This selection is not available for DCA-M products.

Example Command Sequence

:TRIGger:SOURce FPANel
:TRIGger:MODE CLOCk
:SYSTem:MODE EYE

  • Learn More


:TRIGger:SOURce:AUTodetect

Command Syntax

:TRIGger:SOURce:AUTodetect  {ON | OFF }

Query Syntax

:TRIGger:SOURce:AUTodetect?

Query Response

{ON | OFF}

Description

Enables or disables automatic trigger source detection. Use the :TRIGger:SOURce command to manually select the source.

  • Learn More


:TRIGger:BWLimit

Removed command

Removed command for revision A.03.00 and above. This command is no longer available. Use :TRIGger:MODe insead.

Command Syntax

:TRIGger:BWLimit  {FILTered | EDGE | CLOCk}

Query Syntax

:TRIGger:BWLimit?

Description

Selects the trigger bandwidth in Oscilloscope and Eye/Mask modes:

FILTered
Selects Filtered Edge (DC to 100 MHz) trigger bandwidth.
EDGE
Selects Standard Edge (DC to 3.2 GHz) trigger bandwidth.
CLOCk
Selects Clock/Divided (3 GHz to 13 GHz) trigger bandwidth.

If the FILTered or EDGE bandwidth is selected, you can set the trigger level using the :TRIGger:LEVel command.

The trigger signal's sensitivity to noise and response time is affected by the bandwidth. Selection of the proper bandwidth is a compromise between the trigger's response to very fast edge speeds and its sensitivity to noise. Noise on the trigger signal can result in inconsistent triggering, which is seen as timing instability (jitter) in the displayed waveform. To reduce the occurrence of inconsistent triggering, reduce the bandwidth of the trigger circuitry. When pattern lock is turned on, triggering information is automatically detected as the FlexDCA generates a pattern lock. In this case, trigger bandwidth settings are not used and are unavailable.

Example Command Sequence

:TRIGger:SOURce FPANel
:TRIGger:BWLimit CLOCk
:SYSTem:MODE EYE

  • Learn More


Introduction to :WAVeform Subsystem

TRANSFERRING DATA TO FlexDCA

Unlike the 86100D, FlexDCA's :WAVeform subsystem does not support transferring waveform data from the computer to FlexDCA. Use the :DISK subsystem for this task.

Use the Waveform subsystem commands to transfer waveform data from FlexDCA to the computer. Waveform data includes single-valued waveform data (Oscilloscope Mode) and color grade/gray scale data (Eye/Mask Mode) from FlexDCA to the computer. To transfer histogram data, use the commands in the :HISTogram subsystem. Channel, function, waveform, and color grade/gray scale memory can all be selected for return using the :WAVeform:SOURce command. All other subsystem commands are queries that return either data or parameters that are needed to interpret the data.

  • Learn More
  • Programming Home

Waveform Source Command

  • SOURce
  • STATus
  • STATus:REASon

Color Grade/Gray Scale Queries

  • {EYE | CGRade}:ASCii:DATa?
  • {EYE | CGRade}:COLumns?
  • {EYE | CGRade}:INTeger:DATa?
  • {EYE | CGRade}:POINts?
  • {EYE | CGRade}:ROWS?
  • {EYE | CGRade}:STATus
  • {EYE | CGRade}:STATus:REASon
  • {EYE | CGRade}:XINCrement?
  • {EYE | CGRade}:XORigin?
  • {EYE | CGRade}:YINCrement?
  • {EYE | CGRade}:YORigin?

Pattern Queries

  • PATTern:BITS?
  • PATTern:BRATe?
  • PATTern:COMPlete?
  • PATTern:PPBit?

XY-Format Queries

  • XYFormat:ASCii:XDATa?
  • XYFormat:ASCii:YDATa?
  • XYFormat:DOUBle:XDATa?
  • XYFormat:DOUBle:YDATa?
  • XYFormat:FLOat:XDATa?
  • XYFormat:FLOat:YDATa?
  • XYFormat:POINts?
  • XYFormat:POINts:CLIPped
  • XYFormat:POINts:CLIPped:HIGH?
  • XYFormat:POINts:CLIPped:LOW?
  • XYFormat:POINts:HOLes?

Y-Format Queries

  • YFORmat:ASCii:YDATa?
  • YFORmat:DOUBle:YDATa?
  • YFORmat:FLOat:YDATa?
  • YFORmat:POINts?
  • YFORmat:POINts:CLIPped
  • YFORrmat:POINts:CLIPped:HIGH?
  • YFORmat:POINts:CLIPped:LOW?
  • YFORmat:POINts:HOLes?
  • YFORmat:WORD:ENCoding:CHIGh?
  • YFORmat:WORD:ENCoding:CLOW?
  • YFORmat:WORD:ENCoding:HOLe?
  • YFORmat:WORD:ENCoding:YINCrement?
  • YFORmat:WORD:ENCoding:YORigin?
  • YFORmat:WORD:YDATa?
  • YFORmat:XINCrement?
  • YFORmat:XORigin?


Introduction to :WAVeform Subsystem (continued)

Returning waveform data from FlexDCA requires that you perform the following tasks:

Y and XY Value Waveforms

Although similar, the data returned in the :YFORmat and :XYFormat queries is not the same as waveform data saved to a disk using the :DISK:WAVeform commands.

  1. Place FlexDCA in stop or single data acquisition mode using the :ACQuire:STOP and :ACQuire:SINGle commands. If FlexDCA is in the run mode, multiple data acquisition cycles may occur between queries resulting in waveform parameters that do not match the data. For example, it is likely that the first point in the data will have a different time than that of the returned X origin.
  2. Select the data source using the :WAVeform:SOURce command.
  3. Use the :WAVeform:STATus and :WAVeform:STATus:REASons queries to determine if the waveform has valid data before you transfer the data.
  4. Return the data using one of the formats described in the remaining sections of this topic.
  5. Return the waveform parameters needed to interpret the data. This includes, for example, the number of points in the waveform (record length), the time at the x-axis origin, and the time increment between data points.

Eye Format Waveforms

Example Python Script

Click here to learn about an example scripts that return binary data and displays an matplotlib graph:

  • Eye diagram data
  • Pattern waveform data

Returns color grade/gray scale database values in ASCII or binary (16-bit integer) format. Color grade/gray scale data is transferred as a two dimensional array consisting of 521 rows by 751 columns for a total number of 391,271 points. This array corresponds to the graticule display, where each point contains a sample hit count. The array is transferred column by column, starting with the lower left corner of the graticule.

Eye-Format Commands
Query | Description
:EYE:ASCii:DATa? | ASCII hit count for each waveform sample point
:EYE:INTeger:DAta? | 16-bit integer hit count for each waveform sample point.
:WAVeform:EYE:COLumns? | Returns the number of columns in the data, which is always 751.
:WAVeform:EYE:ROWS? | Returns the number of rows in the data, which is always 521.
:WAVeform:EYE:XORigin? | Returns time origin which is the position of the first data column at the lower left corner of the screen graticule.
:WAVeform:EYE:YORigin? | Returns the voltage origin which is the position of the first data row at the lower left corner of the screen graticule.
:WAVeform:EYE:XINCrement? | Returns the time spacing between database columns.
:WAVeform:EYE:YINCrement? | Returns the amplitude spacing between database rows.
The time for any column of data points:
Xtime = (Xcolumn)(Xincrement) + (Xorigin)
To amplitude for any data point at a given row:
Yamplitude = (Yrow)(Yincrement) + Yorigin

Y-Format Waveforms

Y-format waveform data returns a single-valued waveform's amplitude values with equal time separations. Single-valued waveforms represent a signal in which every horizontal acquisition point has associated with it one and only one amplitude value. In contrast, an eye diagram is displayed by measuring and displaying multiple amplitude values for each horizontal acquisition point. Single-valued waveforms are captured and viewed in Oscilloscope Mode or in Eye Mode when Pattern Lock is on. (If Acquire Entire Pattern is selected, wrap waveform must be turned off.)

Y-format waveform data can be returned in ASCII or binary (64-bit or 32-bit floating-point values or as 16-bit integers) format using the commands shown in the following table. Y-format is designed for waveforms in which the data points are separated by equal time increments. Because the time values are not transfered with each data point, Y-format results in faster data transfers than the XY-format. If you transfer a Y-format waveform using XY-format, the waveform data will not be altered and the time increments will remain equal, but the data transfer will take much longer.

Note

For pattern waveforms or waveforms captured when using a precision timebase, you must return the data in XY-format instead of Y-format. This is because unequal time separations exist between the samples.

Y-Format Commands
Query | Description
:WAVeform:YFORmat:ASCii:YDATa? | ASCII amplitude values in volts or Watts
:WAVeform:YFORmat:DOUBle:YDATa? | 64-bit floating point amplitude values in volts or Watts
:WAVeform:YFORmat:FLOat:YDATa? | 32-bit floating point amplitude values in volts or Watts
:WAVeform:YFORmat:WORD:YDATa? | 16-bit integer raw analog-to-digital converter counts
:WAVeform:YFORmat:XINCrement? | The time spacing between the data points and is returned with the query.
:WAVeform:YFORmat:POINts? | Returns the number of points in the data . The value Xindex in the following equation, is the data point count, starting at zero and ending at the number of points minus one.
:WAVeform:YFORmat:XORigin? | The time value of the first data point.
:WAVeform:YFORmat:WORD:ENCoding:YINCrement? | For WORD formatted data, returns the the counts-to-volts conversion factor.
:WAVeform:YFORmat:WORD:ENCoding:YORigin? | For WORD formatted data, returns the voltage offset.
:WAVeform:YFORmat:WORD:ENCoding:CHIGh? | For WORD (integer) formatted data, returns the value 32,256 which is used in the returned data to indicate a clipped high value.
:WAVeform:YFORmat:WORD:ENCoding:CLOW? | For WORD (integer) formatted data, returns the value 31,744 which is used in the returned data to indicate a clipped low value.
:WAVeform:YFORmat:WORD:ENCoding:HOLe? | For WORD (integer) formatted data, returns the value 31,232 which is used in the returned data to indicate void data.
The time at any data point:
Xtime = (Xdata)(Xincrement) + (Xorigin)
To convert raw analog-to-digital converter data:
Yamplitude = (Ydata)(conversion factor) + Yorigin

XY-Format Waveforms

XY-format waveform data returns a single-valued waveform's amplitude and time data in ASCII or binary (64-bit double or 32-bit float values) format. XY-format is designed for returning a pattern waveform or waveforms created when a precision timebase is used, as these waveforms are sampled using unequal time separations between adjacent data points. Returning 64-bit floating point values provides greater measurement resolution but at the sacrifice of longer times required to transfer the data.

XY-Format Commands
Query | Description
:WAVeform:XYFORmat:ASCii:YDATa? | ASCII amplitude values in volts or Watts
:WAVeform:XYFORmat:ASCii:XDATa? | ASCII time values in seconds
:WAVeform:XYFORmat:DOUBle:YDATa? | 64-bit floating point amplitude values in volts or Watts
:WAVeform:XYFORmat:DOUBle:XDATa? | 64-bit floating point time values in seconds
:WAVeform:XYFORmat:FLOat:YDATa? | 32-bit floating point amplitude values in volts or Watts
:WAVeform:XYFORmat:FLOat:XDATa? | 32-bit floating point time values in seconds
:WAVeform:XYFormat:POINts? | Returns the number of points in the waveform.
:WAVeform:PATTern:COMPlete? | Confirms that an entire pattern waveform has been acquired. Long patterns may include large amounts of data that require considerable time to acquire.
:WAVeform:PATTern:BITS? | Returns the number of bits in a pattern waveform.
:WAVeform:PATTern:BRATe? | Returns the pattern's bit rate of a pattern waveform.
:WAVeform:PATTern:PPBit? | Returns the number of points-per-bit in a pattern waveform.

Note

If you query pattern waveform or waveforms created when using a precision timebase using the Y-format instead of XY-format, the waveform data must be converted to equal time separations. This requires interpolating amplitude values, and, in some time instances, a data point will be void (NaN) and the total point in the waveform may change.

  • Subsystem Home topic


:WAVeform:{EYE | CGRade}:ASCii:DATa?

Query Syntax

:WAVeform:EYE:ASCii:DATa?

Query Response

The data is returned as comma-separated values.

Description

Returns color grade/gray scale database values in ASCII format. Color grade/gray scale data is transferred as a two dimensional array consisting of 521 rows by 751 columns for a total number of 391,271 points. This array corresponds to the graticule display, where each point contains a sample hit count. The array is transferred column by column, starting with the lower left corner of the graticule.

The time for any column of data points can be calculated as:

where,

  • Xincrement is the time spacing between database columns and is returned with the :WAVeform:EYE:XINCrement? query.
  • Xindex is the column count index, starting at zero and ending at 750, the value returned by the :WAVeform:EYE:COLumns? query.
  • Xorigin is the time position of the first column and is returned using the :WAVeform:EYE:XORigin? query.

The voltage for any data point at a given row (that contains a hit count) is determined by using the following equation:

where,

  • Yincrement is the amplitude spacing between database rows and is returned with the :WAVeform:EYE:YINCrement? query.
  • Yindex is the row count index, starting at zero and ending at 521, the value returned by the :WAVeform:EYE:ROWS? query.
  • Yorigin is a voltage value of the top row and is returned using the :WAVeform:EYE:YORigin? query.

To transfer the data in integer values, use the :WAVeform:EYE:INTeger:DATa? query.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:{EYE | CGRade}:COLumns?

Query Syntax

:WAVeform:EYE:COLumns?

Description

Returns the number of columns in the color grade/gray scale data array, which is always 751. Use the :WAVeform:EYE:ASCii:DATa? or :WAVeform:EYE:INTeger:DATa? queries to actually transfer the array. The data is transferred as a two dimensional array consisting of 521 rows by 751 columns for a total number of 391,271 points. This array corresponds to the graticule display, where each point is a sample hit count. The array is transferred column by column, starting with the lower left corner of the graticule.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:{EYE | CGRade}:INTeger:DATa?

Query Syntax

:WAVeform:EYE:INTeger:DATa?

Example Python Script

Click here to learn about an example script that returns the eye data and displays it in a matplotlib graph.

Description

This query returns eye diagram data as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes. The first nine bytes are the data header and are identical for all eye diagrams: #71565084. The nine bytes start with a hash symbol (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 1,565,084 bytes of data, the syntax would be:

#71565084 <1,565,084 bytes of data> <terminator>

The leftmost digit (7 in this case) represents the number of digits used to express the number of data bytes transmitted (1,565,084 bytes).

The color grade/gray scale database values are returned in 32-bit integer format. Color grade/gray scale data is transferred as a two dimensional array consisting of 521 rows by 751 columns for a total number of 391,271 points (1,565,084 bytes). This array corresponds to the graticule display, where each point contains a sample hit count. The array is transferred column by column, starting with the lower left corner of the graticule.

The time for any column of data points can be calculated as:

where,

  • Xincrement is the time spacing between database columns and is returned with the :WAVeform:EYE:XINCrement? query.
  • Xindex is the column count index, starting at zero and ending at 750, the value returned by the :WAVeform:EYE:COLumns? query.
  • Xorigin is the time position of the first column and is returned using the :WAVeform:EYE:XORigin? query.

The voltage for any data point at a given row (that contains a hit count) is determined by using the following equation:

where,

  • Yincrement is the amplitude spacing between database rows and is returned with the :WAVeform:EYE:YINCrement? query.
  • Yindex is the row count index, starting at zero and ending at 521, the value returned by the :WAVeform:EYE:ROWS? query.
  • Yorigin is a voltage value of the top row and is returned using the :WAVeform:EYE:YORigin? query.

To transfer the data in ASCII values, use the :WAVeform:EYE:ASCii:DATa? query.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:{EYE | CGRade}:POINts?

Query Syntax

:WAVeform:EYE:POINts?

Description

Returns the number of points in the color grade/gray scale data array, which is always 391,271. Use the :WAVeform:EYE:ASCii:DATa? or :WAVeform:EYE:INTeger:DATa? queries to actually transfer the array. The data is transferred as a two dimensional array consisting of 521 rows by 751 columns for a total number of 391,271 points. This array corresponds to the graticule display, where each point is a sample hit count. The array is transferred column by column, starting with the lower left corner of the graticule.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:{EYE | CGRade}:ROWS?

Query Syntax

:WAVeform:EYE:ROWS?

Description

Returns the number of rows in the color grade/gray scale data array, which is always 521. Use the :WAVeform:EYE:ASCii:DATa? or :WAVeform:EYE:INTeger:DATa? queries to actually transfer the array. The data is transferred as a two dimensional array consisting of 521 rows by 751 columns for a total number of 391,271 points. This array corresponds to the graticule display, where each point is a sample hit count. The array is transferred column by column, starting with the lower left corner of the graticule.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:{EYE | CGRade}:STATus?

Query Syntax

:WAVeform:EYE:STATus?

Description

Queries the status of the color-grade gray-scale waveform data and returns the strings shown in the following table. Use the :REASon child query to return a string that indicates why the data is invalid or questionable.

STATus? Query Response
Response | Description
CORR | The waveform data is correct.
INV | The waveform data is invalid. Check to see if eye diagram data is displayed on the screen.
QUES | The waveform data is questionable. Confirm that the eye diagram data is not clipped high, clipped low, or has holes.

Query the data using one of the following two commands:

  • :EYE:ASCii:DATa?
  • :EYE:INTeger:DAta?

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:{EYE | CGRade}:STATus:REASon?

Query Syntax

:WAVeform:EYE:STATus:REASon?

Description

Queries a string that explains why the :STATus parent command indicates invalid or questionable waveform data. The following strings may be returned by this query:

""
A null string indicates that the data is correct.
"Clipped Hi"
The amplitude of the waveform is too large and the data is clipped off the top of the screen.
"Clipped Low"
The amplitude of the waveform is too large and the data is clipped off the bottom of the screen.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:{EYE | CGRade}:XINCrement?

Query Syntax

:WAVeform:EYE:XINCrement?

Description

Queries the difference in time between two adjacent horizontal points (adjacent data columns) in the eye diagram. To query the difference in amplitude between adjacent vertical points (adjacent data rows) in the eye diagram, use the :WAVeform:EYE:YINCrement? query.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:{EYE | CGRade}:XORigin?

Query Syntax

:WAVeform:EYE:XORigin?

Description

Queries the time value at the x-axis origin. The origin for both the y and x axis is located at the lower-left corner of the display graticule. To query the amplitude value at the y-axis origin, use the :WAVeform:EYE:YORigin? query.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:{EYE | CGRade}:YINCrement?

Query Syntax

:WAVeform:EYE:YINCrement?

Description

Queries the difference in amplitude between two adjacent vertical points (adjacent data rows) in the eye diagram. To query the difference in time between adjacent points (adjacent data columns) in the eye diagram, use the :WAVeform:EYE:XINCrement? query.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:{EYE | CGRade}:YORigin?

Query Syntax

:WAVeform:EYE:YORigin?

Description

Queries the amplitude value at the y-axis origin. The origin for both the y and x axis is located at the lower-left corner of the display graticule. To query the time value at the x-axis origin, use the :WAVeform:EYE:XORigin? query.

Note

Requires Eye/Mask Mode (:SYSTem:MODE).


:WAVeform:PATTern:BITS?

Query Syntax

:WAVeform:PATTern:BITS?

Description

For pattern waveforms, queries the pattern length in bits. This is the same value as queried or set using the :TRIGger:PLENgth command. Pattern waveform data must be returned using the XYFormat queries.

Note

In Eye/Mask Mode (:SYSTem:MODE), requires pattern lock turned on (:TRIGger:PLOCk).

Note

In Oscilloscope Mode (:SYSTem:MODE), requires pattern lock turned on (:TRIGger:PLOCk) and acquire entire pattern selected (:ACQuire:EPATtern). The waveform must be single valued. Single-valued waveforms represent a signal in which every horizontal acquisition point has associated with it one and only one amplitude value. In contrast, an eye diagram is displayed by measuring and displaying multiple amplitude values for each horizontal acquisition point.


:WAVeform:PATTern:BRATe?

Query Syntax

:WAVeform:PATTern:BRATe?

Description

For pattern waveforms, queries the bit rate of the source waveform. This is the same value as queried or set using the :TRIGger:BRATe command. Pattern waveform data must be returned using the XYFormat queries.

Note

In Eye/Mask Mode (:SYSTem:MODE), requires pattern lock turned on (:TRIGger:PLOCk).

Note

In Oscilloscope Mode (:SYSTem:MODE), requires pattern lock turned on (:TRIGger:PLOCk) and acquire entire pattern selected (:ACQuire:EPATtern). The waveform must be single valued. Single-valued waveforms represent a signal in which every horizontal acquisition point has associated with it one and only one amplitude value. In contrast, an eye diagram is displayed by measuring and displaying multiple amplitude values for each horizontal acquisition point.


:WAVeform:PATTern:COMPlete?

Query Syntax

:WAVeform:PATTern:COMPlete?

Description

For pattern waveforms, queries the state of the trigger pattern lock. Zero (0) is returned if a pattern trigger is not established or if FlexDCA is not in Eye/Mask mode. Otherwise, returns one (1).

Note

In Eye/Mask Mode (:SYSTem:MODE), requires pattern lock turned on (:TRIGger:PLOCk).

Note

In Oscilloscope Mode (:SYSTem:MODE), requires pattern lock turned on (:TRIGger:PLOCk) and acquire entire pattern selected (:ACQuire:EPATtern). The waveform must be single valued. Single-valued waveforms represent a signal in which every horizontal acquisition point has associated with it one and only one amplitude value. In contrast, an eye diagram is displayed by measuring and displaying multiple amplitude values for each horizontal acquisition point.


:WAVeform:PATTern:PPBit?

Query Syntax

:WAVeform:PATTern:PPBit?

Description

For pattern waveforms, queries the points-per-bit acquired for the source waveform. This is the same value as queried or set using the :ACQuire:SPBit command. Pattern waveform data must be returned using the XYFormat queries.

Note

In Eye/Mask Mode (:SYSTem:MODE), requires pattern lock turned on (:TRIGger:PLOCk).

Note

In Oscilloscope Mode (:SYSTem:MODE), requires pattern lock turned on (:TRIGger:PLOCk) and acquire entire pattern selected (:ACQuire:EPATtern). The waveform must be single valued. Single-valued waveforms represent a signal in which every horizontal acquisition point has associated with it one and only one amplitude value. In contrast, an eye diagram is displayed by measuring and displaying multiple amplitude values for each horizontal acquisition point.


:WAVeform:SOURce

Command Syntax

:WAVeform:SOURce  {CHANnel{N} | DIFF{1:4} | CGMemory{1:8} | FUNCtion{1:16} | WMEMory{1:8} | FIPHase0 | FQUadrature0 }

{N} identifies a specific channel and must be selected from {1:8}{A|B|C|D}. For example, 3C.

Query Syntax

:WAVeform:SOURce?

Description

Selects the source waveform from which to return the waveform data points. Two additional arguments are available that specify non-standard waveforms: FIPHase0 and FQUadrature0. These arguments are available when one of the following precision timebases is used:

  • 86100D option PTB
  • 86108B module (option PTB)
  • 86107A module

Use FIPHase0 to select the In Phase Waveform that is shown on the Precision Timebase tab of the Setup dialog box. Use FQUadrature0 to select the Quadrature Waveform.

Use the queries shown in the following table to actually return the data. These queries return data in different formats requiring scaling of the data.

Waveform Queries
Data Format | Query
64-bit floating point Y values | :WAVeform:XYFORmat:DOUBle:YDATa?
64-bit floating point X values | :WAVeform:XYFORmat:DOUBle:XDATa?
32-bit floating point Y values | :WAVeform:XYFORmat:FLOat:YDATa?
32-bit floating point X values | :WAVeform:XYFORmat:FLOat:XDATa?
64-bit floating point Y values | :WAVeform:YFORmat:DOUBle:YDATa?
32-bit floating point Y values | :WAVeform:YFORmat:FLOat:YDATa?
16-bit integer Y values | :WAVeform:YFORmat:WORD:YDATa?


:WAVeform:STATus?

Query Syntax

:WAVeform:STATus?

Description

Queries the status of the waveform data and returns the strings shown in the following table. Use the :REASon child query to return a string that indicates why the data is invalid or questionable. For example, "INV" is returned when the TDR Peeling signal-processing function is used and the TDR reference plane is positioned off screen.

STATus? Query Response
Response | Description
CORR | The waveform data is correct.
INV | The waveform data is invalid.
QUES | The waveform data is questionable.

Query the data using one of the following commands:

  • :WAVeform:YFORmat:ASCii:YDATa?
  • :WAVeform:YFORmat:DOUBle:YDATa?
  • :WAVeform:YFORmat:FLOat:YDATa?
  • :WAVeform:YFORmat:WORD:YDATa?
  • :WAVeform:XYFORmat:ASCii:YDATa?
  • :WAVeform:XYFORmat:ASCii:XDATa?
  • :WAVeform:XYFORmat:DOUBle:YDATa?
  • :WAVeform:XYFORmat:DOUBle:XDATa?
  • :WAVeform:XYFORmat:FLOat:YDATa?
  • :WAVeform:XYFORmat:FLOat:XDATa?

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:STATus:REASon?

Query Syntax

:WAVeform:STATus:REASon?

Description

Queries a string that explains why the :STATus parent command indicates invalid or questionable waveform data.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:XYFormat:ASCii:XDATa?

Query Syntax

:WAVeform:XYFormat:ASCii:XDATa?

Query Response

The data is returned as comma-separated values.

Description

Returns the x-axis data in ASCII for XY-formatted data. The data is sent in linear format starting from the graticule's left side and progressing to the right side. Use the :WAVeform:XYFormat:ASCii:YDATa? query to return the y-axis data. Use the :WAVeform:XYFormat:POINts? query to return the number of points contained in the array. The XY-format data format is designed for waveforms that have been sampled using unequal time separations between adjacent data points. Unequal time separations occurs with pattern waveforms or when using a precision timebase.


:WAVeform:XYFormat:ASCii:YDATa?

Query Syntax

:WAVeform:XYFormat:ASCii:YDATa?

Query Response

The data is returned as comma-separated values.

Description

Returns the y-axis data in ASCII for XY-formatted data. The data is sent in linear format starting from the graticule's left side and progressing to the right side. Use the :WAVeform:XYFormat:ASCii:XDATa? query to return the x-axis data. Use the :WAVeform:XYFormat:POINts? query to return the number of points contained in the array. The XY-format data format is designed for waveforms that have been sampled using unequal time separations between adjacent data points. Unequal time separations occurs with pattern waveforms or when using a precision timebase.


:WAVeform:XYFormat:DOUBle:XDATa?

Query Syntax

:WAVeform:XYFormat:DOUBle:XDATa?

Description

Returns the x-axis data in 64-bit double floating-point values for XY-formatted data. The data is sent point-by-point starting from the graticule's left side and progressing to the right side. Use the :WAVeform:XYFormat:ASCii:YDATa? query to return the y-axis data. Use the :WAVeform:XYFormat:POINts? query to return the number of points contained in the array. The XY-format data format is designed for waveforms that have been sampled using unequal time separations between adjacent data points. Unequal time separations occurs with pattern waveforms or when using a precision timebase.

Definite-Length Binary Block Data

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.


:WAVeform:XYFormat:DOUBle:YDATa?

Query Syntax

:WAVeform:XYFormat:DOUBle:YDATa?

Description

Returns the y-axis data in 64-bit double floating-point values for XY-formatted data. The data is sent point-by-point starting from the graticule's left side and progressing to the right side. Use the :WAVeform:XYFormat:DOUBle:XDATa? query to return the y-axis data. Use the :WAVeform:XYFormat:POINts? query to return the number of points contained in the array. The XY-format data format is designed for waveforms that have been sampled using unequal time separations between adjacent data points. Unequal time separations occurs with pattern waveforms or when using a precision timebase.

Definite-Length Binary Block Data

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.


:WAVeform:XYFormat:FLOat:XDATa?

Query Syntax

:WAVeform:XYFormat:FLOat:XDATa?

Example Python Script

Click here to learn about an example script that returns the x and y pattern waveform data and displays it in a matplotlib graph.

Description

Returns the x-axis data in 32-bit floating-point values for XY-formatted data. The data is sent point-by-point starting from the graticule's left side and progressing to the right side. Use the :WAVeform:XYFormat:ASCii:YDATa? query to return the y-axis data. Use the :WAVeform:XYFormat:POINts? query to return the number of points contained in the array. The XY-format data format is designed for waveforms that have been sampled using unequal time separations between adjacent data points. Unequal time separations occurs with pattern waveforms or when using a precision timebase.

Definite-Length Binary Block Data

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.


:WAVeform:XYFormat:FLOat:YDATa?

Query Syntax

:WAVeform:XYFormat:FLOat:YDATa?

Example Python Script

Click here to learn about an example script that returns the x and y pattern waveform data and displays it in a matplotlib graph.

Description

Returns the x-axis data in 32-bit floating-point values for XY-formatted data. The data is sent point-by-point starting from the graticule's left side and progressing to the right side. Use the :WAVeform:XYFormat:FLOat:XDATa? query to return the y-axis data. Use the :WAVeform:XYFormat:POINts? query to return the number of points contained in the array. The XY-format data format is designed for waveforms that have been sampled using unequal time separations between adjacent data points. Unequal time separations occurs with pattern waveforms or when using a precision timebase.

Definite-Length Binary Block Data

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.


:WAVeform:XYFormat:POINts?

Query Syntax

:WAVeform:XYFormat:POINts?

Description

Queries the record length (number of points) in the waveform's XYFormat data. Use :WAVeform:SOURce to select the source waveform. Use the :CLIPped:HIGH?, :CLIPped:LOW?, and :HOLes? child queries to return a list of points that have clipped or missing data (holes). On a waveform acquisition, data can be missing in one of the following situations:

  • When a precision timebase is used, occasionally data may be missing on a few points.
  • When an entire waveform pattern is being acquired and the acquisition has not yet completed.


:WAVeform:XYFormat:POINts:CLIPped?

Query Syntax

:WAVeform:XYFormat:POINts:CLIPped?

Description

Queries the number of points in the waveform's XYFORmat data that are clipped, which includes points that are clipped high or clipped low. The amplitude of a clipped-high data point is too high to be displayed on the screen. The amplitude of a clipped-low data point is too low to be displayed on the screen. Clipped-high and clipped-low data points have the value NaN (9.91E+37). Use the :SYSTem:AUToscale command to properly scale the waveform to the display. Use :WAVeform:SOURce to select the source waveform. Use the :HIGH and :LOW child commands to determine how number of points that are either clipped high or low.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:XYFormat:POINts:CLIPped:HIGH?

Query Syntax

:WAVeform:XYFormat:POINts:CLIPped:HIGH?

Description

Queries the number of points in the waveform's XYFORmat data that are clipped high. The amplitude of a clipped-high data point is too high to be displayed on the screen. Clipped-high data points have the value NaN (9.91E+37). Use the :SYSTem:AUToscale command to properly scale the waveform to the display. Use :WAVeform:SOURce to select the source waveform.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:XYFormat:POINts:CLIPped:LOW?

Query Syntax

:WAVeform:XYFormat:POINts:CLIPped:LOW?

Description

Queries the number of points in the waveform's XYFORmat data that are clipped low. The amplitude of a clipped-low data point is too low to be displayed on the screen. Clipped-low data points have the value NaN (9.91E+37). Use the :SYSTem:AUToscale command to properly scale the waveform to the display. Use :WAVeform:SOURce to select the source waveform.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:XYFormat:POINts:HOLes?

Query Syntax

:WAVeform:XYFormat:POINts:HOLes?

Description

Queries the number of points in the waveform's XYFORmat data that have no sample data. Data points that contain a hole have the value NaN (9.91E+37). Use the :SYSTem:AUToscale command to properly scale the waveform to the display. Use :WAVeform:SOURce to select the source waveform.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:YFORmat:ASCii:YDATa?

Query Syntax

:WAVeform:YFORmat:ASCii:YDATa?

Query Response

The data is returned as comma-separated values.

Description

Returns the y-axis data in ASCII for Y-formatted data. The returned amplitude values are in volts or Watts and do not require scaling. The data is sent in linear format starting from the graticule's left side and progressing to the right side. Use the :WAVeform:SOURce command to select data from a channel, differential channel, waveform memory, or a function.

The time at any data point can be calculated as:

where,

  • Xincrement is the time spacing between the data points and is returned with the :WAVeform:YFORmat:XINCrement? query.
  • Xindex is the data point count, starting at zero and ending at the number of points minus one. Use the :WAVeform:YFORmat:POINts? query to return the number of points.
  • Xorigin is the time value of the first data point and is returned using the :WAVeform:YFORmat:XORigin? query.

Note

Pattern waveforms or waveforms captured when using a precision timebase have unequal time separations between the samples. In this situation, return the data in XY-format using the :WAVeform:XYFormat:ASCii:XDATa? and :WAVeform:XYFormat: ASCii :YDATa? queries.


:WAVeform:YFORmat:DOUBle:YDATa?

Query Syntax

:WAVeform:YFORmat:DOUBle:YDATa?

Description

Returns the amplitude (Y-axis) data points as 64-bit floating-point values. The data is sent point-by-point starting from the graticule's left side and progressing to the right side. The returned amplitude values are in volts or Watts and do not require scaling. The data returned from this query has high resolution but can require long tranfer times for long patterns. If fast transfer time is more important than measurement resolution, use the :WAVeform:YFORmat:WORD:YDATa? query instead. Use the :WAVeform:SOURce command to select data from a channel, differential channel, waveform memory, or a function.

Y-Format Commands
Query | Description
:WAVeform:YFORmat:XINCrement? | The time spacing between the data points and is returned with the query.
:WAVeform:YFORmat:POINts? | Returns the number of points in the data . The value Xindex in the following equation, is the data point count, starting at zero and ending at the number of points minus one.
:WAVeform:YFORmat:XORigin? | The time value of the first data point.
The time at any data point:
Xtime = (Xdata)(Xincrement) + (Xorigin)

Note

Pattern waveforms or waveforms captured when using a precision timebase have unequal time separations between the samples. In this situation, return the data in XY-format using the :WAVeform:XYFormat:DOUBle:XDATa? and :WAVeform:XYFormat: DOUBle :YDATa? queries.

Definite-Length Binary Block Data

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.


:WAVeform:YFORmat:FLOat:YDATa?

Query Syntax

:WAVeform:YFORmat:FLOat:YDATa?

Description

Returns the amplitude (Y-axis) data points as 32-bit floating-point values. The data is sent point-by-point starting from the graticule's left side and progressing to the right side. The returned amplitude values are in volts or Watts and do not require scaling. The data returned from this query has high resolution but can require long tranfer times for long patterns. If fast transfer time is more important than measurement resolution, use the :WAVeform:YFORmat:WORD:YDATa? query instead. Use the :WAVeform:SOURce? query to select data from a channel, differential channel, waveform memory, or a function.

Y-Format Commands
Query | Description
:WAVeform:YFORmat:XINCrement? | The time spacing between the data points and is returned with the query.
:WAVeform:YFORmat:POINts? | Returns the number of points in the data . The value Xindex in the following equation, is the data point count, starting at zero and ending at the number of points minus one.
:WAVeform:YFORmat:XORigin? | The time value of the first data point.
The time at any data point:
Xtime = (Xdata)(Xincrement) + (Xorigin)

Note

Pattern waveforms or waveforms captured when using a precision timebase have unequal time separations between the samples. In this situation, return the data in XY-format using the :WAVeform:XYFormat:FLOat:XDATa? and :WAVeform:XYFormat: FLOat :YDATa? queries.

Definite-Length Binary Block Data

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.


:WAVeform:YFORmat:POINts?

Query Syntax

:WAVeform:YFORmat:POINts?

Description

Queries the record length (number of points) in the waveform's YFORmat data. Use :WAVeform:SOURce to select the source waveform. Use the :CLIPped:HIGH?, :CLIPped:LOW?, and :HOLes? child queries to return a list of points that have clipped or missing data (holes). On a waveform acquisition, data can be missing in one of the following situations:

  • When a precision timebase is used, occasionally data may be missing on a few points.
  • When an entire waveform pattern is being acquired and the acquisition has not yet completed.


:WAVeform:YFORmat:POINts:CLIPped?

Query Syntax

:WAVeform:YFORmat:POINts:CLIPped?

Description

Queries the number of points in the waveform's YFORmat data that are clipped, which includes points that are clipped high or clipped low. The amplitude of a clipped-high data point is too high to be displayed on the screen. The amplitude of a clipped-low data point is too low to be displayed on the screen. Clipped-high and clipped-low data points have the value NaN (9.91E+37). Use the :HIGH and :LOW child commands to determine how number of points that are either clipped high or low. Use the :SYSTem:AUToscale command to properly scale the waveform to the display. Use :WAVeform:SOURce to select the source waveform.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:YFORmat:POINts:CLIPped:HIGH?

Query Syntax

:WAVeform:YFORmat:POINts:CLIPped:HIGH?

Description

Queries the number of points in the waveform's YFORmat data that are clipped high. The amplitude of a clipped-high data point is too high to be displayed on the screen. If you are returning WORD formatted data, clipped-high data points have the value 32256, as specified by the :WAVeform:YFORmat:WORD:ENCoding:CHIGh? query. For all other formats, clipped-high data points have the value NaN (9.91E+37). Use the :SYSTem:AUToscale command to properly scale the waveform to the display. Use :WAVeform:SOURce to select the source waveform.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:YFORmat:POINts:CLIPped:LOW?

Query Syntax

:WAVeform:YFORmat:POINts:CLIPped:LOW?

Description

Queries the number of points in the waveform's YFORmat data that are clipped low. The amplitude of a clipped-low data point is too low to be displayed on the screen. If you are returning WORD formatted data, clipped-low data points have the value 31744, as specified by the :WAVeform:YFORmat:WORD:ENCoding:CLOW? query. For all other formats, clipped-low data points have the value NaN (9.91E+37). Use the :SYSTem:AUToscale command to properly scale the waveform to the display. Use :WAVeform:SOURce to select the source waveform.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:YFORmat:POINts:HOLes?

Query Syntax

:WAVeform:YFORmat:POINts:HOLes?

Description

Queries the number of points in the waveform's YFORmat data that have no sample data. If you are returning WORD formatted data, "hole" data points have the value 31232, as specified by the :WAVeform:YFORmat:WORD:ENCoding:HOLe? query. For all other formats, "hole" data points have the value NaN (9.91E+37). Use the :SYSTem:AUToscale command to properly scale the waveform to the display. Use :WAVeform:SOURce to select the source waveform.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WAVeform:YFORmat:WORD:ENCoding:CHIGh?

Query Syntax

:WAVeform:YFORmat:WORD:ENCoding:CHIGh?

Description

Returns the data value 32,256 which is used to represent a waveform data point that is clipped high. This indicates a data point's amplitude that is too high to be displayed on the screen. Use the :SYSTem:AUToscale command to properly scale the waveform to the display. To return the number of data points that are clipped high, use the :WAVeform:YFORmat:POINts:CLIPped:HIGH? query. This condition applies to Y-format data (:WAVeform:YFORmat:WORD:YDATa).

FlexDCA Revision

For FlexDCA revisions below A.03.00, the longform of this query was CHIGT?. As of A.03.00, the query was changed to CHIGH?.


:WAVeform:YFORmat:WORD:ENCoding:CLOW?

Query Syntax

:WAVeform:YFORmat:WORD:ENCoding:CLOW?

Description

Returns the data value 31,744 which is used to represent a waveform data point that is clipped low. This indicates a data point's amplitude that is too low to be displayed on the screen. Use the :SYSTem:AUToscale command to properly scale the waveform to the display. To return the number of data points that are clipped low, use the :WAVeform:YFORmat:POINts:CLIPped:LOW? query. This condition applies to Y-format data (:WAVeform:YFORmat:WORD:YDATa).


:WAVeform:YFORmat:WORD:ENCoding:HOLe?

Query Syntax

:WAVeform:YFORmat:WORD:ENCoding:HOLe?

Description

Returns the data value 31,232 which is used to represent a waveform data point that has no sample data. To return the number of data points that contain holes, use the :WAVeform:YFORmat:POINts:HOLes? query. This condition applies to Y-format data (:WAVeform:YFORmat:WORD:YDATa).


:WAVeform:YFORmat:WORD:ENCoding:YINCrement?

Query Syntax

:WAVeform:YFORmat:WORD:ENCoding:YINCrement?

Description

Returns the amplitude increment value used to scale the data points of Y-formatted 16-bit integer data(:WAVeform:YFORmat:WORD:YDATa?). The data values are raw analog-to-digital converter counts and must be converted to voltage units using the following waveform information:

Use the :WAVeform:YFORmat:WORD:ENCoding:YORigin? query to return the Y origin value.


:WAVeform:YFORmat:WORD:ENCoding:YORigin?

Query Syntax

:WAVeform:YFORmat:WORD:ENCoding:YORigin?

Description

Returns the amplitude origin value used to scale the data points of Y-formatted 16-bit integer data(:WAVeform:YFORmat:WORD:YDATa?). The data values are raw analog-to-digital converter counts and must be converted to voltage units using the following waveform information:

Use the :WAVeform:YFORmat:WORD:ENCoding:YINCrement? query to return the Y origin value.


:WAVeform:YFORmat:WORD:YDATa?

Query Syntax

:WAVeform:YFORmat:WORD:YDATa?

Description

Returns the amplitude (Y-axis) data points as 16-bit integers (word format). Returning Y-axis data as 16-bit integers is useful for long patterns where the time required to return floating-point data would be too long and the precision is not required. If measurement resolution is more important than fast transfer time, use the :WAVeform:YFORmat:FLOat:YDATa? query instead.

Use the :WAVeform:SOURce command to select data from a channel, differential channel, waveform memory, or a function.

Y-Format Commands
Query | Description
:WAVeform:YFORmat:WORD:YDATa? | 16-bit integer raw analog-to-digital converter counts
:WAVeform:YFORmat:XINCrement? | The time spacing between the data points and is returned with the query.
:WAVeform:YFORmat:POINts? | Returns the number of points in the data . The value Xindex in the following equation, is the data point count, starting at zero and ending at the number of points minus one.
:WAVeform:YFORmat:XORigin? | The time value of the first data point.
:WAVeform:YFORmat:WORD:ENCoding:YINCrement? | For WORD formatted data, returns the the counts-to-volts conversion factor.
:WAVeform:YFORmat:WORD:ENCoding:YORigin? | For WORD formatted data, returns the voltage offset.
:WAVeform:YFORmat:POINts:CLIPped:HIGH? | Returns the number of data points that are clipped high.
:WAVeform:YFORmat:POINts:CLIPped:LOW? | Returns the number of data points that are clipped low.
:WAVeform:YFORmat:POINts:HOLes? | Returns the number of data points that have void data.
:WAVeform:YFORmat:WORD:ENCoding:CHIGh? | For WORD (integer) formatted data, returns the value that indicates a clipped high data point: 32,256.
:WAVeform:YFORmat:WORD:ENCoding:CLOW? | For WORD (integer) formatted data, returns the value that indicates a clipped low data point: 31,744.
:WAVeform:YFORmat:WORD:ENCoding:HOLe? | For WORD (integer) formatted data, returns the value that indicates a void data point: 31,232.
The time at any data point:
Xtime = (Xdata)(Xincrement) + (Xorigin)
To convert raw analog-to-digital converter data:
Yamplitude = (Ydata)(conversion factor) + Yorigin

Definite-Length Binary Block Data

The data is returned as definite-length binary block data, which allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of digits in the decimal integer. After the non-zero digit is the decimal integer that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 4000 bytes of data, the syntax would be:

#44000 <4000 bytes of data> <terminator>

The leftmost "4" represents the number of digits in the number of bytes, and "4000" represents the number of bytes to be transmitted.

Endiannes of Returned Data

To specify the byte order (endiannes) of the binary data, use the :SYSTem:BORDer command. The factory preset setting is little-endian in which the LSB (Least Significant Byte) is sent first. Because an incorrect endianess setting can be frustrating to troubleshoot, if you share your 86100D with other people, it is a good idea to explicitly set the endianess before transferring binary data and to restore FlexDCA's endianess setting upon completion of of your program. Use the following sequence of commands:

endian_setting = :SYSTem:BORDer?
:SYSTem:BORDer BENDian
…
…
:WAVeform:XYFormat:FLOat:YDATa?
…
…
:SYSTem:BORDer endian_setting

VXI Plug-and-Play Drivers

Be aware that VXI plug-and-play drivers can change the endianess setting. As a result always explicitly set the endianess in your program before transferring any binary data.


:WAVeform:YFORmat:XINCrement?

Query Syntax

:WAVeform:YFORmat:XINCrement?

Description

Returns the time increment value used to determine the time of each data points of Y-formatted data. Y-formatted data is returned using any of the following queries:

  • :WAVeform:YFORmat:DOUBle:YDATa? (64-bit floating point values).
  • :WAVeform:YFORmat:FLOat:YDATa?(32-bit floating point values).
  • :WAVeform:YFORmat:WORD:YDATa?(16-bit integer values).
The time at any data point:
Xtime = (Xdata)(Xincrement) + (Xorigin)

where the data point index starts at zero: 0, 1, 2, …, n−1. The first data point for the time must be zero (0) so that the time of the first data point equals the Xorigin. Query the Xorigin using :WAVeform:YFORmat:XORigin?


:WAVeform:YFORmat:XORigin?

Query Syntax

:WAVeform:YFORmat:XORigin?

Description

Returns the time origin value used to determine the time of each data points of Y-formatted data. Y-formatted data is returned using any of the following queries:

  • :WAVeform:YFORmat:DOUBle:YDATa? (64-bit floating point values).
  • :WAVeform:YFORmat:FLOat:YDATa?(32-bit floating point values).
  • :WAVeform:YFORmat:WORD:YDATa?(16-bit integer values).
The time at any data point:
Xtime = (Xdata)(Xincrement) + (Xorigin)

where the data point index starts at zero: 0, 1, 2, …, n−1. The first data point for the time must be zero (0) so that the time of the first data point equals the Xorigin. Query the Xincrement using :WAVeform:YFORmat:XINCrement?


Introduction to :WMEMory Subsystem

SINGLE-VALUED WAVEFORMS

Single-valued waveforms represent a signal in which every horizontal acquisition point has associated with it one and only one amplitude value. In contrast, an eye diagram is displayed by measuring and displaying multiple amplitude values for each horizontal acquisition point. Single-valued waveforms are captured and viewed in Oscilloscope Mode.

In Oscilloscope Mode, the Waveform Memory subsystem commands allow you to store and display single-valued waveforms using one of eight waveform memories.

  • Programming Home

General Commands

  • BRATe
  • CLEar
  • COLor
  • CWINdow
  • DISPlay
  • LOAD
  • LOAD:SOURce
  • STATus?
  • SIGNal:TYPE
  • TTIMebase
  • UNAMe
  • WINTerp
  • WRAPping

Waveform Definition Commands

  • UDEFined:BASe
  • UDEFined:DISTal
  • UDEFined:MESial
  • UDEFined:PROXimal
  • UDEFined:TOP

Scaling and Units Commands

  • XLEFt?
  • XPOSition
  • XREFerence?
  • XRIGht?
  • XSCale
  • XUNits?
  • YBOTtom?
  • YOFFset
  • YSCale
  • YTOP?
  • YUNits?


:WMEMory{1:8}:BRATe

Command Syntax

:WMEMory{1:8}:BRATe  bit_rate

<bit_rate> is a double.

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:BRATe?

Description

Enters the bit rate used, which automatically sets the bits range :TIMebase:BRANge and bit delay :TIMebase:BPOSition. To change the timebase scale to seconds instead of bits, use :TIMebase:UNITs.

Note

In Jitter Mode, bit rate, bits displayed, and bit delay controls are disabled. Do not use this command in Jitter Mode. It generates an error.

Example Command Sequence

:TIMebase:UNITs BIT
:TIMebase:BRATe 9.953E+9

  • Timebase Setup Dialog box


:WMEMory{1:8}:CLEar

Command Syntax

:WMEMory{1:8}:CLEar

{1:8} identifies one of eight possible waveform memories.

Description

Erases the contents of the indicated waveform memory. There is no query form of this command.


:WMEMory{1:8}:COLor

Command Syntax

:WMEMory{1:8}:COLor  {TCOLor1 | TCOLor2 | … | TCOLor12}

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:COLor?

Description

Selects the color used to identify a channel on the screen. Waveform color assignments are saved as part of an instrument Setup file (:DISK:SETup:SAVe). Waveform colors are reset to their default values by a default setup (:SYSTem:DEFault) or factory preset (:SYSTem:FACTory).

Channel Colors Versus Command Arguments
Color | Argument | Color | Argument | Color | Argument | Color | Argument
 | TCOLor1 |  | TCOLor2 |  | TCOLor3 |  | TCOLor4
 | TCOLor5 |  | TCOLor6 |  | TCOLor7 |  | TCOLor8
 | TCOLor9 |  | TCOLor10 |  | TCOLor11 |  | TCOLor12
 | TCOLor13 |  | TCOLor14 |  | TCOLor15 |  | TCOLor16

To change the color of waveforms other than channels, use the following additional :COLor commands that are located in other subsystems:

Additional :COLor Commands
Command | Description
:CHANnel:COLor | Sets color of channel waveforms.
:CMODe:COLor | Sets color of common-mode waveforms.
:DIFF:COLor | Sets color of differential waveforms.
:EMEMory:COLor | Sets color of eye memory waveforms
:FUNCtion:COLor | Sets color of math function output waveforms.
:TRACe:COLor | Sets color of T-domain parameter or S-parameter waveforms in TDR/TDT mode.

FlexDCA Revision

Requires FlexDCA revision revision A.04.50 for colors 13 through 16.


:WMEMory{1:8}:CWINdow

Command Syntax

:WMEMory{1:8}:CWINdow TIMe{1}

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:CWINdow?

Description

The :WMEMory{1:8}:CWINdow command allows you to assign a waveform memory waveform to a Waveform content window.

Note

As of this release, there is only one Waveform content window, so you will not need to use this command.

In future revisions, the :WMEMory{1:8}:CWINdow command will select a content window in which to display a waveform memory waveform. In FlexDCA, four different types of content windows exist: Waveform (TIMe1), Group Delay (GDELay), Magnitude (MAGNitude), and Phase (PHASe). Each type varies by its type of X- and Y-axis units. Any given waveform is only compatible with one of these four content window types. Therefore, FlexDCA automatically assigns waveforms to the proper type of content window, such as Waveform or Phase. Waveforms can not be assigned to a different type of content window. For example, a Waveform waveform can not be moved to or shown in a Magnitude content window.

Command Arguments and Content Windows
Argument | Displayed Waveform Content Window | Number of Available Windows |  | Scale Units
 |  | Programmatically | Via Front Panel
TIMe1 | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.


:WMEMory{1:8}:DISPlay

Command Syntax

:WMEMory{1:8}:DISPlay {ON | OFF | 1 | 0}

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:DISPlay?

Query Response

{1 | 0}

Description

Displays or hides the viewing of the selected waveform memory.


:WMEMory{1:8}:LOAD

Command Syntax

:WMEMory{1:8}:LOAD

{1:8} identifies one of eight waveform memories.

Description

Loads the selected waveform source into the indicated waveform-memory location. Use the :WMEMory:LOAD:SOURce command to select the source. Use the :WMEMory:DISPLay command to display the waveform-memory. To load a waveform file into waveform memory, use the :DISK:WAVeform:FNAMe and :DISK:WAVeform:RECall commands.

Example Command Sequence

:WMEMory2:LOAD:SOURce CHAN1A
:WMEMory2:LOAD
:WMEMory2:DISPLay ON


:WMEMory{1:8}:LOAD:SOURce

Command Syntax

:WMEMory{1:8}:LOAD:SOURce  {CHAN<N> | DIFF{1:4} | CGMemory{1:8} | FUNCtion{1:16}}

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:LOAD:SOURce?

Description

Selects the source waveform to load into waveform memory. Use the :WMEMory{1:8}LOAD command to actually load the selected source.

Example Command Sequence

:WMEMory2:LOAD:SOURce CHAN1A
:WMEMory2:LOAD


:WMEMory{1:8}:SIGNal:TYPE

Command Syntax

:WMEMory{1:8}:SIGNal:TYPE {UNSPecified | NRZ | PAM4}

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:SIGNal:TYPE?

Description

Specifiies the signal type that is stored in waveform memory. This allows the data to be correctly interpreted.

Example Command Sequence

:WMEMory3:SIGNal:TYPE NRZ

PAM-N License

The PAM4 argument is only available if options 9FP or 9TP PAM-N Analysis software license is installed.

FlexDCA Revision

Requires FlexDCA revision A.04.50 and above.


:WMEMory{1:8}:STATus?

Query Syntax

:WMEMory{1:8}:STATus?

{1:8} identifies one of eight waveform memories.

Query Response

{AVA | UNAV}

Description

Queries the availability of a waveform memory for use. Waveform memory becomes available (AVA) after data has been loaded into it using the :WMEMory:LOAD command. The waveform memory does not need to be displayed to be classed as available. Available Waveform memories are shown in the Signals Palette. A Waveform memory is unavailable (UNAV) if no data has been loaded into the memory.

Use the :WMEMory:DISPlay command query to determine if a waveform memory waveform is displayed.


:WMEMory{1:8}:TTIMebase

Command Syntax

:WMEMory{1:8}:TTIMebase {ON | OFF | 1 | 0}

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:TTIMebase?

Query Response

{1 | 0}

Description

Turns the track timebase function on and off. With track timebase on, the time scale and position of the displayed waveform memory is set to and tracks the time scale and position settings made in the :TIMebase subsystem (:TIMebase:SCALe and :TIMebase:POSition).


:WMEMory{1:8}:UDEFined:BASe

Command Syntax

:WMEMory{1:8}:UDEFined:BASe amplitude

<amplitude> is a double.

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:UDEFined:BASe?

Description

For the indicated waveform memory, sets the custom base-level. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :WMEMory{1:8}:UDEFined:TOP to set or query a custom top level.

Before this custom base level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:WMEMory2:UDEFined:BASe -125E-3
:WMEMory2:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:WMEMory{1:8}:UDEFined:DISTal

Command Syntax

:WMEMory{1:8}:UDEFined:DISTal amplitude

<amplitude> is a double.

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:UDEFined:DISTal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets the upper threshold-definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:DISTal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :WMEMory{1:8}:UDEFined:MESial command to enter a middle threshold level. Use the :WMEMory{1:8}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:WMEMory2:UDEFined:DISTal 125E-3
:WMEMory2:UDEFined:MESial 0E0
:WMEMory2:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:WMEMory{1:8}:UDEFined:MESial

Command Syntax

:WMEMory{1:8}:UDEFined:MESial amplitude

<amplitude> is a double.

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:UDEFined:MESial?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets the middle threshold definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:MESal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :WMEMory{1:8}:UDEFined:DISTal command to enter a upper threshold level. Use the :WMEMory{1:8}:UDEFined:PROXimal command to enter a lower threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:WMEMory4:UDEFined:DISTal 125E-3
:WMEMory4:UDEFined:MESial 0E0
:WMEMory4:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:WMEMory{1:8}:UDEFined:PROXimal

Command Syntax

:WMEMory{1:8}:UDEFined:PROXimal amplitude

<amplitude> is a double.

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:UDEFined:PROXimal?

Description

MEASUREMENTS AFFECTED

FlexDCA uses the waveform's lower, middle, and upper threshold levels during these measurements:

  • duty-cycle distortion
  • rise time
  • fall time

Sets the lower threshold definition level. This value is used when making measurements with custom threshold definitions that are based on absolute amplitude. When custom threshold definitions are based on percent, use the :MEASure:THReshold:PROXimal command.

Use the :MEASure:THReshold:METHod command to specify the use of custom threshold definitions. Use the :MEASure:THReshold:UNITs command to select levels base on absolute amplitude values.

Use the :WMEMory{1:8}:UDEFined:DISTal command to enter a upper threshold level. Use the :WMEMory{1:8}:UDEFined:MESial command to enter a middle threshold level.

Example Command Sequence

:MEASure:THReshold:METHod UDEFined
:MEASure:THReshold:UNITs UNITs
:MEASure:UTSRc CHANnel1
:WMEMory4:UDEFined:DISTal 125E-3
:WMEMory4:UDEFined:MESial 0E0
:WMEMory4:UDEFined:PROXimal -125E-3

  • Configure Measurements dialog box


:WMEMory{1:8}:UDEFined:TOP

Command Syntax

:WMEMory{1:8}:UDEFined:TOP amplitude

<amplitude> is a double.

{1:8} identifies one of eight possible waveform memories.

Query Syntax

:WMEMory{1:8}:UDEFined:TOP?

Description

For the indicated waveform memory, sets the custom top-level setting. The top and base levels are used to locate a waveform's lower, middle, and upper threshold levels during the following measurements: duty-cycle distortion, rise time and fall time. Specify the level in volts or Watts depending on the waveform type. Use :WMEMory{1:8}:UDEFined:BASe to set or query a custom base level.

Before this custom top level can be applied to measurements, use the :MEASure:TBASe:METHod command to select custom top-base definitions.

Example Command Sequence

:MEASure:TBASe:METHod UDEFined
:WMEMory2:UDEFined:BASe -125E-3
:WMEMory2:UDEFined:TOP 125E-3

  • Configure Measurements dialog box


:WMEMory{1:8}:UNAMe

:WMEMory:UNAMe

Command Syntax

:WMEMory{1:8}:UNAMe <string>

{1:8} identifies one of eight eye memories. For example, the memory 2 would be identified as :WMEMory2.

FlexDCA Revision

Requires FlexDCA revision A.03.00 and above.

Query Syntax

:WMEMory{1:8}:UNAMe?

Description

Assigns a custom user name to waveform memory. User names are helpful because they identify what a waveform represents rather than the oscilloscope's input channel. For example, you could assign user name "DUT Output" to the memory 2 waveform. User names can be 25 characters or less and are displayed on the screen and on screen captures. To remove a custom user name, re-create it using an empty string.

Example Command Sequence

:WMEMory4:UNAMe "DUT Output"


:WMEMory{1:8}:WINTerp

Command Syntax

:WMEMory{1:8}:WINTerp {NONE | LINear | SINC}

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:WINTerp?

Description

Specifies the type of interpolation applied between the points to make measurements when waveform wrapping is applied (:WMEMory:WRAPping). This command is available whenever color-grade or gray-scale persistence is turned on (:DISPlay:PERSistence). These types of persistence are always used in Eye/Mask mode.

LINear
Selects linear interpolation.
SINC
Selects Sin(x)/x interpolation.
NONE
Turns interpolation off.


:WMEMory{1:8}:WRAPping

Command Syntax

:WMEMory{1:8}:WRAPping {ON | OFF | 1 | 0}

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:WRAPping?

Query Response

{1 | 0}

Description

Displays an eye diagram from single-valued waveforms. This command is available whenever color-grade or gray-scale persistence is turned on (DISPlay:PERSistence). These types of persistence are always used in Eye/Mask mode. When wrapping is on, an eye diagram can be displayed to which you can apply waveform averaging (:ACQuire:SMOothing). Wrapping a waveform requires that the following conditions be true:

  • Color Grade or Gray Scale persistence is selected (:DISPlay:PERSistence),
  • Pattern lock is on (:TRIGger:PLOCk), and
  • The entire pattern is acquired (:ACQuire:EPATtern)

Use the :WMEMory:WINTerp command to specify the type of interpolation applied between the points to make measurements. Use the :TRIGger:BRATe command to set the data rate. When wrapping is turned off, a single-valued pattern waveform is displayed.

Note

This command only applies to the waveform memory. A separate wrap waveform command (:ACQuire:WRAPping) is available for acquired waveforms.

Wrap Waveform OFF

Wrap Waveform ON


:WMEMory{1:8}:XLEFt?

Query Syntax

:WMEMory{1:8}:XLEFt?

{1:8} identifies one of eight possible waveform memories.

Description

Queries the time value stored in waveform memory for the waveform's left edge. This is the value that existed when the source waveform was saved into memory or, if the data was loaded into memory from a waveform file (:WAVeform:SAVE), it is the value that existed when the file was created. It may or may not be the same as FlexDCA's current setting.


:WMEMory{1:8}:XPOSition

Command Syntax

:WMEMory:XPOSition <horizontal_position>

<horizontal_position> is a double.

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:XPOSition?

Description

Sets the horizontal time position which is stored in the waveform memory. It may or may not be the same as FlexDCA's current setting. The horizontal position is the time delay relative to the trigger event, which is referenced to the display's left edge or center (:WMEMory:XREFerence?). The horizontal reference and position of the original waveform was set with the :TIMebase:REFerence and :TIMebase:POSition commands.


:WMEMory{1:8}:XREFerence?

Query Syntax

:WMEMory{1:8}:XREFerence?

{1:8} identifies one of eight possible waveform memories.

Description

Queries the horizontal reference (LEFT or CENTer of the display) which is stored for the waveform in memory. The horizontal reference marks the trigger event and may or may not be the same as FlexDCA's current setting. The horizontal position is the time delay relative to the trigger event (:WMEMory:XPOSition?) relative to the trigger event. The horizontal reference and position of the original waveform was set with the :TIMebase:REFerence and :TIMebase:POSition commands.


:WMEMory{1:8}:XRIGht?

Query Syntax

:WMEMory{1:8}:XRIGht?

{1:8} identifies one of eight possible waveform memories.

Description

Queries the time value stored in waveform memory for the waveform's right edge. This is the value that existed when the source waveform was saved into memory or, if the data was loaded into memory from a waveform file (:DISK:WAVeform:SAVE), it is the value that existed when the file was created. It may or may not be the same as FlexDCA's current setting.


:WMEMory{1:8}:XSCale

Command Syntax

:WMEMory:XSCale <horizontal_scale>

<horizontal_scale> is a double.

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:XSCale?

Description

Sets the horizontal scale which is stored for the selected waveform memory. It may or may not be the same as FlexDCA's current setting. Multiply the horizontal scale by 10 to obtain the horizontal range.


:WMEMory{1:8}:XUNits?

Query Syntax

:WMEMory{1:8}:XUNits?

{1:8} identifies one of eight possible waveform memories.

Description

Queries the horizontal units (SEConds or BIT) stored for the waveform in memory. It may or may not be the same as FlexDCA's current setting.


:WMEMory{1:8}:YBOTtom?

Query Syntax

:WMEMory{1:8}:YBOTtom?

{1:8} identifies one of eight possible waveform memories.

Description

Queries the amplitude value which is stored for the selected waveform memory and corresponds to the graticule's bottom edge. This is the value that existed when the source waveform was saved into memory or, if the data was loaded into memory from a file (:DISK:WAVeform:SAVE), it is the value that existed when the file was created. It may or may not be the same as FlexDCA's current setting.


:WMEMory{1:8}:YOFFset

Command Syntax

:WMEMory{1:8}:YOFFset <amplitude>

<amplitude> is a double.

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:YOFFset?

Description

Sets the vertical offset which is stored for the selected waveform memory. It may or may not be the same as FlexDCA's current setting.


:WMEMory{1:8}:YSCale

Command Syntax

:WMEMory{1:8}:YSCale <amplitude>

<amplitude> is a double.

{1:8} identifies one of eight waveform memories.

Query Syntax

:WMEMory{1:8}:YSCale?

Description

Sets the vertical scale (sensitivity) stored for the selected waveform memory. This is volts-per-division for electrical waveforms and watts-per-division for optical waveforms. The vertical scale multiplied by eight gives the vertical range. The waveform's vertical scale may or may not be the same as FlexDCA's current setting. The vertical expansion and contraction is about the center offset value (:EMEMory:YOFFset) stored in eye memory and not at the ground reference. For optical channels, the offset is possitions to center the signal on the center graticule with vertical expansion and contraction about the center graticule


:WMEMory{1:8}:YTOP?

Query Syntax

:WMEMory{1:8}:YTOP?

{1:8} identifies one of eight possible waveform memories.

Description

Queries the amplitude value stored in waveform memory that corresponds to the graticule's top edge. This is the value that existed when the source waveform was saved into memory or, if the data was loaded into memory from a file (:DISK:WAVeform:SAVE), it is the value that existed when the file was created. It may or may not be the same as FlexDCA's current setting.


:WMEMory{1:8}:YUNits?

Query Syntax

:WMEMory{1:8}:YUNits?

{1:8} identifies one of eight possible waveform memories.

Description

Queries the waveform memory's vertical units which is stored for the selected waveform memory.

Returned Values
Unit | Returned Value
V | VOLT
V2 | VOLT2
W | WATT
W2 | WATT2
unknown | UNKN


FlexEye Parallel Eye Analysis

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye
  • Introduction
  • Sessions
  • Configure
  • Setups
  • VISA Addresses
  • Remote Control
  • Examples

FlexEye Introduction

What does FlexEye require?

  • Eye mode. Oscilloscope, Jitter, and TDR/TDT modes are not compatible.
  • All channels inputs must be the same data rate.
  • Same trigger input to all hardware.
  • Pattern lock cannot be used.
  • Precision timebase cannot be used.
  • Math functions cannot be used.

Use Eye mode's FlexEye parallel eye analysis to greatly reduce Eye measurement test times in computer-controlled environments. FlexEye runs measurements in parallel by turning selected input channels into independent FlexDCA sampling oscilloscopes known as sessions. FlexEye sessions can be in one of two states: running or paused. This is explained in the FlexEye Sessions topic. To configure FlexEye from FlexDCA's graphical user interface, use the FlexEye Streaming Setup dialog box. To remotely configure and run FlexEye, use the commands in the :FEYE SCPI subsystem.

As an example of using FlexEye, let's say that you wrote a program that measures the change in eye width over 5 minutes and that you need to run this measurement on four channels (four DUTs). Traditionally, you would perform each measurement sequentially for a total test time of 20 minutes. With FlexEye, these same measurements can be performed asynchronously by launching four parallel child processess. As all measurements are run in parallel, the total test time for all channels is just slightly over 5 minutes. There is a Python 2.7 example program that demonstrates just such a task.

With FlexEye (Asynchronous Measurements) | Traditional (Synchronous Measurements)

Although the example in this topic illustrates the situation that provides the most reduction in test time using FlexEye, the actual reduction in test time can depend on many factors. For example, consider these points:

  • Algorithms. Simple measurements on multiple channels, such as eye height, can be made without FlexEye using one of two algorithms: 1) one channel at a time by turning on eye height, running a waveform acquisition test, and then reading the measurement, or 2) turn on eye height for all channels, perform one acquisition limit test, and then read eye height for all measurements. Even though the second algorithm is much faster than the first, situations such as this might benefit from the use of FlexEye.
  • Complexity. Generally, the longer in time and more complex the measurement, the greater will be the test time reductions provided by FlexEye.
  • Independent Data Acquisition. One of FlexEye's great benefits is that each channel has independent data acquisition. So, if a measurement algorithm uses a limit test that stops data acquisition on one channel all the remaining channels continue to acquire data. For example without FlexEye, a mask limit test that stops data acquisition for one channel stops mask testing on all channels. With FlexEye, this problem does not exist as each channel is running as an independent oscilloscope. With FlexEye, if one mask test stops, the remaining mask tests continue.


FlexEye Parallel Eye Analysis

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye
  • Introduction
  • Sessions
  • Configure
  • Setups
  • VISA Addresses
  • Remote Control
  • Examples

FlexEye Sessions

FlexEye sessions can be in one of two states: running or paused. When FlexEye is running, multiple Session tabs and one Primary tab are added as shown in the following pictures. After you click on any tab you can use the keyboard's left and right arrow keys to quickly move through the tabs.

FlexEye Running (Session Tabs)

Session tabs are instances of FlexDCA running in parallel as independent sampling oscilloscopes. Use the FlexEye Streaming Setup dialog box to configure up to 15 Sessions and run FlexEye. Click on the Session tabs to view each Session. Although all sessions must share the same clock signal.

Each session has its own independent controls including:

  • Menu commands. Menus are abbreviated to show only command that are compatible with FlexEye sessions.
  • Acquisition run/stop/clear
  • Autoscale and channel settings
  • Timebase, trigger, Acquisition, and display setup
  • Acquisition limits
  • NRZ and PAM-4 eye measurements
  • Mask measurements

Disabled controls for Sessions include:

  • All controls related to Scope, Jitter, and TDR/TDT instrument modes
  • Configure Extended Modules or DCA Connection Setup
  • Waveform Signal Processing (Math)

FlexEye Running (Primary tab)

The Primary tab is the instance of FlexDCA from which all of the Session tabs were launched. Its VISA address is the same address as FlexDCA before FlexEye was started. When the Primary tab is selected, no menu commands are available. The red Streaming Data message indicates that FlexEye is running. If you want to pause or stop FlexEye, click the Pause Streaming button. This displays the FlexEye Acquisition dialog box. The Pause Streaming button is not displayed in any of the Session tabs.

FlexEye Paused

When streaming is paused, you can click on the Session tabs to view waveforms but you cannot change any settings. While FlexEye is paused, you can perform the following tasks:

  • Exit FlexEye.
  • Change FlexDCA settings.
  • Perform a module calibration or perform a dark calibration on optical channels.
  • Return FlexEye to run mode which resumes all sessions.


Independent Eye Acquisition Dialog Box

FlexEye Parallel Eye Analysis

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye
  • Introduction
  • Sessions
  • Configure
  • Setups
  • VISA Addresses
  • Remote Control
  • Examples

FlexEye Configuration

Use the FlexEye Acquisition dialog box to configure, launch, and exit FlexEye sessions. Up to 15 sessions can be configured. Each configured session represents a FlexDCA instance that is run as an independent FlexDCA sampling oscilloscope. A Default Setup (:SYSTem:DEFault) clears all channel selections and sets all Session IDs to 1.

Note

Before the dialog box can show Enable selections, Session IDs, or VISA Addresses, FlexDCA must have avalable channels. The channels could be 86100D hardware modules, M-series modules, or simulated modules.

FlexDCA must be in Eye mode. If FlexEye is not currently running, click Apps > FlexEye Parallel Eye Analysis to open this dialog box. If FlexEye is currently running, click the Primary tab and click Pause Streaming.

To Configure and Run FlexEye Sessions

  1. Select one or more channels that you want to include in the session. The channels can be in different FlexDCA slots (modules). When a differential channel is seleted (for example, D1A), both of the differential's single-ended channels are automatically selected and set to the same session.
  2. Select the same Session ID for each of the channels that you want in the same session.
  3. The VISA address for the configured Session is displayed in the VISA Address column. The VISA addresses are based on FlexDCA's VISA primary address before FlexEye was started.
  4. If the listed Bit Rate is not correct for your setup, select the correct bit rate. All modules must use a common clock signal.
  5. You can adjust the Samples per UI (unit interval) as needed. Increasing the number of samples increases the data points but also can increase measurements time.

Click Launch FlexEye Sessions to start FlexEye Parallel Eye Analysis.

To Exit FlexEye Sessions

  1. Select the Primary tab.
  2. Click Pause Streaming.
  3. Click Exit All FlexEye Sessions to close this dialog box and to end any FlexEye sessions. FlexDCA's normal graphical user interface will be displayed (no Primary or Session tabs).


FlexEye Parallel Eye Analysis

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye
  • Introduction
  • Sessions
  • Configure
  • Setups
  • VISA Addresses
  • Remote Control
  • Examples

FlexEye Test Setups

As you can see in the following pictures, the DCA-M series modules allow you to perform measurements on up to 15 channels (DUTs) while using an inexpensive PC or the 86100D. Of the following two example test setups, the FlexDCA and DCA-M on PC drawing is more typical. All modules as well as any 86100D must use a shared common clock.

Two Example Test Setups
FlexDCA and DCA-M on PC | FlexDCA and DCA-M on 86100D
The program can be running on the PC with FlexDCA. The DCA-M and FlexDCA must be installed on the same PC/Controller. | The DCA-M must be connected to the 86100D and cannot be connected to the PC. FlexDCA cannot be installed on the PC controlling FlexDCA on the 86100D (Flex-on-Flex) as the DCA-M would not be accessible.

The following table shows examples of the maximum number of DUTs you can test using specific hardware.

Examples of Hardware Versus Maximum DUT Count
Hardware | Quantity | DUTs
 |  | Optical | Electrical
N1092D DCA-M | 1 | 4 |
N1092D DCA-M | 4 | 15 |
86115D | 2 | 4 |
N1045A | 4 |  | 8

As shown in the following picture, using four N1092Ds supports a maximum of 15 DUTs instead of an expected 16 DUTs. This is because one VISA address must be reserved for FlexDCA's primary address.


FlexEye Parallel Eye Analysis

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye
  • Introduction
  • Sessions
  • Configure
  • Setups
  • VISA Addresses
  • Remote Control
  • Examples

FlexEye VISA Addresses

From FlexDCA's VISA address, FlexEye derives a separate VISA address for each FlexEye session selected in the FlexEye Acquisition dialog box or through the :FEYE:CHANnel:SID and :FEYE:DIFF:SID commands. The associated channel must also be enabled (:FEYE:CHANnel:ENABled or :FEYE:DIFF:ENABled commands).

The following figure shows example VISA addresses for four sessions. The session VISA addresses are identical to FlexDCA's primary VISA address except for the hslip number which matches the session number. The following figure shows the relationship between DUTs, FlexDCA sessions, and VISA addresses.


FlexEye Parallel Eye Analysis

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye
  • Introduction
  • Sessions
  • Configure
  • Setups
  • VISA Addresses
  • Remote Control
  • Examples

FlexEye Python Remote Control

When writing programs to remotely use FlexEye, follow these steps:

  • Write a parent program that launches one subprocess (child program) for each session. The parent program can use FlexDCA's primary VISA address to configure, setup, and start FlexEye. This VISA address can be located by clicking Tools > SCPI Programming Tools > SCPI Server Setup.
  • Write a subprocess to make measurements on a session. Your parent program can launch the same or different subprocess for each FlexEye session. The parent program should pass to the subprocess the following arguments:
    • The session's VISA address.
    • A list of all channels assigned to the session that you intend to use.
  • When writing your subprocess, it is a good practice to begin by sending the :SYSTem:DEFault;*OPC? commands. This places the session into a known starting state.
  • All subprocesses are run in parallel and not sequentially. Therefore, the time required to run all subprocesses can be greatly reduced.
  • Subprocesses can be used to simultaneously measure up to 15 DUTs.

Parent Process

  1. Configure FlexEye using the commands in the :FEYE subsystem.
  2. Launch a child process for each FlexEye session with the following unique arguments:
    1. VISA address for child process.
    2. List of channels for child process.
      3. import subprocess
commandd = ['python','subprocess.py','TCPIP0::localhost::hislip2,4880::INSTR','1B']
subprocess.Popen(command)
  3. Close the FlexDCA parent session.

Child Process

  1. Open a FlexDCA session using the VISA address argument.
  2. Send a :SYSTem:DEFault;*OPC? command to the session. When FlexEye is exited, FlexDCA stores each FlexEye session's settings in memory just like FlexDCA's primary settings. As a result you should almost always reset the session to its defaults settings at the start of any child process.
  3. You do not need to send the :SYSTem:MODE EYE command since FlexEye sessions only support Eye/Mask mode. Even setting a session to its default settings (:SYSTEM:DEFault) does not change FlexDCA out of Eye mode.
  4. Send all FlexDCA commands required to configure and run the measurement on the channel IDs passed as an argument.
  5. Save the results to a database or use another reporting method as your need dictates.
  6. Close the FlexDCA child session.


FlexEye Parallel Eye Analysis

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye
  • Introduction
  • Sessions
  • Configure
  • Setups
  • VISA Addresses
  • Remote Control
  • Examples

FlexEye Python Examples

Three example programs, written in Python are provided. The basic example demonstrates creating subprocesses for different channel combinations. The second channel shows how to communicate information from a child process back to the parent process. The third example launches 6 subprocesses that each take 60 seconds to complete and display a tkinter graph. Most importantly it shows that all six subprocesses run asynchronously ending after 60 seconds instead of 6 x 60 seconds. Because each example program installs simulated channels with FlexDCA offline, no hardware is required to run them. Click the following links to learn about these examples programs:

  • Example of configuring a variety of FlexEye sessions
  • Example of child process that communicates with the parent via stdout
  • Example of child process with tkinter graph

The FlexEye examples were written for Python 2.7 and some have been adapted for Python 3.4. All examples were developed and tested using the following environment:

  • Windows 7 PC
  • Keysight IO Libraries Suite installed for VISA (Virtual Instrument Software Architecture) library. Go to http://www.keysight.com/find/iosuite.
  • Python 3.5. Anaconda Python distribution (Windows 32-bit) from Continuum Analytics installed using the graphical installer. Python 2.7 also activated as explained in Installing Python. For information on Anaconda, go to https://www.continuum.io/downloads.
  • PyVISA which is a Python front end for the VISA library. The correct version of PyVISA is provided with Anaconda. To learn about PyVISA, go to http://pyvisa.sourceforge.net/pyvisa/ and to pyvisa.readthedocs.org.
  • For graphs, matplotlib is used which is provided with Anaconda.


Python Programming Examples

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye

Python Programming Examples

This section includes several Python 3.4 and 2.7 example scripts for controlling FlexDCA. These examples demonstrate how to establish a LAN connection to FlexDCA and how to use FlexDCA commands and techniques to accomplish specific FlexDCA tasks. These examples are not provided to teach you Python. For each example, there is a link that opens the source code as a text file. You can copy the code into your Python editor. Some of the examples are very simple, while others perform error checking and check the FlexDCA configuration.

Most of the scripts start with the introductory_text() function that displays in the Python Console a message about what the script does along with its requirements. You can either stop the script or continue it.

Note

All modules must be calibrated before running any script. For TDR modules, a TDR step calibration must also be performed.

Example Scripts of FlexDCA's Four Configurations
FlexDCA Configuration | Description
1. Flex-on-Flex | Simple examples that demonstrate sending commands to FlexDCA that is installed on a PC. This instance is remotely connected and controlling FlexDCA that is on an 86100D.
2. FlexDCA Offline | Simple examples that demonstrate using FlexDCA offline on a PC. Simulated modules are used as no hardware is available.
3. Script on PC | Simple examples that demonstrate running the program on a PC to remotely control FlexDCA on an 86100D.
4. Script on 86100D | Simple examples that demonstrate running a program directly on an 86100D.
Example Scripts for Specific Tasks
Feature Demonstrated | FlexDCA Mode |  |  |  | Supported Modules
 | Scope | Eye | Jitter | TDR/TDT
Pattern waveforms
Save with screen capture | ♦ |  |  |  | N1092A, N1092B, N1092D, N1090A, N1045A, 86118A, 86117A, 86117B, 86116C, 86115D, 86112A, 86108A, 86108B, 86105D, 86105C, 83496A, 83496B, 83484A or simulated
Binary transfer with graph | ♦ |  |  |  | Simulated
Finding bit sequences | ♦ |  |  |  | N1092A, N1092B, N1092D, N1090A, N1045A, 86118A, 86117A, 86117B, 86116C, 86115D, 86112A, 86108A, 86108B, 86105D, 86105C, 83496A, 83496B, 83484A or simulated
Math operator and tracking markers | ♦ |  |  |  | Simulated
Math operator and acquisition limit test |  | ♦ |  |  | 86108A/B or simulated
Eye measurement |  | ♦ |  |  | Simulated
Eye measurement graphed in IPython console |  | ♦ |  |  | Simulated
Eye diagram, binary transfer with graph |  | ♦ |  |  | Simulated
Eye mask test with clock recovery |  | ♦ |  |  | 83496A/B and 86105C/D, 86115D, or 86116C. Or, simulated
N1090A or N1092A/B/D DCA-M
Eye measurements |  | ♦ |  |  | N1090A or N1092x DCA-M
Eye mask test |  | ♦ |  |  | N1090A or N1092x DCA-M
FlexEye Parallel Eye
Creating subprocesses |  | ♦ |  |  | Simulated
Returning stdout from subprocesses |  | ♦ |  |  | Simulated
Subprocess that graphs eye measurement |  | ♦ |  |  | Simulated
Jitter mode measurements |  |  | ♦ |  | 86108A/B or simulated
TDR DUT setup with fixture de-embedding components |  |  |  | ♦ | N1055A or 54754A
Measurement Results table saved to HTML file | ♦ | ♦ | ♦ | ♦ | Any input module including DCA-M or simulated
Graph N1045A or N1055A remote head's temperature over time | ♦ | ♦ | ♦ | ♦ | N1045A or N1055A

Do not modify the line indents of any lines within the script. The indentation of code lines in Python is critical to the ability of the code to run.

Before trying to run these scripts, familiarize yourself with the setup configurations shown in this Programming Quick Start Guide.

Note

You have a royalty-free right to use, modify, reproduce and distribute these example files (and/or any modified version) in any way you find useful, provided that you agree that Keysight has no warranty, obligations or liability for any sample application files.

Python 3.5 and 2.7

  • Installation instructions
  • Example Code Environment

Additional Programming Examples

Additional example programs are provided that are written in Python, C#.NET, LabVIEW, MATLAB.


Additional Programming Examples

Additional example programs are provided that are written in Python, C#.NET, LabVIEW, MATLAB. In the Windows Start menu, locate the shortcut that directly opens the examples folder in Windows Explorer. These examples cover common tasks such as establishing basic communication with FlexDCA, performing eye mask tests, returning jitter measurements, and saving pattern waveforms. The examples are designed to help you quickly learn the fundamentals of FlexDCA programming and are not designed to provide comprehensive measurement solutions.

Examples are provided for the following tasks:

  • Establish basic communication with the DCA
  • Perform an Eye/Mask measurement.
  • Perform a Jitter measurement.
  • Use an S2P convolve math operator which can be used to compensate for the loss of a channel element such as a cable or fixture.
  • Save a pattern waveform (Python only).
  • Perform a calibration with timing control (C#.NET only).


Binary transfer of eye diagram data

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example performs a binary transfer of an eye diagram waveform. The resulting data is shown in the IPython console using a matplotlib graph. The graph is also saved to a a PNG file (bitmap) named "eye_diagram.png". The main purpose of this program is to demonstrate how to return binary eye diagram data with the graph used as a visual confirmation that the data was correctly interpreted. The example works with FlexDCA offline and installs simulated modules. No hardware is required.

As shown in the following two lines, the pyvisa library's read_raw() function is used to return the data and Python's standard struct module is used to translate the returned binary data to a Python integer. In struct.unpack(), notice the format specifier '<L'. The '<' character specifies that the byte order of the returned data is little endian. The 'L' character specifies that the data is comprised of unsigned long integers (4 bytes).

eyedata = FlexDCA.read_raw()
point = struct.unpack('<L', eyedata[start:end])[0]

For Python 3, eyedata must be a bytestring (type byte) to hold a sequence of bytes. You cannot use a string as strings hold unicode characters. In Python 2, eyedata must be a string (type str) as strings hold sequences of bytes. Each integer in the data is unpacked one at a time.

As described in :WAVeform:EYE:INteger:DATa?, the header data returned for binary eye diagrams data is always the following nine bytes: #71565084. The header is followed by the data which is 391,271 points (1,565,084 bytes). This array corresponds to the graticule display, where each point contains a sample hit count. The array is transferred column by column, starting with the lower left corner of the graticule.

The following picture shows an example of the displayed graph.

  • More examples

get_eye_data() Function

The program, the get_eye_data() function returns the binary data from FlexDCA. The lines that query and then reads the data is shown in orange text.

def get_eye_data(channel):
    valid_eye_header = b'#71565084'
    FlexDCA.write(':WAVeform:SOURce CHANnel'+channel)
    xorg = FlexDCA.query(':WAVeform:EYE:XORigin?')
    xinc = FlexDCA.query(':WAVeform:EYE:XINCrement?')
    yorg = FlexDCA.query(':WAVeform:EYE:YORigin?')
    yinc = FlexDCA.query(':WAVeform:EYE:YINCrement?')
    print('xorg: '+ xorg)
    print('xinc: '+ xinc)
    print('yorg: '+ yorg)
    print('yinc: '+ yinc)
    endiansetting = FlexDCA.query(':SYSTem:BORDER?')
    FlexDCA.write(':SYSTem:BORDER LENDian')
    FlexDCA.write(':WAVeform:EYE:INTeger:DATa?')
    eyedata = b'' # byte string (raw bytes) in Python 3
    eyedata = FlexDCA.read_raw()
    FlexDCA.write(':SYSTem:BORDER ' + endiansetting)
    if eyedata[0:9] == valid_eye_header: # Valid header for integer eye data
        return eyedata
    else:
        print('Returned Eye data is not valid.')
        return b''

If the graph cannot be displayed

In the program, the ability to display an inline graph depends on the correct graphics "backend" for matplotlib. If you have problems displaying the graph:

  1. Open the Spyder editor and click Tools > Preferences.
  2. In the Preferences dialog box, select IPython console.
  3. Under Support for graphics (Matplotlib), select the Graph tab.
  4. Select Active support and for the Backend select "Inline".
  5. Restart the Spyder editor.


Binary transfer of pattern waveform data

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example performs a binary transfer of a pattern waveform. The resulting data is shown in the IPython console using a matplotlib graph. The graph is also saved to a a PNG file (bitmap) named "pattern_waveform.png". The main purpose of this program is to demonstrate how to return binary pattern data with the graph used as a visual confirmation that the data was correctly interpreted. The example works with FlexDCA offline and installs simulated modules. No hardware is required.

As shown in the following lines, the pyvisa library's read_raw() function is used to return both the x and y waveform data:

FlexDCA.write(':WAVeform:XYFORmat:FLOat:YDATa?')
y_data = FlexDCA.read_raw()
FlexDCA.write(':WAVeform:XYFORmat:FLOat:XDATa?')
x_data = FlexDCA.read_raw()

Python's standard struct module is used to unpack (translate) the returned binary data to Python floats. In struct.unpack(), the format specifier '<f' is used. The '<' character specifies that the byte order of the returned data is little endian. The 'f' character specifies that the data is comprised of single precision floats (4 bytes).

As described in :WAVeform:XYFORmat:FLOat:YDATa?, the header data returned with the data indicates how many float are returned.

The following picture shows an example of the displayed graph.

  • More examples

Main portion of the program

The program's main area at the end of the program, shows the general steps used. The waveform is acquired and then transferred to the program. The binary x and y data must then be decoded from binary data to Python floats. Finally, the data is plotted on a graph.

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
if introductory_text() and default_setup():
    install_simulated_module(CHANNEL)
    if acquire_waveforms():
        y_data, x_data, values = get_pattern_data(CHANNEL)
        ydata = decode_binary_data(y_data, '<f', 'y') # y data
        xdata = decode_binary_data(x_data, '<f', 'x') # x data
        print('-' * 30)
        draw_graph(ydata, xdata, values)
    else:
        print('Configuring the pattern waveform failed.')

check_errors()
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session

If the graph cannot be displayed

In the program, the ability to display an inline graph depends on the correct graphics "backend" for matplotlib. If you have problems displaying the graph:

  1. Open the Spyder editor and click Tools > Preferences.
  2. In the Preferences dialog box, select IPython console.
  3. Under Support for graphics (Matplotlib), select the Graph tab.
  4. Select Active support and for the Backend select "Inline".
  5. Restart the Spyder editor.


Configuration 1. Flex-on-Flex

For Configuration 1, all of the example programs open a VISA session with the FlexDCA application using the open_resource() method:

FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')

You'll need to substitude your own VISA address, which is easy to locate. In the above line, we're able to use localhost for the PC's name, because FlexDCA is running on the same PC as your program.

After an example program establishes a VISA session with FlexDCA on the PC, the program uses the following command to connect the PC's FlexDCA to the 86100D's FlexDCA:

FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')

The above remote command establishes the connection using the 86100D's Hostname, which you can locate by clicking the menu commands Help > About FlexDCA on 86100D's FlexDCA. You would substitute you own 86100D's Hostname for the string "K-86100D-20108" in the above line. I you prefer to manually connect the two FlexDCA applications together, refer to About establishing the 86100D connection in this topic. For each example program, links are provided for you to copy the code into your Python editor.

Requirements

For the scripts shown in this topic, the version for both the PC's FlexDCA and the 86100D's FlexDCA must be A.05.30 or above. These scripts require that a module be installed in slot 1 with electrical Channel 1A turned on, a trigger signal applied, and an eye diagram displayed. A simulated module is not used.

About establishing the 86100D connection

All of the example programs in this topic establish the VISA connection between the PC's FlexDCA and 86100D's FlexDCA programatically. However, in your own scripts you can perform this task manually if you prefer use the following steps:

  1. In 86100D's FlexDCA, click the menu commands Help > About FlexDCA. In the About 86100D dialog box, locate the "System Information" field and scroll the field's listing until the Computer Name listing appears.
  2. Write down the computer name (for example, "K-86100D-20108"). Close the dialog box.
  3. On the PC, start FlexDCA and click the menu commands Setup > DCA Connection Setup. In the dialog box, select LAN. In the Hostname field, enter the computer name that you located in step 2. Click Connect to manually connect FlexDCA with the 86100D.

Step 1. Establish a connection to FlexDCA

Get Example Script

Click to view source code and copy Python editor.

This program uses only nine lines to open and then close a connection to FlexDCA, but it doesn't do anything useful. Our next example will give you a useful failure message and perform a useful task.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
print('\n\tConnecting to FlexDCA on PC. Please wait...')
FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
FlexDCA.timeout=20000 # wait up to 20s for response from FlexDCA
FlexDCA.read_termination = '\n'
s = FlexDCA.query('*IDN?')
print('\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
print('\n\tConnecting FlexDCA to 86100D. Please wait...')
FlexDCA.write(':RDCA:CONNect:METhod LAN')
FlexDCA.write(':RDCA:CONNect:MODE STANdard')
FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')
FlexDCA.query(':RDCA:CONNect;*OPC?')
s = FlexDCA.query('*IDN?')
print('\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
FlexDCA.query(':RDCA:DISConnect;*OPC?')
print('\n\tFlexDCA on 86100D is disconnected.')
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()
print('\tFlexDCA on PC is disconnected.')

Step 2. Add error handling for FlexDCA connection and identify FlexDCA

Get Example Script

Click to view source code and copy Python editor.

This script uses an error handling function, connect_to_FlexDCA(), to report a failure to connect to FlexDCA. To test the exception, for an exception by changing the VISA address's "localhost" in line 9 to any random string. The script returns FlexDCA's identification string. Notice the line, FlexDCA.timeout = 20000, beneath the VISA address. This line sets the amount of time in milliseconds that your program will wait when FlexDCA is performing a long task such as waiting to acquire many pattern waveforms. If your programs "time out", increase this value.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA on PC. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\tFlexDCA connection established to:\n\t' + s)
        return True
    except:
        print('\n\tCan\'t connect to FlexDCA on PC. Incorrect address string.')
        return False

def connect_FlexDCA_to_86100D():
    """Opens connections from FlexDCA to FlexDCA. """
    ErrorList = []
    print('\n\tConnecting to FlexDCA on 86100D. Please wait...')
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    s = FlexDCA.query('*IDN?')
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\tFlexDCA connection established to:\n\t' + s)
        return True
    else:
        count = str(len(ErrorList))
        print('\t  ' + count + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tError: ' + Error)
        s = '\n\tCan\'t connect to FlexDCA on 86100D. Ending program.'
        print(s)
        return False

#________________________________________
# Main script

if not connect_to_FlexDCA():
    print('\tAborting attempt to connect to 86100D.')
elif connect_FlexDCA_to_86100D():
    print('\n\tDisconnecting from 86100D\'s FlexDCA.')
    FlexDCA.query(':RDCA:DISConnect;*OPC?')
    print('\tDisconnecting from PC\'s FlexDCA.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else:
    print('\tDisconnecting from PC\'s FlexDCA.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
print('\tProgram has ended.')

Step 3. Install a simulated module and perform Eye Height measurement

Get Example Script

Click to view source code and copy Python editor.

This script installs a simulated channel and turns it on, sets Eye/Mask mode, and uses an acquisition limit test to acquire a 1000 waveforms on which to make an Eye Height measurement.

import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA on PC. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\tFlexDCA connection established to:\n\t' + s)
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\n\tCan\'t connect to FlexDCA on PC. Incorrect address string.')
        return False

def connect_FlexDCA_to_86100D():
    """Opens connections from FlexDCA to FlexDCA. """
    ErrorList = []
    print('\n\tConnecting to FlexDCA on 86100D. Please wait...')
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    s = FlexDCA.query('*IDN?')
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\tFlexDCA connection established to:\n\t' + s)
        return True
    else:
        count = str(len(ErrorList))
        print('\t  ' + count + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tError: ' + Error)
        s = '\n\tCan\'t connect to FlexDCA on 86100D. Ending program.'
        print(s)
        return False

#________________________________________
# Main script

if not connect_to_FlexDCA():
    print('\tAborting program.')
elif not connect_FlexDCA_to_86100D():
    print('\tDisconnecting from PC\'s FlexDCA. Aborting program.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else: # Established all connections
    while True:
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
        FlexDCA.query(':AUToscale;*OPC?')
        FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\n\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        FlexDCA.query(':ACQuire:RUN;*OPC?')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        print('\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
        print('\tEye Height successfully measured.')
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')

        # PYTHON VERSION SPECIFIC CODE!
        input('\n\tPress any key to continue!') # Python 3.x
        #raw_input('\tPress any key to continue!') # Python 2.x

        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':ACQuire:RUN') # run mode
        FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements
        print('\n\tDisconnecting from 86100D\'s FlexDCA.')
        FlexDCA.query(':RDCA:DISConnect;*OPC?')
        print('\tDisconnecting from PC\'s FlexDCA.')
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        break

print('\tProgram has ended.')

Step 4. Add error handling for *OPC? and timeouts

Get Example Script

Click to view source code and copy Python editor.

Two error handling functions have been added to the script: query_with_OPC() and read_error_messages(). Use the query_with_OPC() function for any command that requires an *OPC? query to pause your program to wait for a response. For example acquiring many waveforms requires an *OPC? query. This function takes two arguments. The first argument is the FlexDCA command and the second argument is a string that identifies the commands for use in a print statement that indicates the command's success or failure. The function appends *OPC? to the passed command. As the script shows, use FlexDCA.query() for normal queries and use query_with_OPC() for queries that require *OPC?.

The read_error_messages() function reports errors queried from FlexDCA's error message buffer. To see how this function works, uncomment the following two lines in the script and run the script:

#FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
#FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

ErrorList = []

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA on PC. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 25000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\tFlexDCA connection established to:\n\t' + s)
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\n\tCan\'t connect to FlexDCA on PC. Incorrect address string.')
        return False

def connect_FlexDCA_to_86100D():
    """Opens connections from FlexDCA to FlexDCA. """
    print('\n\tConnecting to FlexDCA on 86100D. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')
    if query_with_OPC(':RDCA:CONNect','Connection to 86100D'):
        print('\t' + FlexDCA.query('*IDN?'))
        return True
    else:
        print('\n\tCan\'t connect to FlexDCA on 86100D. Ending program.')
        return False

def query_with_OPC(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?
    """
    global ErrorList
    try:
        FlexDCA.query(command + ';*OPC?')
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] != '0': # Error occurred
            ErrorList.append(error)
            print('\n\tFlexDCA error during ' + feature)
            print('\t  Error: ' + error)
            return False
        else:
            print('\t' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
    except:
        print('\tI/O timeout during ' + feature)
        return False

def read_error_messages():
    """ Check FlexDCA's message buffer. """
    ErrorList = []
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\n\tNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tError: ' + Error)

#________________________________________
# Main script

if not connect_to_FlexDCA():
    print('\tAborting program.')
elif not connect_FlexDCA_to_86100D():
    print('\tDisconnecting from PC\'s FlexDCA. Aborting program.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else: # All connections were established
    while True:
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode

        if query_with_OPC(':AUToscale','\n\tAutoscale') == False:
            break
        FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        if query_with_OPC(':ACQuire:RUN','Data acquisition') == False:
            break
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        print('\tMeasuring Eye Height...')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        s = FlexDCA.query(':MEASure:EYE:EHEight?')
        print('\n\tEye Height: ' + s + ' V')

        # PYTHON VERSION SPECIFIC CODE!
        input('\n\tPress any key to continue!') # Python 3.x
        #raw_input('\tPress any key to continue!') # Python 2.x

        FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements results
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':ACQuire:RUN') # run mode

        # FORCED COMMAND ERRORS
        FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
        FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

        read_error_messages()
        print('\tDisconnecting from 86100D.')
        query_with_OPC(':RDCA:DISConnect','Disconnect from 86100D')
        print('\tDisconnecting from PC\'s FlexDCA.')
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        break

print('\tProgram has ended.')


Configuration 2. FlexDCA Offline

For Configuration 2, the example programs open a VISA session with the FlexDCA application using the open_resource() method:

FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')

You can easily locate and substitude your own VISA address. In the above line, we're able to use localhost for the PC's name, because FlexDCA is running on the same PC as your program. For each example program, links are provided for you to copy the code into your Python editor. You can also use localhost when your script is installed on the 86100D.

Step 1. Establish a connection to FlexDCA and to 86100D

Get Example Script

Click to view source code and copy to Python editor.

This script opens and then closes a connection first to the PC's FlexDCA and then to the 86100D's FlexDCA. Its only purpose is to prove that it can make the required connections. Our next example will give you a useful failure message and perform a useful task.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
FlexDCA.read_termination = '\n'
s = FlexDCA.query('*IDN?')
print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()
print('\tFlexDCA connection closed.')

Step 2. Add error handling for FlexDCA connections

Get Example Script

Click to view source code and copy Python editor.

This script uses an error handling function, connect_to_FlexDCA(), to report a failure to connect to FlexDCA. To test the exception, for an exception by changing the VISA address's "localhost" string to any random string. Notice the line, FlexDCA.timeout = 20000, beneath the VISA address. This line sets the amount of time in milliseconds that your program will wait when FlexDCA is performing a long task such as waiting to acquire many pattern waveforms. If your programs "time out", increase this value.

The function, connect_FlexDCA_to_86100D(), connects the PC's FlexDCA to the 86100D's FlexDCA. The error message buffer on FlexDCA is used to confirm if the connection has been established.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\n\tFlexDCA connection closed.')

Step 3. Perform Eye Height measurement

Get Example Script

Click to view source code and copy Python editor.

This script requires an installed 86100D module with an eye diagram displayed. An acquisition limit test is used to acquire a 100 waveforms on which to make an Eye Height measurement.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.query(':SYSTem:DEFault;*OPC?') # Instrument Setup, wait for completion
    FlexDCA.write(':EMODules:SLOT5:SELection DEMini') # Add simulated module
    FlexDCA.write(':CHAN5A:DISPlay ON') # Turn channel 5A on
    FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
    FlexDCA.query(':AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
    print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' mV')
    print('\nEye Height successfully measured.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()

Step 4. Add error handling for *OPC? and timeouts

Get Example Script

Click to view source code and copy Python editor.

Two error handling functions have been added to the script: query_with_OPC() and read_error_messages(). Use the query_with_OPC() function for any command that requires an *OPC? query to pause your program to wait for a response. For example acquiring many waveforms requires an *OPC? query. This function takes two arguments. The first argument is the FlexDCA command and the second argument is a string that identifies the commands for use in a print statement that indicates the command's success or failure. The function appends *OPC? to the passed command. As the script shows, use FlexDCA.query() for normal queries and use query_with_OPC() for queries that require *OPC?.

The read_error_messages() function reports errors queried from FlexDCA's error message buffer. To see how this function works, uncomment the following two lines in the script and run the script:

#FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
#FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA. Please wait...')
    try:
        #FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

def query_with_OPC(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?

    """
    global ErrorList
    try:
        FlexDCA.query(command + ';*OPC?')
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] != '0': # Error occurred
            ErrorList.append(error)
            print('\n\tFlexDCA error during ' + feature)
            print('\t  Error: ' + error)
            return False
        else:
            print('\t' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
    except:
        print('\tI/O timeout during ' + feature)
        return False

def read_error_messages():
    """ Check FlexDCA's message buffer. """
    ErrorList = []
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\n\tNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tError: ' + Error)

#________________________________________
# Main script
if connect_to_FlexDCA():
    while True:
        if query_with_OPC(':SYSTem:DEFault','Default setup') == False:
            break
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini') # Add simulated module
        FlexDCA.write(':CHAN5A:DISPlay ON') # Turn channel 5A on
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
        if query_with_OPC(':AUToscale','Autoscale') == False:
            break
        FlexDCA.write(':ACQuire:SINGle') # Single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        if query_with_OPC(':ACQuire:RUN','Data acquisition') == False:
            break
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        s = FlexDCA.query(':MEASure:EYE:EHEight?')
        print('\n\tEye Height: ' + s + ' mV')

        # FORCED COMMAND ERRORS
        #FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
        #FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

        read_error_messages()
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        print('\n\tMeasurement was successful.')
        break


Configuration 3. Script on PC

For Configuration 3, all of the example programs open a VISA session with the 86100D's FlexDCA application using the open_resource() method:

FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')

You'll need to substitude your own VISA address, which is easy to locate. For each example program, links are provided for you to copy the code into your Python editor.

Requirements

This script requires that a module be installed in slot 1 with electrical Channel 1A turned on, a trigger signal applied, and an eye diagram displayed. A simulated module is not used.

Step 1. Establish a connection to 86100D

Get Example Script

Click to view source code and copy Python editor.

This program uses only nine lines to open and then close a connection to FlexDCA, but it doesn't do anything useful except to return the identity of the 86100D. Our next example will give you a useful failure message and perform a useful task.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
FlexDCA.read_termination = '\n'
s = FlexDCA.query('*IDN?')
print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()
print('\tConnection closed.')

Step 2. Add error handling for FlexDCA connection and identify FlexDCA

Get Example Script

Click to view source code and copy Python editor.

This script uses an error handling function, connect_to_FlexDCA(), to report a failure in connecting to FlexDCA. The script returns FlexDCA's identification string. Notice the line, FlexDCA.timeout = 20000, beneath the VISA address. This line sets the amount of time in milliseconds that your program will wait when FlexDCA is performing a long task such as waiting to acquire many pattern waveforms. If your program times out, increase this value. To test the exception, alter the VISA address string so that it does not point to a valid 86100D.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\n\t86100D connection closed.')

Step 3. Perform Eye Height measurement

Get Example Script

Click to view source code and copy Python editor.

This script requires an installed 86100D module with an eye diagram displayed. An acquisition limit test is used to acquire a 100 waveforms on which to make an Eye Height measurement.

import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
    FlexDCA.query(':AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    print('\n\tAcquiring 150 waveforms. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
    print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
    print('\n\tEye Height successfully measured.')

    # PYTHON VERSION SPECIFIC CODE!
    #input('\n\tPress any key to continue!') # Python 3.x
    raw_input('\n\tPress any key to continue!') # Python 2.x

    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':ACQuire:RUN') # run mode
    FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements
    print('\n\tDisconnecting from 86100D\'s FlexDCA.')
    FlexDCA.query(':RDCA:DISConnect;*OPC?')
    print('\tDisconnecting from PC\'s FlexDCA.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()

Step 4. Add error handling for *OPC? and timeouts

Get Example Script

Click to view source code and copy Python editor.

Two error handling functions have been added to the script: query_with_OPC() and read_error_messages(). Use the query_with_OPC() function for any command that requires an *OPC? query to pause your program to wait for a response. For example acquiring many waveforms requires an *OPC? query. This function takes two arguments. The first argument is the FlexDCA command and the second argument is a string that identifies the commands for use in a print statement that indicates the command's success or failure. The function appends *OPC? to the passed command. As the script shows, use FlexDCA.query() for normal queries and use query_with_OPC() for queries that require *OPC?.

The read_error_messages() function reports errors queried from FlexDCA's error message buffer. To see how this function works, uncomment the following two lines in the script and run the script:

#FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
#FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

ErrorList = []

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\n\tCan\'t connect to instrument. Incorrect address string.')
        return False

def query_with_OPC(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?

    """
    global ErrorList
    try:
        FlexDCA.query(command + ';*OPC?')
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] != '0': # Error occurred
            ErrorList.append(error)
            print('\n\tFlexDCA error during ' + feature)
            print('\t  ERROR: ' + error)
            return False
        else:
            print('\t' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\tERROR: I/O timeout during ' + feature)
        return False

def read_error_messages():
    """ Check FlexDCA's message buffer. """
    global ErrorList
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\n\tNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tERROR: ' + Error)

#________________________________________
# Main script
if not connect_to_FlexDCA():
    print('\tAborting program.')
else: # Connections was established
    while True:
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
        if query_with_OPC(':AUToscale','Autoscale') == False:
            break
        FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\n\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        if query_with_OPC(':ACQuire:RUN', 'Data acquisition') == False:
            break
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
        print('\n\tEye Height successfully measured.')

        # PYTHON VERSION SPECIFIC CODE!
        input('\n\tPress any key to continue!') # Python 3.x
        #raw_input('\n\tPress any key to continue!') # Python 2.x

        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':ACQuire:RUN') # run mode
        FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements

        # FORCED COMMAND ERRORS
        #FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
        #FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

        read_error_messages()
        break
    print('\tDisconnecting from 86100D.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()

print('\tProgram has ended.')


Configuration 4. Script on 86100D

For Configuration 4, all of the example programs open a VISA session with the FlexDCA application using a the open_resource() method:

FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')

It's easy to locate the required VISA address. In the above line, we're able to use localhost for the PC's name, because FlexDCA is running on the same PC (86100D) as your program.

As shown in the following picture, it helps to connect a display to the 86100D to show your scripting environment. For each example program, links are provided for you to copy the code into your Python editor.

Requirements

This script requires that a module be installed in slot 1 with electrical Channel 1A turned on, a trigger signal applied, and an eye diagram displayed. A simulated module is not used.

Step 1. Establish a connection to 86100D

Get Example Script

Click to view source code and copy Python editor.

This program uses only nine lines to open and then close a connection to FlexDCA, but it doesn't do anything useful. Our next example will give you a useful failure message and perform a useful task.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
FlexDCA.read_termination = '\n'
s = FlexDCA.query('*IDN?')
print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()
print('\tConnection closed.')

Step 2. Add error handling for FlexDCA connection and identify FlexDCA

Get Example Script

Click to view source code and copy Python editor.

This script uses an error handling function, connect_to_FlexDCA(), to report a failure to connect to FlexDCA. To test the exception, for an exception by changing the VISA address's "localhost" in line 9 to any random string. The script returns FlexDCA's identification string. Notice the line, FlexDCA.timeout = 20000, beneath the VISA address. This line sets the amount of time in milliseconds that your program will wait when FlexDCA is performing a long task such as waiting to acquire many pattern waveforms. If your programs "time out", increase this value.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\n\t86100D connection closed.')

Step 3. Perform Eye Height measurement

Get Example Script

Click to view source code and copy Python editor.

This script requires an installed 86100D module with an eye diagram displayed. An acquisition limit test is used to acquire a 100 waveforms on which to make an Eye Height measurement.

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
    FlexDCA.query(':AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 100')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    print('\n\tAcquiring waveform data. Please wait...')
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
    print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
    print('\n\tEye Height successfully measured.')
    input('\n\tPress any key to continue!')
    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':ACQuire:RUN') # run mode
    FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements
    print('\n\tDisconnecting from 86100D\'s FlexDCA.')
    FlexDCA.query(':RDCA:DISConnect;*OPC?')
    print('\tDisconnecting from PC\'s FlexDCA.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()

Step 4. Add error handling for *OPC? and timeouts

Get Example Script

Click to view source code and copy Python editor.

Two error handling functions have been added to the script: query_with_OPC() and read_error_messages(). Use the query_with_OPC() function for any command that requires an *OPC? query to pause your program to wait for a response. For example acquiring many waveforms requires an *OPC? query. This function takes two arguments. The first argument is the FlexDCA command and the second argument is a string that identifies the commands for use in a print statement that indicates the command's success or failure. The function appends *OPC? to the passed command. As the script shows, use FlexDCA.query() for normal queries and use query_with_OPC() for queries that require *OPC?.

The read_error_messages() function reports errors queried from FlexDCA's error message buffer. To see how this function works, uncomment the following two lines in the script and run the script:

#FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
#FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

ErrorList = []

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        print('\n\tCan\'t connect to instrument. Incorrect address string.')
        return False

def query_with_OPC(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?

    """
    global ErrorList
    try:
        FlexDCA.query(command + ';*OPC?')
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] != '0': # Error occurred
            ErrorList.append(error)
            print('\n\tFlexDCA error during ' + feature)
            print('\t  ERROR: ' + error)
            return False
        else:
            print('\t' + feature + ' successful.')
        return True
    except:
        print('\tERROR: I/O timeout during ' + feature)
        return False

def read_error_messages():
    """ Check FlexDCA's message buffer. """
    global ErrorList
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\n\tNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tERROR: ' + Error)

#________________________________________
# Main script
if not connect_to_FlexDCA():
    print('\tAborting program.')
else: # Connections was established
    while True:
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
        if query_with_OPC(':AUToscale','Autoscale') == False:
            break
        FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 100')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\n\tAcquiring waveform data. Please wait...')
        if query_with_OPC(':ACQuire:RUN', 'Data acquisition') == False:
            break
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
        print('\n\tEye Height successfully measured.')
        input('\n\tPress any key to continue!')
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':ACQuire:RUN') # run mode
        FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements

        #FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
        #FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

        read_error_messages()
        break
    print('\tDisconnecting from 86100D.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()

print('\tProgram has ended.')


Eye mask test with N1090A or N1092A/B/D DCA-M

Get the Example Scripts

Click these links to copy and paste into Python editor.

  • With error checking:
    • Python 3.4 version
    • Python 2.7 version
  • With configuration setup:
    • Python 3.4 version
    • Python 2.7 version

This Python example documents two different program versions. One example includes error check the other confirms proper DCA-M configuration.

Example with Error Checking

This example t performs an eye-mask test and returns the results. Before running the script, you must connect an input and trigger signal to the N1090A and ensure that the rate of the data signal matches an N1090A filter option. The trigger signal must be at the data rate or be a sub-rate clock.

Be aware that with extended modules, like the N1090A, you must observe the following constraints:

  • If the script controls FlexDCA on a PC (Flex-on-Flex and Flex Offline configurations), the extended module must also be connected to the PC.
  • If the script directly controls FlexDCA on an 86100D (Script on PC and Script on 86100D configurations), the extended module must be connected to the 86100D.

This means that in the Flex-on-Flex configuration, the extended module cannot be connected to the 86100D.

Editable Constants

The following editable constant is located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Sript on PC configuration, this is the VISA address of FlexDCA on the 86100D. Locating the VISA address.
SLOT
FlexDCA slot where DCA-M is installed.

Main Portion of Script

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
if introductory_text():
    FlexDCA=rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s
    FlexDCA.read_termination = '\n'
    s = FlexDCA.query('*IDN?')
    print('\nFlexDCA connection established to:\n' + s + '\n')
    model_number = FlexDCA.query('SYST:MODel? SLOT' + SLOT)
    if ('N1090A' in model_number) or ('N1092' in model_number):
        slots = range(1,9)
        channels = ['A','B','C','D']
        for slot in slots: # turn all channels off
            for channel in channels:
                FlexDCA.write(':CHANnel'+str(slot)+channel+':DISPlay OFF')
        FlexDCA.write(':TRIGger:SOURce FPANel')
        FlexDCA.write(':CHANnel'+SLOT+'A:DISPlay ON')
        FlexDCA.write(':ACQuire:RUN')
        handle_OPC_query(':SYSTem:MODE EYE', 'Eye Mode')
        elist = []
        if handle_OPC_query(':SYSTem:AUToscale','Autoscale'):
            data_rate = confirm_data_rate(SLOT)
            if load_eye_mask(data_rate):
                acquire_waveforms()
                get_measurement_results()
                print('\nProgram has successfully completed.')
    else:
        print('A DCA-M is not installed in Slot ' + SLOT)
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else:
    print('Aborting program.')

Comprehensive Configuration Setup

This example performs an eye-mask test and returns the results. There is also comprehensive configuration setup and confirmation as explained under Script Notes section of this topic. Before running the script, connect an input and trigger signal to the N1090A and ensure that the rate of the data signal matches an N1090/2A filter option. The trigger signal must be at the data rate or be a sub-rate clock.

Be aware that with extended modules, like the N1090A, you must observe the following constraints:

  • If the script controls FlexDCA on a PC (Flex-on-Flex and Flex Offline configurations), the extended module must also be connected to the PC.
  • If the script directly controls FlexDCA on an 86100D (Script on PC and Script on 86100D configurations), the extended module must be connected to the 86100D.

This means that in the Flex-on-Flex configuration, the extended module cannot be connected to the 86100D.

Editable Constants

At the top of the script, edit the following three global constants with your values. Each constant must have a value and all three are passed to the basic_setup() function. Refer to locating the VISA address.

FLEXDCA_ADDRESS
Edit this constant to be the VISA HiSLIP address for FlexDCA on the PC. This constant is used when making a connection to FlexDCA in Flex-on-Flex or Flex Offline configurations.
FLEXD_ADDRESS
Edit this constant to be the VISA HiSLIP address for FlexDCA on the 86100D. This constant is used when making a connection to FlexDCA in Script on PC configuration.
THE_86100D_NAME
Edit this constant to be the 86100D's computer name. This constant is used in Flex-on-Flex configurations to connect FlexDCA on the PC to FlexDCA on the 86100D. If FlexDCA on the PC has already been manually connected to FlexDCA on the 86100D, this constant is ignored. One might prefer to name this constant 86100D_NAME, but Python variables cannot begin with a number.

Script Notes

An introductory_text() function is used to let the user specify the setup configuration. After the selection is made the following functions are used to ensure the correct setup with appropriate actions and messages to the user:

  • basic_setup() function that queries, makes, and confirms the VISA connections and setup using these functions:
    • connect_to_FlexDCA() function that makes the VISA connection to FlexDCA and sets the I/O timeout value.
    • flex_on_flex() function that tests if FlexDCA on the PC is already connected to FlexDCA on 86100D.
    • flex_on_PC() function that tests if FlexDCA is on PC and is or is not connected to an 86100D.
    • connect_flex_to_flex() function that use that 86100D computer name (THE_86100D_NAME constant) to connect FlexDCA on the PC to FlexDCA on 86100D. To make this connection, commands in the :RDCA subsystem are used.
  • discover_modules() function that returns a dictionary of all installed modules with their slot numbers. This includes both hardware, extended, and simulated modules.
  • confirm_modules() function that checks if all required modules are found in the installed modules dictionary that was returned by discover_modules(). If multiple modules of the same type are installed, the module that is installed in the lowest numbered slot will be used.
  • confirm_N1090A_signals() function that confirms the N1090A data and trigger signals. This function calls the N1090A_data_options() function to discover the available data rates for the installed N1090A and print them.
  • N1090A_data_options() function queries the available data rates for the installed N1090A and print them to the console.

Main Portion of Script

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
mode = introductory_text()
mode = basic_setup(mode, FLEXPC_ADDRESS, FLEXD_ADDRESS, THE_86100D_NAME)
if setup_correct(mode):
    slots = discover_modules()
    show_found_modules(slots)
    slot = select_slot(REQUIRED_MODULES,slots)
    if 1 <= slot <= 8:
        channel = str(slot) + (select_channel(slot))
        turn_on_channel(channel)
        data_rate =  confirm_DCAM_signals(channel)
        if data_rate:
            if load_eye_mask(data_rate):
                acquire_waveforms()
                get_measurement_results()
                print('\nProgram has successfully completed.')
    else:
        print('Aborting program.')
    error_messages()
    print_error_messages() # Check FlexDCA for any error messages
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


Eye measurements with N1090A or N1092A/B/D DCA-M

Eye measurements test with N1090A or N1092A/B/D DCA-M

Get the Example Scripts

Click these links to copy and paste into Python editor.

  • Python 3.4 version
  • Python 2.7 version

This Python example documents three different program versions from the simplest to a more advanced form which confirms proper DCA-M configuration.

Basic Example

The is the simplest script using N1090A or N1092A/B/D DCA-M to return measurements. This script is meant to show at a glance that the basic commands used to perform a measurement on a DCA-M product are identical to those used for standard 86100D modules. Before running the script, you must do the following steps:

  1. The DCA-M must be in FlexDCA's slot 5, unless you change the constant at the top of the script.
  2. Connect an input signals to Channel "A" on the DCA-M.
  3. The rate of the data signal must match an DCA-M's filter option.
  4. Connect the trigger signal to the DCA-M which must must be at the data rate or be a sub-rate clock.
  5. The DCA-M signal must be shown on FlexDCA's display.

Be aware that with the DCA-M product you must observe the following constraints:

  • If the script controls FlexDCA on a PC (Flex-on-Flex and Flex Offline configurations), the extended module must also be connected to the PC.
  • If the script directly controls FlexDCA on an 86100D (Script on PC and Script on 86100D configurations), the extended module must be connected to the 86100D.

In the Flex-on-Flex configuration, the extended module cannot be connected to the 86100D.

Editable Constants

The following editable constant is located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Sript on PC configuration, this is the VISA address of FlexDCA on the 86100D. Locating the VISA address.
SLOT
Number number where DCA-M is installed.

Main Portion of Script

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
if introductory_text():
    FlexDCA=rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s
    FlexDCA.read_termination = '\n'
    FlexDCA.write(':TRIGger:SOURce FPANel')
    FlexDCA.write(':CHANnel'+SLOT+'A:DISPlay ON')
    FlexDCA.write(':ACQuire:RUN')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')
    FlexDCA.query(':SYSTem:AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    FlexDCA.timeout = 60000 # 60s
    pattern_locked = int(FlexDCA.query(':TRIGger:PLOCk?'))
    if pattern_locked:
        print('Acquiring 200 patterns. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 200')
    else:
        print('Acquiring 200 waveforms. Times out after 60s.\nPlease wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe WAVeforms')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('  Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    meas = FlexDCA.query(':MEASure:EYE:FALLtime?')
    print('\tFall Time: ' + meas + 's')
    meas = FlexDCA.query(':MEASure:EYE:RISetime?')
    print('\tRise Time: ' + meas + 's')
    meas = FlexDCA.query(':MEASure:EYE:AMPLitude?')
    print('\tEye Amplitude: ' + meas)
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\nProgram has successfully completed.')


Eye mask test with clock recovery

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example loads an eye mask test in Eye/Mask mode and returns mask hit counts and eye measurements. Requires an 86116C, 86115D, 86105D, or 86105C optical module and an 83496A or 83496B clock recovery module.

  • More examples

Editable Constants

The following editable constants are located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Script on PC configuration, this is the VISA address of FlexDCA on the 86100D. With the FlexDCA offline configuration, a simulated module will be used. Locating the VISA address
DATARATE
The data rate of the input signal, which by default is 9.953 Gb/s. You can modify this rate if your module supports a different rate.
MASKFILE
The file name including path for the eye mask that is loaded. The mask is imported from FlexDCA's Demo folder, which is sure to be available for the script. Any mask that you want can be used. The demo folder is indicated by the path substitution variable (%DEMO_DIR%).

Main Portion of Script

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS) # HiSLIP
FlexDCA.timeout = IOTIMEOUT # Set Timeout to 20s.
FlexDCA.read_termination = '\n' # Set termination characters

if introductory_text(ValidLeftModules,ValidRightModules):
    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to FlexDCA:\n' + s)
    if module_installed(ValidLeftModules,ValidRightModules):
        default_setup(True)
        clock_data_recovery()
    else:
        default_setup(False)
    load_eye_mask(MASKFILE)
    acquire_waveforms()
    get_measurement_results()
    print('\nProgram Finished.')
    error_messages()
    print_error_messages()
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()

Script Notes

  • Installed an 86116C, 86115D, 86105D, or 86105C optical module in 86100D's slot 1. Other optical modules can be used when using the Script on PC configuration and not Flex-on-Flex. But, you will have to add the model number of the module in the ValidLeftModules tuple which is located near the top of the script.
  • Installed an 83496A/B clock recovery module in 86100D's slot 3.
  • If the requested modules are not installed, a simulated module is configured in slot 5. In the default_setup() function, the following lines are used to install and configure the simulated module. Notice that random noise and random jitter can be added to the simulated signal.
  • A tuple of ValidLeftModules and a ValidRightModules is passed to the introductory_text() function so that the user can list the required modules. These tuples are also passed to the module_installed() function which confirms that both are installed.
  • An acquisition limit test is used to acquire 200 waveforms and this is done in the acquire_waveforms() function.
  • When a measurement result is queried, the resulting number string is in scientific notation, for example '2.0E10'. The eng_notation() function converts this number to engineering notation with a unit multiplier, for example '20.0 G'. The script adds the measurement units, for example '20.0 GHz'.


Eye measurement with simulated module

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example establishes a communication session with FlexDCA and performs two measurements.

  • More examples

Editable Constants

The following editable constants are located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Sript on PC configuration, this is the VISA address of FlexDCA on the 86100D. With the FlexDCA offline configuration, a simulated module will be used. Locating the VISA address

Script Notes

  • A simulated module is installed in slot 5 and the simulated signal is configured.
  • When a measurement result is queried, the resulting number string is in scientific notation, for example '2.0E10'. The eng_notation() function converts this number to engineering notation with a unit multiplier, for example '20.0 G'. You must add the measurement units, for example '20.0 GHz'.
  • At the end of the program, a while loop is used to query any error messages in FlexDCA's message buffer. The :SYSTem:ERRor:NEXT? query is used.

Main Portion of Script

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = 20000 # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
if introductory_text() and default_setup():
    install_simulated_module()
    make_measurements()
check_errors()
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session


Eye measurement shown in graph (IPython console)

Get the Example Scripts

Click these links to copy and paste into Python editor.

Main program:

  • Python 3.4 version
  • Python 2.7 version

This Python example demonstates monitoring a measurement (Eye Width) over time. The program creates an "inline" graph that is viewed in the IPython console. It also saves the graph to the file eye_width_graph_1A.png, which is written to the same located as the script. The example works with FlexDCA offline and installs a simulated module. No hardware is required. The Python matplotlib library is used to create the graph. Matplotlib is provided with Anaconda's distribution of Python.

The function, monitor_eye_width(), records the data and the create_time_data() function scales the data for the correct time units: seconds, minutes, or hours. The draw_and_save_graph() function shown below uses matplotlib to display the data in a graph..

def draw_and_save_graph(y_data, x_data, xunits, channel):
    """
    A matplotlib graph is created and saved to a file in the default folder.
    y_data argument is a list of Decimals of temperature readings.
    x_data argument is corresponding time positions.
    xunits is 'seconds', 'minutes', or 'hours'.
    channel argument is a string. eg, '1A'.
    """

    fig = plt.figure(figsize=(8,8),dpi=72)
    ax = fig.add_subplot(111)
    ax.grid(b=True, which='major', axis='both')
    s = 'Channel ' + channel + ' Eye Width over Time'
    s = s + '\n (Test time: '+ str(round(x_data[-1], 1)) +' ' + xunits + ')'
    ax.set_title(s)
    ax.set_xlabel(xunits.capitalize())
    ax.set_ylabel('Eye Width (Time in ps)')
    if len(y_data) < 20:
        ax.plot(x_data,y_data,'g.-') # data points shown
    else:
        ax.plot(x_data,y_data,'g-') # data points hidden. line only
    filename = 'eye_width_graph_' + channel + '.png'
    plt.savefig(filename, dpi=150)
    print('The file ' + filename + ' was saved in the default folder.')
    sys.stdout.flush() # Flush print message in stdout

Information on the Python environment

  • Example Code Environment
  • Installation instructions


Finding bit sequences within a pattern waveform

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example demonstrates locating and displaying bit sequences within a pattern waveform in Oscilloscope mode.

  • More examples

Editable Constants

The following editable constants are located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Script on PC configuration, this is the VISA address of FlexDCA on the 86100D. With the FlexDCA offline configuration, a simulated module will be used. Locating the VISA address
MODULES
List of modules that the script can use. These are the modules that are supported for the Flex-on-Flex setup configuration. If you are using the Script on PC configuration, additional modules may be added to this list.

Script Notes

  • Install a valid module in the left slot and display a signal on channel 1A.
  • If a module is not installed, a simulated module is automatically configured in slot 5.
  • The location of a bit sequence indicates the number of bits from the starting bit which, when the entire pattern is displayed, is located at the screen's left edge. The actual first bit in a pattern is unknown because clock triggering is used. The pattern display can begin at any location within the repeating pattern and ends after the number of bits in the pattern length is captured.

Main Portion of Script

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text(MODULES):
    channel = module_installed(MODULES, '1A')
    default_setup(channel)
    view_entire_pattern()
    run_acquisition_limit_test(channel)
    find_bit_sequence(channel)
    error_messages()
    print_error_messages()
    print('\nProgram Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


FlexEye testing: returning stdout from subprocess

Get the Example Scripts

Click these links to copy and paste into Python editor.

Main program:

  • Python 3.4 version
  • Python 2.7 version

Subprocess program:

  • Python 2.7/3.4 version

This Python example demonstates using FlexEye independent acquisition. The example works with FlexDCA offline and installs simulated modules. No hardware is required. For this example, two programs are used. One program is used to launch another program as a child process. The child process performs a measurement on a specific channel. To work, both programs must be located in the same folder. From the sidebar shown in this topic, you must save these two files:

  • FlexEye_stdout.py (parent process for Python 3.4), or
  • FlexEye_stdout_27.py (parent process for Python 2.7), and
  • FlexEye_stdout_child.py (child process)

The child process, subprocess_stdout.py, is run on six simulated FlexEye channels using Python's standard subprocess library.

The child process acquires 3000 waveforms and performs both eye width and eye height measurements on the eye. The data acquisition takes about 9 seconds. This example differs from the basic example in that it shows you how to perform these tasks:

  • The child process returns the eye width eye height measurements using stdout, which may be of value to you in rare instances.
  • The parent process uses the .communicate() method to pause its execution and read stdout from each child process. This allows the parent process to calculate the total time required to complete all child processes, which you can compare to the time required by one measurement which takes about 9 seconds.

Parent Process (FlexEye_stdout.py or FlexEye_stdout_27.py)

In the following code, note that the lines used to call the child process are colored orange.

import subprocess
import sys
import time
import visa # import VISA library

#Addresses for connecting to FlexDCA
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

IOTIMEOUT = 20000
ErrorList = []

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:\n' + \
        'Turns on FlexEye independent eye acquisition. FlexDCA is used\n' + \
        'offline on a PC and simulated modules are automatically\n' + \
        'installed. The subprocess_stdout.py script is run as a subprocess\n' + \
        'on each channel. Each channel is configured as an independent \n' + \
        'sampling oscilloscope.')
    print('-' * 50)
    s = raw_input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def install_simulated_modules(channels):
    """ Installs two simulated mini modules and configures the channels.
    """

    FlexDCA.query(':SYSTem:FACTory;*OPC?')
    # Install modules
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Dual elect. module
    FlexDCA.write(':EMODules:SLOT2:SELection DEMini') # Quad elect. module
    for ch in channels:
        FlexDCA.write(':SOURce'+ch+':DRATe 9.95328E+9')
        FlexDCA.write(':SOURce'+ch+':WTYPe DATA')
        FlexDCA.write(':SOURce'+ch+':PLENgth 127')
        FlexDCA.write(':SOURce'+ch+':AMPLitude 90E-3') # 90 mV amplitude
        FlexDCA.write(':SOURce'+ch+':NOISe:RN 3.0E-6') # Add 3 uV random noise
        FlexDCA.write(':SOURce'+ch+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
        FlexDCA.write(':CHANnel'+ch+':DISPlay ON')
    print('Simulated modules installed.')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def start_FlexEye(channels):
    """ Turns on FlexEye independent eye acquisition for each selected
    channel.
    """
    session_id = 1
    for ch in channels:
        FlexDCA.write(':FEYE:CHANnel' + ch + ':SID ' + str(session_id))
        FlexDCA.write(':FEYE:CHANnel' + ch + ':ENABled ON')
        session_id += 1
    FlexDCA.query(':FEYE:STATe RUN;*OPC?')

def run_child_processes(primary_address, channels):
    """ Starts the FlexEye child process for each channel. Then, reads the
    stdout messages from each child process. This causes the parent process
    to wait for all results which in turn allows us to measure and report the
    total time taken to run all child processess.
    """
    child_processess = [] # list of child processes
    i = 1 # hislip number
    cmd = ['python','FlexEye_stdout_child.py','','']
    # Start all child processess
    for ch in channels:
        cmd[2] = primary_address.replace('hislip0', 'hislip' + str(i))
        cmd[3] = ch
        p = subprocess.Popen(cmd,stdout=subprocess.PIPE,universal_newlines=True)
        child_processess.append(p)
        i += 1
    # Query each child process for result
    i = 0
    for proc in child_processess:
        out = proc.communicate()[0]
        s1,s2 = out.split(',')
        print('Channel ' + channels[i] + ' measurements:')
        print('   Eye Width: ' + s1)
        print('   Eye Height: ' + s2)
        sys.stdout.flush()
        i += 1

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
s = FlexDCA.query('*CLS;*IDN?')
print('\nLAN Connection established to FlexDCA:\n')
sys.stdout.flush()
channels = ['1A','1B','1C','1D','2A','2B']
#channels = ['1A',]
if introductory_text():
    install_simulated_modules(channels)
    start_FlexEye(channels)
    start_time = time.time()
    run_child_processes(FLEXDCA_ADDRESS, channels)
    process_time = int(time.time() - start_time)
    m, s = divmod(process_time, 60)
    print('Time required for all child processess to complete was:' + \
            '\n' + str(m) + ' minutes, ' + str(s) + ' seconds.\n')
    sys.stdout.flush()
    print('Program Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()

Child Process (FlexEye_stdout_child.py)

In the following code, the print() statement is used to send the eye width and eye height measurements back to the parent process.

import sys
import visa # http://pyvisa.sourceforge.net

# for testing
#address = 'TCPIP0::localhost::hislip0,4880::INSTR'
#channel = '1A'

# for running as subprocess
address = sys.argv[1] # VISA address command-line argument
channel = sys.argv[2] # scope channel command-line argument

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(address)
FlexDCA.timeout = 20000 # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
FlexDCA.query(':SYSTem:MODE EYE;*OPC?')
FlexDCA.write(':CHANnel'+ channel +':DISPlay ON')
FlexDCA.query(':SYSTem:AUToscale;*OPC?')
FlexDCA.write(':ACQuire:STOP')
FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 3000')
FlexDCA.write(':LTESt:ACQuire:STATe ON')
FlexDCA.query(':ACQuire:RUN;*OPC?')
FlexDCA.write(':LTESt:ACQuire:STATe OFF')
FlexDCA.write(':MEASure:EYE:EWIDth:SOURce CHANnel' + channel)
FlexDCA.write(':MEASure:EYE:EWIDth')
FlexDCA.write(':MEASure:EYE:EHEight:SOURce CHANnel' + channel)
FlexDCA.write(':MEASure:EYE:EHEight')
width = FlexDCA.query(':MEASure:EYE:EWIDth?')
height = FlexDCA.query(':MEASure:EYE:EHEight?')
s = width + ',' + height
print(s) # stdout returned to parent process
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session

Information on the Python environment

  • Example Code Environment
  • Installation instructions


FlexEye testing: running FlexEye child processess

Get the Example Scripts

Click these links to copy and paste into Python editor.

Main program:

  • Python 3.4 version
  • Python 2.7 version

Subprocess program:

  • Python 2.7/3.4 version

This Python example demonstates using FlexEye independent acquisition. The example works with FlexDCA offline and installs simulated modules. No hardware is required. For this example, two programs are used. One program is used to launch another program as a child process. The child process performs a measurement on a specific channel. To work, both programs must be located in the same folder. You can run this example in both Python 2.7 and 3.4. From the sidebar shown in this topic, you must save these two files:

  • FlexEye_sessions.py (parent process for Python 3.4), or
  • FlexEye_sessions_27.py (parent process for Python 2.7), and
  • FlexEYE_sessions_child.py (child process)

The child process, subprocess_basic.py, is run on six simulated FlexEye channels using Python's standard subprocess library.

The child process acquires 3000 waveforms and performs a risetime measurement on the resulting eye. The data acquisition takes about 9s, so you should see the measurements populate the FlexDCA's Results table. While this example is not really useful, it does keep the example simple and so that the tasks envolved are easy to see.

Parent Process (FlexEYE_sessions.py)

In the following code, note that the lines used to call the child process are colored orange. The arguments passed to subprocess.Popen() are passed as a list. When you run this program, you will see the entire list (converted to a string) that is passed to each call to subprocess.Popen().

import subprocess
import visa # import VISA library

def install_simulated_modules(channels):
    """ Basic setup."""
    FlexDCA.query(':SYSTem:FACTory;*OPC?')
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Dual elect. module
    FlexDCA.write(':EMODules:SLOT2:SELection DEMini') # Quad elect. module
    for ch in channels:
        FlexDCA.write(':SOURce'+ch+':DRATe 9.95328E+9')
        FlexDCA.write(':SOURce'+ch+':WTYPe DATA')
        FlexDCA.write(':SOURce'+ch+':PLENgth 127')
        FlexDCA.write(':SOURce'+ch+':AMPLitude 90E-3') # 90 mV amplitude
        FlexDCA.write(':SOURce'+ch+':NOISe:RN 3.0E-6') # Add 3 uV random noise
        FlexDCA.write(':SOURce'+ch+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
        FlexDCA.write(':CHANnel'+ch+':DISPlay OFF')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def start_FlexEye(channels):
    """ Turns on FlexEye independent eye acquisition for each selected
    channel.
    """
    session_id = 1
    for ch in channels:
        FlexDCA.write(':FEYE:CHANnel' + ch + ':SID ' + str(session_id))
        FlexDCA.write(':FEYE:CHANnel' + ch + ':ENABled ON')
        session_id += 1
    FlexDCA.query(':FEYE:STATe RUN;*OPC?')

def run_child_processes(channels):
    """ Runs a for loop that builds the VISA address for each subprocess
    and then runs the subprocess.
    """
    i = 1 # hislip number
    cmd = ['python','FlexEYE_sessions.py','','']
    for ch in channels: # build command for child process
        cmd[2] = 'TCPIP0::localhost::hislip' + str(i) + ',4880::INSTR'
        cmd[3] = ch
        subprocess.Popen(cmd) # launch child process
        print('\nSubprocess command '+ str(i) + ':')
        print(' '.join(cmd))
        i += 1
    print('\nAll child processes have been launched.\nMeasurements will be ' + \
            'displayed on FlexDCA\'s Results table.')

"""________________________________________
   Main script
"""
rm = visa.ResourceManager()
FlexDCA = rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
FlexDCA.timeout = 20000
FlexDCA.read_termination = '\n' # Set termination characters
channels = ['1A','1B','1C','1D','2A','2B']
install_simulated_modules(channels)
start_FlexEye(channels)
run_child_processes(channels)
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()

Child Process (FlexEYE_sessions_child.py)

import sys
import visa # http://pyvisa.sourceforge.net

address = sys.argv[1] # VISA address command-line argument
channel = sys.argv[2] # scope channel command-line argument
rm = visa.ResourceManager()
FlexDCA = rm.open_resource(address)
FlexDCA.timeout = 30000 # Set connection timeout to 30s.
FlexDCA.read_termination = '\n'
FlexDCA.write(':CHANnel'+channel+':DISPlay ON')
FlexDCA.write(':ACQuire:RUN')
FlexDCA.query(':AUToscale;*OPC?')
FlexDCA.write(':ACQuire:STOP')
FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 3000')
FlexDCA.write(':LTESt:ACQuire:STATe ON')
FlexDCA.query(':ACQuire:RUN;*OPC?')
FlexDCA.write(':ACQuire:STOP')
FlexDCA.write(':LTESt:ACQuire:STATe OFF')
FlexDCA.write(':MEASure:EYE:RISetime:SOURce ' + channel)
FlexDCA.write(':MEASure:EYE:RISetime')
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session

Information on the Python environment

  • Example Code Environment
  • Installation instructions


FlexEye testing: tkinter graphs in subprocess

Get the Example Scripts

Click these links to copy and paste into Python editor.

Main program:

  • Python 2.7 version

Subprocess program:

  • Python 2.7 version

This Python example demonstates using FlexEye independent acquisition with a child process that creates a tkinter graph and displays the graph in a window. The example works with FlexDCA offline and installs simulated modules. No hardware is required. For this example, two programs are used. One program is used to launch another program (child process) that draws a graph of eye width over time. To work, both programs must be located in the same folder. This is a Python 2.7 example, only. From the sidebar shown in this topic, you must save these two files:

  • FlexEye_graph_tk_27.py (parent process for Python 2.7), and
  • FlexEye_graph_tk_child_27.py (child process for Python 2.7)

The child process, FlexEye_graph_tk_child_27.py, is run on six simulated FlexEye channels using Python's standard subprocess library. For each channel, the following graph of eye width over time is displayed. The graph data is acquired over one minute so the program can appear to be locked up. Therefore, be sure to give the program enough time to complete. The child process uses matplotlib to draw the graph which is then placed in a tkinter canvas widget to be displayed in a Tkinter window. Both matplotlib and tkinter are provided with Anaconda's distribution of Python. The child process will not end until you close the Tkinter window.

Normally, the parent process would complete long before the child processes have even started to gather the plot data. But in this example, the parent tests for the completion of all child processes allowing the parent program to report the time that it took to display all of the graphs. As you can see in the graph below, the Tkinter window includes toolbar that allows you to save the graph to a bitmap or vector graphics file.

If the Tkinter window cannot be displayed

The ability to display a Tkinter graph depends on the ability to configure the tkAgg graphics "backend" for matplotlib using the matplotlib.use('TkAgg') method. IPython can prevent this from working depending on its Preference settings. If you have problems displaying the graph:

  1. Open the Spyder editor and click Tools > Preferences.
  2. In the Preferences dialog box, select IPython console.
  3. Under Support for graphics (Matplotlib), select the Graph tab.
  4. Unselect Active support. If this setting is selected, the backend may be hard set to "Inline".
  5. Restart the Spyder editor.

After running this example, you'll need to return the Graphics tab to its normal settings if you plan to use IPython to view matplotlib graphs in the IPython console. This feature requires the "Inline" backend.

Parent Process (FlexEye_graph_tk_27.py)

In the parent process, the run_child_processes() function first launches all of the child processes. Then, the function checks the child processes one-by-one for a stdout message indicating that the graph has been displayed. This code is shown as orange in the following code listing. Once all graphs are displayed, the overall time spent creating the graphs is calculated and displayed. The function cannot wait for the child processes to be completed as in the FlexEye stdout example because the child process does not end until you manually close all of the graph windows.

def run_child_processes(primary_address, channels):
    start_time = time.time()
    child_processess = [] # list of child processes
    cmd = ['python',
           'FlexEye_graph_tk_child_27.py',
           'TCPIP0::localhost::hislip0,4880::INSTR',
           '']
    # Start each session
    i = 1 # hislip number
    for ch in channels:
        session_address = primary_address.replace('hislip0', 'hislip' + str(i))
        cmd[2] = session_address
        cmd[3] = ch
        p = subprocess.Popen(cmd,stdout=subprocess.PIPE,universal_newlines=True)
        child_processess.append(p)
        i += 1
    # Pauses parent execution waiting for "graph displayed" message from child.
    # This allows ability to discover time needed to display the graphs.
    for n in range(len(child_processess)):
        while True:
            line = child_processess[n].stdout.readline()
            if line:
                print(line) # graph displayed message
                sys.stdout.flush()
                break
    process_time = int(time.time() - start_time)
    m, s = divmod(process_time, 60)
    print('Time required for child processess to perform measurements\n' + \
            'and display graphs was: '+str(m)+' minutes, '+str(s)+' seconds.\n')
    sys.stdout.flush()

Child Process (FlexEye_graph_tk_child_27.py)

In the child process, the monitor_eye_width() function records the data and the create_time_data() function scales the data for the correct time units: seconds, minutes, or hours. The draw_graph() function shown below uses matplotlib combined with tkinter to display the data in a graph. At the end of the function, a print statement is used to return the message to the parent process that the graph is displayed. In the main body of the child script, the test_time and time_sep variables determine the total time span of the graph, in this case one minute, and the time separation between measurement points.

def draw_graph(y_data, x_data, xunits, channel):

    import matplotlib
    matplotlib.use('TkAgg')
    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
    from matplotlib.figure import Figure
    if sys.version_info[0] < 3:
        import Tkinter as Tk
    else:
        import tkinter as Tk

    def close_window():
        root.quit()
        root.destroy()

    root = Tk.Tk()
    root.wm_title("Graph of Eye Width")
    root.wm_attributes("-topmost", 1) # Make sure window remains on top
    root.focus() # Set focus to window

    # Override and redirect Windows close button
    root.protocol('WM_DELETE_WINDOW', close_window)
    # create figure
    fig = Figure(figsize=(8,8),dpi=72)
    ax = fig.add_subplot(111)
    ax.grid(b=True, which='major', axis='both')
    s = 'Channel ' + channel + ' Eye Width over Time'
    s = s + '\n (Test time: '+ str(round(x_data[-1], 1)) +' ' + xunits + ')'
    ax.set_title(s)
    ax.set_xlabel(xunits.capitalize())
    ax.set_ylabel('Eye Width (Time in ps)')
    if len(y_data) < 20:
        ax.plot(x_data,y_data,'g.-') # data points shown
    else:
        ax.plot(x_data,y_data,'g-') # data points hidden. line only
    # draw canvas
    canvas = FigureCanvasTkAgg(fig, master=root)
    canvas.show()
    canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
    toolbar = NavigationToolbar2TkAgg(canvas, root)
    toolbar.update()
    canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
    # create close button
    button = Tk.Button(master=root, text='Close', command=close_window)
    button.pack(side=Tk.BOTTOM)
    print('The channel ' + channel + ' graph is now displayed.')
    sys.stdout.flush() # Flush print message in stdout
    Tk.mainloop()

Information on the Python environment

  • Example Code Environment
  • Installation instructions


Jitter mode measurements

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example shows how to configure clock data recovery, configure a precision timebase, and setup an acquisition limit test to acquire one waveform pattern. Jitter mode measurements are returned and displayed in the same format as shown on FlexDCA's screen.

  • More examples

Editable Constants

The following editable constants are located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Sript on PC configuration, this is the VISA address of FlexDCA on the 86100D. With the FlexDCA offline configuration, a simulated module will be used. Locating the VISA address

Script Notes

  • If the requested 86108A/B module is not installed, a simulated module is automatically configured in slot 5.
  • When a measurement result is queried, the resulting number string is in scientific notation, for example '2.0E10'. The eng_notation() function converts this number to engineering notation with a unit multiplier, for example '20.0 G'. You must add the measurement units, for example '20.0 GHz'.

Main Portion of Script

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT # Set Timeout to 20s.
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text() and module_installed():
    default_setup()
    if (Module_86108): # 86108A/B module is present
        clock_data_recovery()
        precision_timebase()
    acquire_pattern()
    get_measurement_results()
    print('\nProgram Finished.')
    error_messages() # Check FlexDCA for any error messages
else:
    print('\nProgram aborted.')
error_messages()
print_error_messages()
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


Math function with acquisition limit test

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example uses a math function in Eye/Mask mode to remove an S2P response for a device in the test setup, performs a limit test to acquire 200 waveforms, and saves the pattern waveform along with a screen capture.

  • More examples

Editable Constants

The following editable constants are located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Script on PC configuration, this is the VISA address of FlexDCA on the 86100D. With the FlexDCA offline configuration, a simulated module will be used. Locating the VISA address.
SPARAMETER_FILE
The file name including path for the s2p file that is loaded into a math function. The file is imported from FlexDCA's Demo folder, which is sure to be available for the script. The demo folder is indicated by the path substitution variable (%DEMO_DIR%). Path subsitution variables make saving files in the default user folders easier and more reliable because they automatically point to different paths depending if FlexDCA is running on a PC or 86100D.
SCEENFILE
The file name including path for a screen capture file to save. The file is placed in the \Screen Images folder beneath the user folder as indicated by the path substitution variable (%USER_DATA_DIR%). This constant and the following PATTERNFILE constant are passed to the define_limit_test_files() function. Path subsitution variables make saving files in the default user folders easier and more reliable because they automatically point to different paths depending if FlexDCA is running on a PC or 86100D.
PATTERNFILE
The file name including path for a pattern waveform to save. The file is placed in the \Waveforms folder beneath the user folder as indicated by the path substitution variable (%USER_DATA_DIR%).

Main Portion of Script

if introductory_text(MODULES):
    rm = visa.ResourceManager()
    FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT
    FlexDCA.read_termination = '\n' # Set termination characters
    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to FlexDCA:\n' + s, flush=True)
    module = module_installed(MODULES)
    default_setup(module)
    if module != 'simulated':
        clock_data_recovery()
        precision_timebase()
    if pattern_lock():
        define_math_operator(module, SPARAMETER_FILE)
        define_limit_test_files(SCREENFILE, PATTERNFILE)
        run_acquisition_limit_test()
    error_messages()
    print_error_messages()
    FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
    FlexDCA.close()
    print('Program Finished.')

Script Notes

  • If the requested 86108A/B module is not installed, a simulated module is automatically configured in slot 5.
  • Connect a 9.95328 Gb/s signal to channel 1A.
  • The define_math_operator() function creates an Apply s2p math function (CONVolve) and imports an s2p file. The default file selected by virtue of its availability for the example, but you can substitute an s2p file to your liking.
  • A limit tests is configured to save a waveform (internal format) and a screen capture upon acquiring one pattern. The define_limit_test_files() and run_acquisition_limit_test() functions are used. Notice that the I/O timeout is temporarily increased in this function to compensate for the increase time that is required to capture the waveform. In the last four lines, the path and name of two filenames are queried. Although these filenames were saved using path substitution variables, when you query them back you get the full path as defined for the PC or 86100D.


Pattern acquisition saved to files

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example acquires 32 patterns waveforms in oscilloscope mode. The resulting pattern waveform is saved both in internal and XY-values formats. A screen capture is also saved.

  • More examples

Editable Constants

The following editable constants are located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Sript on PC configuration, this is the VISA address of FlexDCA on the 86100D. With the FlexDCA offline configuration, a simulated module will be used. Locating the VISA address

Main Portion of Script

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text(MODULES):
    channel = module_installed(MODULES, '1A')
    default_setup(channel)
    define_limit_test_files(channel, SCREENFILE, PATTERNFILE)
    run_acquisition_limit_test(channel)
    save_pattern_waveform_file(channel, PATTERNTXTFILE)
    print('\nProgram Finished.')
    error_messages()
    print_error_messages()
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()

Script Notes

  • Install an 861xxA/B/C/D optical module in the left slot and display a signal on channel 1A.
  • If a module is not installed, a simulated module is automatically configured in slot 5.
  • In the default_setup() function, the samples-per-bit setting is configured to be 21.99212598. Whole number values for this setting are to be avoided so as to prevent aliasing the waveform.
    • FlexDCA.write(':ACQuire:SPBit 31.99212598')
  • The number of pattern waveforms acquired (32) is equal to the number of waveforms specified to be used for smoothing.
  • The acquisition limit test is configured to save a pattern waveform in internal format. Because this script requires that the waveform also be saved in text XY-value format, this is accomplished separately by the save_pattern_waveform_file() function.
  • Notice the use of a path substitution variable (%USER_DATA_DIR%) for the path of the three saved files. This variable makes saving files in the default user folders easier and more reliable especially between setup configurations.
  • A global channel variable is set to "1A" if a 86100D module is used or "5A" if a simulated module is used. This allows the same code to be used for both situations. Simulated modules are setup in slot 5 as this slot is always available versus slots 1 through 4, which may be dedicated to 86100D modules with certain setup configurations.
  • In the run_acquisition_limit_test() function, the timeout value is temporarily increased due to the increased time required for saving data.
  • An handle_OPC_query() function has been added to this script. This function handles command that requires a relatively long task. The function prints a message that includes the function's second argument indicating the pass or fail condition of the FlexDCA task.


Graphing a remote head's temperature over time

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version

This Python example graphs the temperature of a remote head over time. Supported remote head modules are the N1045A electrical and N1055A TDR module. A graph is saved as a PNG file (bitmap) and as a PS file (postscript, vector). The following picture shows the temperature variation of a remote head in a thermally uncontrolled setting. A reading was taken every 5 seconds for 10 hours.

Note

This graph is a result of the module being inserted into an 86100D just before the test was started. Obviously, with a change of 6V at the start of the test one would want to perform a quick module calibration.

  • More examples

Main Portion of Script

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
mode = introductory_text()
mode = basic_setup(mode, FLEXPC_ADDRESS, FLEXD_ADDRESS, THE_86100D_NAME)
if setup_correct(mode):
    slots = discover_modules()
    show_found_modules(slots)
    channel, test_time, time_sep = get_test_parameters(REQUIRED_MODULES,slots)
    if channel and test_time and time_sep:
        y_data = monitor_temperature(channel, test_time, time_sep)
        x_data, xunits = create_time_data(len(y_data), test_time, time_sep)
        plot_thermal_data(y_data, x_data, xunits, channel)
        print('Program has successfully completed.')
    else:
        print('Aborting program.')
    error_messages()
    print_error_messages() # Check FlexDCA for any error messages
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


Saves Results table to an HTML file

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example returns the values shown on FlexDCA's Results table (Jitter and Amplitude tables in Jitter Mode) and saves the data to an HTML file. The script uses the :MEASure:RESults? query to return the values. You can view this file in a web browser or import the HTML file into Microsoft Excel. The following picture is an example of the output HTML file which was created from a waveform from an N1090A DCA-M:

  • More examples

Algorithm

  1. Open a FlexDCA session via LAN.
  2. Identifies FlexDCA and the FlexDCA's mode. Returns the data from the Results or Jitter and Amplitude tables. The returned tale data is a list.
  3. Replaces abbreviations in the data and marks any "9.91E+37" results as invalid.
  4. Converts the data list into a list of dictionaries. The number of list entries equals the number of measurements in the table. Each list entry is a dictionary that contains all of the fields for a single measurement.
  5. Converts each number string for each table entry from scientific notation to engeneering notation and adds the measurement units.
  6. Creates an HTML topic with CSS styles.
  7. Creates the headings for an HTML table.
  8. Creates the data rows in an HTML table.
  9. Writes the HTML string to an HTML file nameed for the instrument mode.
  10. Close the FlexDCA session.

Main Portion of Script

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

if introductory_text() and connect_to_FlexDCA():
    mode = get_FlexDCA_mode()
    data = FlexDCA.query(':MEASure:RESults?;*OPC?')
    if data == '':
        print('\nNo measurements are available!')
        print('Perform a measurement on a waveform,')
        print('and then restart this script.')
    else:
        table_headings = get_table_headings(mode)
        data = replace_abbreviations(data)
        processed_data = create_list_of_meas_dictionaries(data)
        processed_data = convert_meas_values(processed_data, mode, table_headings)
        filename = get_filename(mode)
        fout = open(filename, 'wt')
        fout.write(create_html_topic(mode))
        fout.write(create_html_table_heading(table_headings))
        fout.write(create_html_table_entries(table_headings, processed_data))
        fout.close()
        print('\n\nFile created in the script\'s folder:')
        print('    "' + filename + '"\n')
        print('Open the file in web browser. Or, import\ninto Microsoft Excel.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


TDR mode DUT setup with fixture de-embedding

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example creates a 2-port single-ended DUT setup and applies fixture de-embedding. No TDR waveforms are captured or measured, as this script simply shows how to successfuly setup a DUT with de-embedding. Before running the script, you must install an N1055A TDR module in the 86100D's slot 1. Calibrate the module.

  • More examples

Editable Constants

At the top of the script, edit the following three global constants with your values. Each constant must have a value and all three are passed to the basic_setup() function. Refer to locating the VISA address.

FLEXDCA_ADDRESS
Edit this constant to be the VISA HiSLIP address for FlexDCA on the PC. This constant is used when making a connection to FlexDCA in Flex-on-Flex or Flex Offline configurations.
FLEXD_ADDRESS
Edit this constant to be the VISA HiSLIP address for FlexDCA on the 86100D. This constant is used when making a connection to FlexDCA in Script on PC configuration.
THE_86100D_NAME
Edit this constant to be the 86100D's computer name. This constant is used in Flex-on-Flex configurations to connect FlexDCA on the PC to FlexDCA on the 86100D. If FlexDCA on the PC has already been manually connected to FlexDCA on the 86100D, this constant is ignored. One might prefer to name this constant 86100D_NAME, but Python variables cannot begin with a number.
SPARAMETER_FILE
The file name including path for the s2p file that is loaded into the new deembed fixtures. This happens in the create_deembed_fixture() function. The file is imported from FlexDCA's Demo folder, which is sure to be available for the script. Any s2p that you want can be substituted. The demo folder is indicated by the path substitution variable (%DEMO_DIR%). Path subsitution variables make saving files in the default user folders easier and more reliable because they automatically point to different paths depending if FlexDCA is running on a PC or 86100D.

Main Portion of Script

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
mode = introductory_text()
mode = basic_setup(mode, FLEXPC_ADDRESS, FLEXD_ADDRESS, THE_86100D_NAME)
if setup_correct(mode):
    slots = discover_modules()
    show_found_modules(slots)
    slot = select_slot(REQUIRED_MODULES,slots)
    if 1 <= slot <= 8:
        assign_module_channels(slot)
        handle_OPC_query(':SYSTem:MODE TDR', 'Change to TDR mode')
        dut = find_available_dut()
        fcom1 = ''
        fcom2 = ''
        fcom1, fcom2 = find_available_fixtures(fcom1, fcom2)
        if fcom1 == '':
            print('\nNot enough fixtures available. Limit is 16.' + \
                    '\nProgram has aborted.')
        else:
            create_deembed_fixture(fcom1, SPARAMETER_FILE)
            create_deembed_fixture(fcom2, SPARAMETER_FILE)
            create_TDR_setup(dut, fcom1, fcom2)
            if chC:
                FlexDCA.write(':' + chC + ':DISPlay OFF')
            if chD:
                FlexDCA.write(':' + chD + ':DISPlay OFF')
            save_instrument_state(dut)
            print('Program has successfully completed.')
    else:
        print('Aborting program.')
    error_messages()
    print_error_messages() # Check FlexDCA for any error messages
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()

Script Notes

An introductory_text() function is used to let the user specify the setup configuration. After the selection is made the following functions are used to ensure the correct setup with appropriate actions and messages to the user:

  • basic_setup() function that queries, makes, and confirms the VISA connections and setup using these functions:
    • connect_to_FlexDCA() function that makes the VISA connection to FlexDCA and sets the I/O timeout value.
    • flex_on_flex() function that tests if FlexDCA on the PC is already connected to FlexDCA on 86100D.
    • flex_on_PC() function that tests if FlexDCA is on PC and is or is not connected to an 86100D.
    • connect_flex_to_flex() function that use that 86100D computer name (THE_86100D_NAME constant) to connect FlexDCA on the PC to FlexDCA on 86100D. To make this connection, commands in the :RDCA subsystem are used.
  • discover_modules() function that returns a dictionary of all installed modules with their slot numbers. This includes both hardware, extended, and simulated modules.
  • confirm_modules() function that checks if all required modules are found in the installed modules dictionary that was returned by discover_modules(). If multiple modules of the same type are installed, the module that is installed in the lowest numbered slot will be used.
  • confirm_N1090A_signals() function that confirms the N1090A data and trigger signals. This function calls the N1090A_data_options() function to discover the available data rates for the installed N1090A and print them.

The find_available_dut() function, locates the first available DUT definition. Up to 16 DUTs can be defined. Determines the next available DUT number and returns that DUT. So, if 3 DUTs exist, it returns "DUT4".

The find_available_fixture() function, locates the first available deembed definition. Up to 16 fixture components can be defined for the Fixture De-Embedding setup. Returns a list of the requested fixture names. So, if 3 fixtures exist (a,b, and c), it returns "FCOMD" and "FCOME'. Up to 16 fixtures can exist with the last one identified with the letter "P". If there are not enough available fixtures and empty list is returned.

The create_deembed_fixture() function creates a new fixture component. The 5th character in the fixture argument (index number 4) identifies the new fixter. For example, "E" in "FCOME". Letters can range from "A" to "P". The filename argument is the s2p file.

The create_TDR_setup() function, creates a new TDR DUT setup (2-port SE) using the dut argument. The dut argument is a string. For example, "DUT4".

Algorithm

  1. Connects to FlexDCA.
  2. Makes and confirms the setup configuration.
  3. Changes to TDR/TDT mode. Assumes that an N1055A TDR module is installed in slot 1.
  4. Determine if a DUT definition is available in TDR Setup. A maximum of 16 DUTs defined.
  5. Determine if two fixture de-embedding component definitions are available in TDR De-Embedding Setup. A maximum of 16 fixture components defined.
  6. Creates two fixture components if available otherwise aborts program. The fixture components are created from an s2p S-parameter file that is located in the FlexDCA's Demo folder.
  7. Creates a new single-ended DUT setup with fixture deembeding.
  8. Turns on the channel 1A step. Turns on channel 1B. Turns off channels 1C and 1D.
  9. Save an instrument state. For example, DUT3.setx. This ensures that the DUT setup and fixture de-embedding compontents are saved.
  10. Closes the FlexDCA session.


Tracking markers

Get the Example Script

Click these links to copy and paste into Python editor

  • Python 3.4 version
  • Python 2.7 version

This Python example demonstrates using tracking markers in Oscilloscope mode. This script runs in Flex Offline configuration, so a simulated module and waveform is used instead of an 86100D.

  • More examples

Editable Constants

The following editable constants are located near the top of the script.

FLEXDCA_ADDRESS
Assigned the VISA address of FlexDCA. For Flex-on-Flex or Flex Offline, this is the VISA address of FlexDCA on the PC. For the Script on PC configuration, this is the VISA address of FlexDCA on the 86100D. With the FlexDCA offline configuration, a simulated module will be used. Locating the VISA address
MODULES
List of modules that the script can use. These are the modules that are supported for the Flex-on-Flex setup configuration. If you are using the Script on PC configuration, additional modules may be added to this list.

Main Portion of Script

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
s = FlexDCA.query('*CLS;*IDN?')
print('\nLAN Connection established to FlexDCA:\n' + s, flush=True)
if introductory_text():
    default_setup()
    create_math_operators(SPARAMETER_FILE)
    run_acquisition_limit_test()
    find_bit_sequence()
    create_measurement_regions()
    create_markers()
    clean_display()
    show_results()
    error_messages()
    print_error_messages()
    print('Program Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


Programming Quick Start Guide

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye

Quick Start Guide

Videos on YouTube

Go to www.youtube.com and search for Keysight Technologies Getting Started w/Python for Test and Measurement. You'll find videos on:

  • Installing Keysight's free I/O libraries that includes VISA and Keysight's Connection Expert application.
  • Installing the required Python applications.
  • Basics of writing Python scripts.
  • Instrument control using PyVISA.
  • Specific examples using FlexDCA's SCPI recorder.

There are four different setups for controlling FlexDCA and the 86100D. Click the following setup pictures to view an explanation of the setup and example Python scripts that illustrate different methods for controlling FlexDCA. You should be able to apply the general techniques used to many programming environments. Notice that the pictures show the availability of extended hardware modules such as an N1090A DCA-M.

  • Installing Python
  • General Information on the Python Scripts
  • Configuration 1. Flex-on-Flex
  • Configuration 2. Flex Offline
  • Configuration 3. Script on PC
  • Configuration 4. Script on 86100D
  • Python 3.4 and 2.7 Examples
The Four Basic Setup Configurations
Configuration 1. Flex-on-Flex Controlling FlexDCA on 86100D from FlexDCA PC | Configuration 2. Flex Offline
Configuration 3. Script on PC Controlling 86100D from PC | Configuration 4. Script on 86100D (Controlling 86100D Without PC)

Note

It is recommended that you start learning to control FlexDCA with Configuration 2. FlexDCA Offline.

Example Code Environment

All of the examples shown in this section were written for Python 2.7 and 3.5 and were all tested using the following environment:

  • Windows 7 PC
  • Keysight IO Libraries Suite installed for VISA (Virtual Instrument Software Architecture) library. Go to http://www.keysight.com/find/iosuite.
  • Python 3.5. Anaconda Python distribution (Windows 32-bit) from Continuum Analytics installed using the graphical installer. Python 2.7 also activated as explained in Installing Python. For information on Anaconda, go to https://www.continuum.io/downloads.
  • PyVISA which is a Python front end for the VISA library. The correct version of PyVISA is provided with Anaconda. To learn about PyVISA, go to http://pyvisa.sourceforge.net/pyvisa/ and to pyvisa.readthedocs.org.

Note

All of the examples shown in this section present a Python script that establishes a LAN connection using the HiSLIP interface. GPIB connections are not presented.

Note

Some firewall applications might block SICL/LAN communications.


General Information on the Python Scripts

The example Python scripts have been designed with the following goals:

  • Show increased capability by building the example script in four steps. If you’re experienced at instrument control, skip steps 1 though 3 and immediately run the final script which is in step 4 for each configuration.
  • Compatibility with Python 2.7 and 3.5, if possible to increase the probability that the scripts will run in your environment. Your own script will probably not need this capability. Including robust support for version compatibility is beyond the scope of these example programs.
  • Error handling with try and except blocks is used to gracefully handle many problems such as I/O timeouts.
  • The scripts connect to FlexDCA, whether on the PC or 86100D, using statements within the script rather than manually from the front panel. FlexDCA is returned to local mode when the script finishes.
  • FlexDCA’s error buffer is checked at the end of the program and during commands that require a *OPC? query.

print() Statements

The Python 3.x print() statement is used to provide messages on the script’s progress to the user. This works in Python 2.x as long as you do not pass multiple strings to the function.

Message Timing

When the print() statement is used as described above, under certain conditions your message may appear on screen sometime later than they should and this can be very confusing. For example, if you acquiring waveforms as shown here:

print(‘Acquiring 100 waveforms.’)
FlexDCA.write(:ACQuire:RUN';*OPC?)

You’ll watch FlexDCA capture the waveforms and then write the statement “Acquiring 100 waveforms” to the screen! The solution is to flush the stdout buffer. In Python 3.x, this can be done by:

print(‘Acquiring 100 waveforms.’, flush=True)
FlexDCA.write(:ACQuire:RUN';*OPC?)

In Python 2.x and 3.x, the same task can be accomplished with:

print(‘Acquiring 100 waveforms.’)
sys.stdout.flush()
FlexDCA.write(:ACQuire:RUN';*OPC?)

Reading User Input

The input statements for getting a response from a user are different between Python versions. In Python 3.x, use the input() function. In Python 2.x, use the raw_input() function. In versions of the scripts in steps 3 and 4, you must comment out one of two input lines before running the script. For example, to run the script in Python 3.x:

# PYTHON VERSION SPECIFIC CODE!
input('Press any key to continue!') # Python 3.x
#raw_input('Press any key to continue!') # Python 2.x

Testing the Code for Reading FlexDCA’s Error Buffer

The final script for each configuration (Step 4), includes the following lines so that you can see how the script handles FlexDCA commands that result in an error. These two commands are commented out so they are never sent during normal execution. Simply uncomment both of the lines and run the script. The first command obviously does not exist (at least I hope!) and the second command is a valid command but the argument is out of range.

# FORCED COMMAND ERRORS
#FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command!
#FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range error!


Installing Python

Anaconda automatically installs the code for both Python version 3.x and 2.x. The example Python scripts are provided in both Python 3.4 and 2.7 versions. so you should be able to convert them to 2.x is you prefer to work in Python 2.x.

  1. Install Keysight IO Libraries Suite. Download the suite from http://www.keysight.com/find/iosuite.
  2. Go to https://www.continuum.io/downloads and download the graphical Python 3.5 Anaconda Python distribution (Windows 32-bit). Don’t worry, you’ll get both Python 3.5 and 2.7.
  3. Open Windows Command Prompt. To locate Command Prompt, search for cmd on the Start menu.
  4. In Windows Command Prompt, enter the following commands to confirm the installation and to install PyVISA for Python 3.5.
    5. cd c:\
conda info
pip install pyvisa
  5. If you want to run the Python 2.7 examples, enter the following commands to create a create a Python 2.7 environment:
    1. Use conda create.
      2. conda create -n py27 python=2.7 anaconda
    2. When the Python 2.7 installation is complete, activate Python 27 and install PyVISA for Python 2.7.
      3. activate py27
pip install pyvisa
  6. For both Python 3.4 and 2.7, use the following command to start Spyder, Anaconda’s Python script editor. Since you’ve just activated Python 2.7, Spyder will open using Python 2.7. In Spyder, locate the IPython Console pane. The version of Python running will be listed at the top of IPython Console.
    7. spyder
  7. If you are running Python 2.7 and want to switch to using Python 3.5, enter the following commands in the Windows Command Prompt.
    8. deactivate py27
spyder


Finding the VISA Address for HiSLIP

The VISA Address for the HiSLIP interface is easy to locate and is used to identify the LAN address between your program and FlexDCA.

  1. On FlexDCA, click the menu commands Tools > SCPI Programming Tools. The SCPI Server Setup dialog box opens as shown below.
  2. From the dialog box, write down the complete listed VISA Address for HiSLIP. As an alternative, you can highlight the string using the mouse cursor and press Ctrl-C to copy it to the clipboard for later use. In the above picture, the string for HiSLIP would be:
    3. TCPIP0::2UA2421081::hislip0,4880::INSTR
  3. Or, you could substitute the IP address as shown here:
    4. TCPIP0::141.121.89.103::hislip0,4880::INSTR
  4. If your program is running on the same PC or 86100D as FlexDCA, you can simplify this string by substituting localhost for the computer name. For example, you would modify the above VISA address to be the following string:
    5. TCPIP0::localhost::hislip0,4880::INSTR
  5. Close the dialog box.


Introduction to SCPI Commands

This topic provides links to the programming topics or examples that are required to perform specific tasks. The links to commands help you to locate commands that may not be easy to find in the command subsystems. Commands that are more obvious are not included. For example, commands that control markers are easily found in the :MARKer subsystem.

  • Programming Examples
  • 86100D to FlexDCA Commands

Note

As there are many programming languages and environments available, all programming examples within this help system show only the FlexDCA command sequence and not the supporting input or output statement characters.

Programming Environment and Command Syntax

FlexDCA's programming syntax conforms to the IEEE 488.2 Standard Digital Interface for Programmable Instrumentation and to the Standard Commands for Programmable Instruments (SCPI). For more detailed information regarding the GPIB, the IEEE 488.2 standard, or the SCPI standard, refer to the following books:

  • International Institute of Electrical and Electronics Engineers. IEEE Standard 488.1-1987, IEEE Standard Digital Interface for Programmable Instrumentation. New York, NY, 1987.
  • International Institute of Electrical and Electronics Engineers. IEEE Standard 488.2-1987, IEEE Standard Codes, Formats, Protocols and Common commands For Use with ANSI/IEEE Std 488.1-1987. New York, NY, 1987.

When FlexDCA is being remotely controlled, the following notice appears at the top of the FlexDCA window. If you click Local, the remote control link is broken and control is returned to FlexDCA user interface.

  • Starting a Program
  • Command Syntax
  • The Command Tree
  • Queries
  • Common Commands
  • Common Child Commands
  • Status Reporting
  • Definite-Length Block Response Data
  • Command Synchronization
  • Location of Files
  • Path Substitution Variables

86100D Setup

  • SCPI Server Setup
  • GPIB/LAN
  • N1010A FlexDCA running on a PC and the 86100D
  • Selecting Oscilloscope, Eye/Mask, or Jitter mode
  • Standard, Compatibility, and Legacy configurations

Measurement Definitions and Results

  • Eye diagram boundaries
  • Waveform threshold, top, and base levels
  • Modify results tables

Waveform Content Windows

  • Waveform content windows

Signal-Types

  • Autoscaling, Detecting, and Selecting

Transferring Data

  • Transferring waveform data to the computer

Options

  • Option JSA, Jitter Spectrum Analysis and SW Clock Recovery Emulation
  • Option IRC, System Impulse Response Correction (SIRC) data
  • Option SIM, InfiniiSim-DCA Waveform Transformation Toolset providing de-embedding and embedding capability
  • Option 401, Advanced Eye Analysis
  • Option 500, Rapid Eye, Productivity Package


Commands for DCA-M Products

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye

Example Script

Click here to learn about Python scripts for controlling DCA-M products.

Commands for DCA-M Products

In this topic, you'll learn how to program DCA-M products. When programming a DCA-M, like the N1090A, consider the following points:

  1. Write your program to send FlexDCA commands (documented in this help system) only to FlexDCA. FlexDCA controls the extended module just like it does standard modules that are installed in the 86100D.
  2. If your program controls FlexDCA on a PC (Flex-on-Flex and Flex Offline configurations), connect the USB cable between the extended module and the PC.
  3. If your program directly controls FlexDCA on an 86100D (Script on 86100D and Script on PC configurations), connect the USB cable between the extended module and the 86100D.
  4. A driver installed with FlexDCA should automatically install the DCA-M into an available slot and configure the connection. You can use commands in the :EMODules subsystem to change the slot assignments if needed. Or, use FlexDCA's graphical user interface to make the change.
  5. Connect a data signal to the DCA-M. Ensure that the rate of the data signal matches the DCA-M's filter option.
  6. Connect a trigger signal to the DCA-M. Ensure that the trigger signal must be at the data rate or be a sub-rate clock.

DCA-M Optical Sampling Oscilloscope

To program a DCA-M, use the FlexDCA commands that are used to control standard plug-in modules and measurements. The only DCA-M specific commands are shown in the following list.

Select the trigger source (front panel or freerun)

  • :TRIGger:SOURce FPANel. Selects DCA-M's front-panel trigger source. Free run mode can also be selected.

Query values listed in Trigger dialog box

  • :EMODules:DCAM:DEVice? (Returns N1090A or N1092A/B/D identification string)
  • :EMODules:SLOT:CMEThod? (Confirm USB connection established)
  • :SLOT:TRIGger:SOURce? (Returns trigger source. Use :TRIGger:SOURce to select)
  • :SLOT:TRIGger:MODe? (Returns trigger mode which is always clock)
  • :SLOT:TRIGger:MRATe? (Returns measured input clock rate)

N4877A Clock/Data Recovery & Multiplexer 1:2 Commands

  • :CRECovery1:ARELock
  • :CRECovery1:CLBandwidth
  • :CRECovery1:CRATe
  • :CRECovery1:LBWMode
  • :CRECovery1:LSELect
  • :CRECovery1:LSELect:AUTomatic
  • :CRECovery1:ODRatio
  • :CRECovery1:ODRatio:AUTO
  • :CRECovery:OUTPut:DMODe
  • :CRECovery1:RDIVider
  • :CRECovery1:SOURce


SCPI Server Setup

Use the SCPI Server Setup dialog box to configure FlexDCA to be controlled via remote programming commands.

Click Tools > SCPI Programming Tools > SCPI Server Setup to open this dialog box.

When you click a Setup button, one of the following dialog boxes opens to allow you, to configure the selected interface. After entering the server settings, be sure to select Enable.

GPIB Interface

The GPIB interface is only if available if Option GPI, GPIB interface card, is installed on the 86100D. Enter the IEEE-488.2 GPIB (General Purpose Interface Bus) address.

VXI-11 Interface

VXI-11 is a standard I/O protocol used by a VISA (Virtual Instrument Software Architecture) library. Enter the device index and bus address.

Note

VXI-11 is unavailable when using Windows 8.

Telnet Interface

Telnet is a standard network protocol. Enter the port on the PC used for network communication.

Sockets Interface

Enter the PC port used for the sockets interface.

HiSLIP Interface

The HiSLIP (High-Speed LAN Instrument Protocol) interface facilitates TCP-based instrument control. Enter the device index and PC port used for network communication.


GPIB and LAN Connections

The 86100D rear-panel has both GPIB and LAN connectors for remote control.

When the 86100D is in Standard or Compatibility configuration, you can remotely control the instrument via the LAN or GPIB. Refer to the programming quick start guide to learn how to establish control of the 86100D over the LAN. The programming commands are fully documented in this help system. Use the SCPI Server Setup dialog box to configure the instrument to receive remote programming commands.

When the 86100D is in Legacy configuration, you can control the instrument via GPIB. Refer to the 86100A/B/C/D Programmer's Guide for information on controlling the 86100D in Legacy configuration. The programmer's guide is located on the documentation CD that was shipped with the instrument and can also be downloaded from the 86100D product page on Keysight.com.The 86100D's default GPIB Address setting is 7. To change the setting, place the 86100D in Legacy configuration and click Tools > Remote Interface to view the Remote Interface dialog box.


Starting a Program

INITIALIZING THE INTERFACE

Refer to your programming language reference manual for information on initializing the interface. To make sure that the bus and all appropriate interfaces are in a known state, begin every program with an initialization statement.

Initialize FlexDCA to a preset state using the *RST command. The :SYSTEM:AUTOSCALE command is very useful on unknown waveforms. It automatically sets up FlexDCA's vertical channel, time base, and trigger level. A typical instrument setup configures the vertical range and offset voltage, the horizontal range, delay time, delay reference, trigger mode, trigger level, and slope.

Example Program

An example program is provided that shows how to setup basic communications. Example are provided for C#.NET, Labview, Matlab, and Python. Look in the 86100D (or PC) installation folder: \Keysight\FlexDCA\Demo\Example Programs

The following program demonstrates one posible basic command sequence used to program FlexDCA.

:SYSTem:FCONfig COMPatible // Place 86100D in compatibility mode
*RST" // Initialize FlexDCA
*CLS  // Clear status and error registers
:SYSTem:DEFault
*OPC?   // Wait for default setup to complete
:SYSTEM:AUTOSCALE
:TIMEBASE:SCALE 5E-4 // Time base to 500 us full scale
:TIMEBASE:POSITION 25E-9 // Delay to 25 ns
:TIMEBASE:REFERENCE CENTER // Display reference at center
:CHANNEL1A:YSCALE .16 // Vertical range to 160 mV full scale
:CHANNEL1A:YOFFSET -.04 // Offset to -40 mV
:TRIGger:SOURce FPANel // Front-panel trigger
:TRIGGER:LEVEL -.4 // Trigger level to -0.4
:TRIGGER:SLOPE POSITIVE  // Trigger on positive slope
:DISPlay:GRATicule:GRID:STATe OFF // Grid off


Command Syntax

Sending a Command

It's easy to send a command to FlexDCA. Simply create a command string from the various commands, and place the string in your program language's output statement. For commands other than common commands, include a colon before the subsystem name. Commands can be sent using any combination of uppercase or lowercase ASCII characters. FlexDCA responses, however, are always returned in uppercase. The program instructions within a data message are executed after the program message terminator is received. The terminator may be either a NL (new line) character, an EOI (End-Or-Identify) asserted in the GPIB interface, or a combination of the two. Asserting the EOI sets the EOI control line low on the last byte of the data message. The NL character is an ASCII linefeed (decimal 10). The NL (New Line) terminator has the same function as an EOS (End Of String) and EOT (End Of Text) terminator.

Short or Long Forms

Commands and queries may be sent in either long form (complete spelling) or short form (abbreviated spelling). The description for each command shows both versions; the extra characters for the long form are shown in lowercase. However, commands can be sent using any combination of uppercase or lowercase ASCII characters. FlexDCA responses, however, are always returned in uppercase. Programs written in long form are easily read and are almost self-documenting. Using short form commands conserves the amount of controller memory needed for program storage and reduces the amount of I/O activity.

The short form is the first four characters of the keyword, unless the fourth character is a vowel. Then the mnemonic is the first three characters of the keyword. If the length of the keyword is four characters or less, this rule does not apply, and the short form is the same as the long form. For example:

:TIMEBASE:POSITION 1E-6

is the long form, and

:TIM:POS 1E-6

is the short form.

Long and Short Command Forms
Long Form | Short Form | How the Rule is Applied
BRATE | BRAT | Short form is the first four characters of the keyword.
DELAY | DEL | Fourth character is a vowel, short form is the first three characters.
PATTERN | PATT | Short form is the first four characters of the keyword.
DISK | DISK | Short form is the same as the long form.
SAVE | SAVE | Short form is the same as the long form.

White Space

White space is defined to be one or more characters from the ASCII set of 0 through 32 decimal, excluding 10 (NL). White space is usually optional, and can be used to increase the readability of a program.

Combining Commands

You can combine commands from the same subsystem provided that they are both on the same level in the subsystem's hierarchy. Simply separate the commands with a semi-colon (;). If you have selected a subsystem, and a common command is received by the FlexDCA, the FlexDCA remains in the selected subsystem. For example, the following commands turn averaging on, then clears the status information without leaving the selected subsystem.

:ACQUIRE:SMOOTHING AVERAGE;*CLS;ECOUNT 1024

You can send commands and program queries from different subsystems on the same line. Simply precede the new subsystem by a semicolon followed by a colon. Multiple commands may be any combination of compound and simple commands. For example:

:CHANNEL2A:DISPLAY ON;:SYSTEM:AUTOSCALE

Adding Parameters to a Command

Many commands have parameters that require an argument. Use a space character to separate the argument from the command as shown in the following line:

:TIMEBASE:SCALE 100E-6

String Arguments

Strings contain groups of alphanumeric characters which are treated as a unit of data by FlexDCA. You may delimit embedded strings with either single (') or double (") quotation marks. Strings are case-sensitive, and spaces act as legal characters just like any other character. For example, this command saves a setup file:

:DISK:SETup:SAVE "Test4Setup.setx"

Numbers

Some commands require number arguments. All numbers are expected to be strings of ASCII characters. You can use exponential notation or suffix multipliers to indicate the numeric value. The following numbers are all equal:

28 = 0.28E2 = 280E-1 = 28000m = 0.028K

When a syntax definition specifies that a number is an integer, any fractional part is ignored and truncated. Using "mV" or "V" following the numeric voltage value in some commands will cause an error. Instead, use the convention for the suffix multiplier.

Multipliers
Value | Mnemonic
1E18 | EX
1E15 | PE
1E12 | T
1E9 | G
1E6 | MA
1E3 | K
1E−3 | m
1E−6 | u
1E−9 | n
1E−12 | p
1E−15 | f
1E−18 | a
Measurement Units
Suffix | Referenced Unit
V | Volt
s | Second
W | Watt
BIT | Bits
dB | Decibel
% | Percent
Hz | Hertz

Infinity Representation

The representation for infinity for this instrument is 9.99999E+37. This is also the value returned when a measurement cannot be made.

NaN (Not A Number)

NaN is represented by 9.91E+37.

Sequential and Overlapped Commands

IEEE 488.2 makes a distinction between sequential and overlapped commands. Sequential commands finish their task before the execution of the next command starts. Overlapped commands run concurrently. Commands following an overlapped command may be started before the overlapped command is completed. The common commands *WAI and *OPC may be used to ensure that commands are completely processed before subsequent commands are executed.


The Command Tree

In accordance with IEEE 488.2, the instrument’s commands are grouped into subsystems. Commands in each subsystem perform similar tasks. The command tree refers to the relationship of the commands to each other. You can view this relationship in the SCPI Remote Command Tree Viewer. The IEEE 488.2 common commands do not affect the position of the parser within the tree. A leading colon or a program message terminator ( or EOI true on the last byte) places the parser at the root of the command tree. A leading colon is a colon that is the first character of a program header. Executing a subsystem command places you in that subsystem until a leading colon or a program message terminator is found.

The commands can be placed into two types: common commands and and subsystem commands. Common commands (defined by IEEE 488.2) control functions that are common to all IEEE 488.2 instruments. These commands are independent of the tree and do not affect the position of the parser within the tree. *RST is an example of a common command. Subsystem commands are grouped together under a common node of the command tree, such as the :SYSTem commands. Only one subsystem may be selected at a given time. When FlexDCA is initially turned on, the command parser is set to the root of the command tree and no subsystem is selected.

Command headers are created by traversing down the command tree. A legal command header from the command tree would be :TIMebase:XRANge. It consists of the subsystem followed by a command separated by colons. The compound header contains no spaces. In the command tree, use the last mnemonic in the compound header as a reference point (for example, XRANge). Then find the last colon above that mnemonic (TIMebase:). That is the point where the parser resides. Any command below this point can be sent within the current program message without sending the mnemonics which appear above them (for example, SCALe). Use a colon to separate two commands in the same subsystem,

:TIMebase:XRANge 300E-6;POSition 10E-12

The colon between TIMebase and XRANge is necessary because :TIMebase:XRANge specifies a command in the :TIMebase subsystem. The semicolon between the XRANge command and the POSition command is required to separate the two commands. The POSition command does not need :TIMebase preceding it because the :TIMebase:XRANge command sets the parser to the :TIMebase node in the tree.


Eye Diagram Boundary Commands

  • :MEASure:EBOundary:DEFault
  • :MEASure:EBOundary:LEFT
  • :MEASure:EBOundary:RIGHt


Queries

Command headers immediately followed by a question mark (?) are queries. After receiving a query, the instrument interrogates the requested subsystem and places the answer in its output queue. The answer remains in the output queue until it is read or until another command is issued. When read, the answer is transmitted across the bus to the designated listener (typically a computer). For example, the query:

:TIMEBASE:SCALE?

places the horizontal timebase scale setting in the output queue. Use your programming environment's input statement to pass the value across the bus to the computer and places it in a variable. Queries can be used to discover how the FlexDCA is currently configured as well as return measurement results. For example, the command:

:MEASURE:EYE:RISETIME?

tells FlexDCA to measure the rise time of your eye diagram and place the result in the output queue. The output queue must be read before the next program message is sent. For example, when you send the query :MEASURE:EYE:RISETIME? you must follow it with an input statement. If you send another command or query before reading the result of a query, the output buffer is cleared and the current response is lost. This also generates a query-interrupted error in the error queue. If you execute an input statement before you send a query, it will cause the computer to wait indefinitely.

If a measurement cannot be made because of the lack of data, because the source signal is not displayed, the requested measurement is not possible (for example, a period measurement on an FFT waveform), or for some other reason, 9.99999E+37 is returned as the measurement result. You can send multiple queries to FlexDCA within a single program message, but you must also read them back within a single program message. This can be accomplished by either reading them back into a string variable or into multiple numeric variables. When you read the result of multiple queries into string variables, each response is separated by a semicolon. For example, the response of the query:

:MEASURE:EYE:RISETIME?;FALLTIME?

would be:

<range_value>;<delay_value>

Endiannes of Returned Binary Block Data

To specify the byte order of binary data that is returned in response to a query, use the :SYSTem:BORDer command.


Common Commands

Common commands are defined by the IEEE 488.2 standard. They control generic device functions that are common to many different types of instruments. Common commands can be received and processed by FlexDCA, whether they are sent as separate program messages or within other program messages. The *STB?, *SRE, *ESR?, and *ESE commands set and query top-level registers in the status reporting system. Lower-level status registers are controlled using commands in the :STATus subsytem.

  • *CLS
  • *ESE
  • *ESR?
  • *IDN?
  • *OPC
  • *OPT?
  • *RST
  • *SRE
  • *STB?
  • *TRG
  • *TST?
  • *WAI


Common Child Commands

As seen in the SCPI Command Tree Viewer, most FlexDCA commands have lower-level commands (children). Some child commands are unique while others are repeated under many commands. For example, :CHANnel:BANDwidth command has four child commands: DEFault, NEXT, PREVious and VSET?.

:CHANnel<number>:BANDwidth {HIGH | MID | LOW}
:CHANnel<number>:BANDwidth:DEFault
:CHANnel<number>:BANDwidth:NEXT
:CHANnel<number>:BANDwidth:PREVious
:CHANnel<number>:BANDwidth:VSET?

This topic provides general descriptions of each common child command or query. The parent topics for these commands generally note any common commands or queries.

Commands with a parameter argument, generally have DEFault, NEXT, PREVious, and VSET? child commands.

Commands with a numerical argument, such as :TIMebase:SCALe, generally include DEFault, MINimum, MAXimum,and STEP child commands.

Measurement Table Manipulation

The following parent commands in the :MEASure subsystem:

  • :MEASure:AMPLitude
  • :MEASure:EYE
  • :MEASure:JITTer
  • :MEASure:OSCILLoscope

have the following common child commands:

LIST:CLear
Clears the entire active measurement list in the displayed results table.
LIST:DEFault
In :AMPLitude and :JITTer, resets the Amplitude or Jitter results table to show the default active measurement list in the table.
LIST:REMove
Removes the selected measurement from the active measurement list, which is displayed in the results table. Use the :LOCation? query for a specific measurement to determine the index of the measurement in the table.
LIST:SELect
Removes the selected measurement from the active measurement list, which is displayed in the results table. Use the :LOCation? query for a specific measurement to determine the index of the measurement in the table.

Common Measurement Child Commands and Queries

Unless otherwise noted, the following common child commands and queries are available for all oscilloscope, eye, and jitter/noise measurements. The first five queries return the values that are shown in the displayed measurement results tables except Current. To return the Current measurement value, which is the value for the last waveform acquisition, use the parent command. For example, to return the Current risetime measurement in Oscilloscope mode, use the :OSCilloscope:RISetime? query.

If smoothing is turned on (:ACQure:SMOothing), the Current, Mean, Minimum, Maximum, and Std Dev measurements are an average of all previous waveform or pattern acquisitions and are not available until the terminal acquisition count has been reached (:ACQuire:ECOunt). For example, in 16-count smoothing, the Mean measurement is reported after the first 16 acquisitions have completed and the displayed Count value is then incremented from 0 to 1. Each subsequent acquisition increments the Count value.

Note

Before these values can be displayed in the results table, the table must be configured in full width mode.

Common Child Commands and Queries
Command | Description
MEAN? | Returns the Mean measurement. It is calculated over the number of waveform acquisitions returned by the COUNt? query.
MIN? | Returns the Minimum measurement. It is calculated over the number of waveform acquisitions returned by the COUNt? query.
MAX? | Returns the Maximum measurement. It is calculated over the number of waveform acquisitions returned by the COUNt? query.
SDEViation? | Returns the standard diviation (Std Dev) measurement, which is only displayed in the result table for Oscilloscope Mode measurements. It is calculated over the number of waveform acquisitions returned by the COUNt? query.
COUNt? | Returns the number of waveform acquisitions (Count) that have occurred for the parent measurement.
LOCation? | Returns the location (index) of the measurement in the displayed results table. This query is available for all Oscilloscope mode, Eye mode, Jitter/Amplitude mode, JSA, mask test, and histograms measurements. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth.
REGion | Select a time span over which an oscilloscope measurement is made.
SOURce | This command specifies the source waveform on which to perform the measurement.
STATus? | Queries the status of the measurement. This common child query has its own help topic. The response can be either CORR, INV, or QUES. CORR indicates that the measurement result is correct. INV indicates that the measurement result is invalid. A question mark (?) is shown in the displayed results table instead of a measurement result. QUES indicates that the measurement result is questionable. A question mark (?) is shown in the displayed results table next to the measurement result.
STATus:REASon? | Queries the explanation why the STATus child command indicates an unsuccessful measurement. If the STATus child command indicates a successful measurement, STATus:REASon returns a null string. This common child query has its own help topic.

Common Query for Status Message

Common Status Message Query
Command | Description
SREason? | Returns the status message that results from sending the parent command. Messages are shown at the bottom of the FlexDCA's display and typically indicates an error such as incorrect parameter. If the parent command did not result in a message, the query returns a null string. Refer to the table "Possible Common :STATus:REASon? Query Responses".


Path Substitution Variables

Note

Path variables cannot be entered in dialog boxes. They can only be used in a programming command's filename argument.

When programming, use path substitution variables when specifying file paths to:

  • Shorten the writing of a file path, and to
  • Eliminate the need to remember slight path variances between Window XP and Windows 7 on the 86100D or PC.

For example, when programatically saving a screen capture to the Windows desktop you could use the following command:

:DISK:SIMage:FNAMe "c:\Users\<user>\Desktop\test.png"
:DISK:SIMage SAVE

or, you could use the %DESKTOP% path substitution variable:

:DISK:SIMage:FNAMe "%DESKTOP%\test.png"
:DISK:SIMage SAVE

The remainder of this topic provides the available file path substitution variables and their expanded path strings. In the table, <user> indicates a folder name that matches the user account name on the 86100D or PC. The following user accounts are available on 86100C/D instruments:

  • dca-admin on an 86100D under Windows 7.
  • dca-user on an 86100D under Windows 7.
  • Administrator on an 86100D under Windows XP.

If you want to see how path variables are expanded, use the variable in one of the many :FNAMe commands and then query the command for the expanded path. For example, click Tools > SCPI Programming Tools > Interactive SCPI Command Tree. In the Interactive SCPI Command Tree, locate the :DISK:SIMage:FNAMe command as shown in the following picture. Enter the path variable and click Run. Then click Query to view the exapanded path which is shown in this picture. Notice that the default folder for the command and the current file name has been appended to the path.

%DESKTOP% Path Variable

Use the %DESKTOP% variable to place a file on the Windows desktop. For example,

:DISK:SIMage:FNAMe "%DESKTOP%\test.png"
:DISK:SIMage SAVE  //  Save screen image to desktop
FlexDCA File-Path Substitution Variables
Environment | Variable Expansion
On 86100D with Windows 7 | C:\Users\<user>\Desktop
On 86100D with Windows XP | C:\Documents and Settings\Admnistrator\Desktop
On PC with Windows 7 | C:\Users\<user>\Desktop

%MY_DOCUMENTS% Path Variable

Use the %MY_DOCUMENTS% variable to place a file in the Windows My. For example,

:DISK:SIMage:FNAMe "%MY_DOCUMENTS%\MyFolder\test.png"
:DISK:SIMage SAVE  //  Save screen image to a custom user folder
FlexDCA File-Path Substitution Variables
Environment | Variable Expansion
On 86100D with Windows 7 | C:\Users\<user>\Documents
On 86100D with Windows XP | C:\Documents and Settings\Admnistrator\My Documents
On PC with Windows 7 | C:\Users\<user>\Documents

%TEMP_DIR% Path Variable

Use the %TEMP_DIR% variable to place a file in a temporary Windows folder. For example,

:DISK:SIMage:FNAMe "%TEMP_DIR%\test.png"
:DISK:SIMage SAVE  //  Save screen image to desktop
FlexDCA File-Path Substitution Variables
Environment | Variable Expansion
On 86100D with Windows 7 | C:\Users\<user>\AppData\Local\Temp\Keysight\FlexDCA
On 86100D with Windows XP | C:\Documents and Settings\Admnistrator\Local Settings
On PC with Windows 7 | C:\Users\<user>\AppData\Local\Temp\Keysight\FlexDCA

%USER_DATA_DIR% Path Variable

Use the %USER_DATA_DIR% variable to place a file in a folder beneath the standard user folder. For example,

:DISK:SIMage:FNAMe "%USER_DATA_DIR%\Screen Images\test.png"
:DISK:SIMage SAVE  //  Save screen image to a custom user folder
FlexDCA File-Path Substitution Variables
Environment | Variable Expansion
On 86100D with Windows 7 | D:\User Files
On 86100D with Windows XP | D:\User Files
On PC with Windows 7 | C:\Users\<user>\My Documents\Keysight\FlexDCA

%DEMO_DIR% Path Variable

Use the %DEMO_DIR% variable to place a file on the Windows desktop. The following example loads a jitter database file from the \Demo folder into FlexDCA's Jitter database memory.

:DISK:JDATabase:FNAMe "%DEMO_DIR%\Jitter Data\Demo\CH1_81141A_10.3125Gbps_PRBS7.jdx"
:DISK:JDATabase RECall  //  Save screen image to desktop
FlexDCA File-Path Substitution Variables
Environment | Variable Expansion
On 86100D with Windows 7 | C:\Program Files\Keysight\FlexDCA\Demo
On 86100D with Windows XP | C:\Program Files\Keysight\FlexDCA\Demo
On PC with Windows 7 | C:\Program Files (x86)\Keysight\FlexDCA\Demo

The following picture shows an example of the Demo folder on a PC with N1010A FlexDCA installed. Use this variable when loading a file into FlexDCA and not for writing a file.

%PROGRAM_FILES% Path Variable

Use the %PROGRAM_FILES% variable to access a file in the \Program Files folder. Most users will never need to use this variable.

FlexDCA File-Path Substitution Variables
Environment | Variable Expansion
On 86100D with Windows 7 | C:\Program Files
On 86100D with Windows XP | C:\Program Files
On PC with Windows 7 | C:\Program Files

%PROGRAM_FILES_x86% Path Variable

Use the %PROGRAM_FILES_x86% variable to access a file in the \Program Files folder. Most users will never need to use this variable.

FlexDCA File-Path Substitution Variables
Environment | Variable Expansion
On 86100D with Windows 7 | C:\Program Files (x86)
On 86100D with Windows XP | C:\Program Files
On PC with Windows 7 | C:\Program Files (x86)

%LICENSE_DIR% Path Variable

Use the %LICENSE_DIR% variable to place a Keysight license file in the \Licensing folder. Most users will never need to use this variable.

FlexDCA File-Path Substitution Variables
Environment | Variable Expansion
On 86100D with Windows 7 | C:\Program Files\Keysight\Licensing
On 86100D with Windows XP | C:\Program Files\Keysight\Licensing
On PC with Windows 7 | C:\Program Files\Keysight\Licensing


Definite-Length Block Response Data

The definite-length block response data format allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes. The syntax is a pound sign (#) followed by a non-zero digit representing the number of following digits (decimal integer) that states the number of 8-bit data bytes being sent. This is followed by the actual data. For example, for transmitting 3000 bytes of data, the syntax would be: #43000<3000 bytes of data>. The leftmost 4 represents the number of digits in the number of bytes, and 3000 represents the number of bytes to be transmitted. Byte order can affect the ability of your programs to correctly interpret block data.

Endiannes of Returned Binary Data

To specify the byte order of binary block data that is returned in response to a query, use the :SYSTem:BORDer command. This setting applies to both :WAVeform and :MEASure subsystem data but does not affect data returned by the :DISK:FILE:READ? command.

FlexDCA Revision

The ability to specify endiannes requires FlexDCA revision A.04.00 and above. Prior to revision A.04.00, the endianness of returned block data was always LSB (Least Significant Byte) first.

General Query That Returns Block Data

  • :DISK:FILE:READ?

MEASure Subsystem Queries That Return Block Data

  • :MEASure:AMPLitutde:ISIVsbit?
  • :MEASure:AMPLitutde:ISIVsbit:BITS?
  • :MEASure:JITTer:DDJVsbit?
  • :MEASure:JITTer:DDJVsbit:BITS?
  • :MEASure:JITTer:EBITs?
  • :MEASure:JITTer:PATTern?

WAVeform Subsystem Queries That Return Block Data

  • :WAVeform:EYE:INTeger:DAta?
  • :WAVeform:YFORmat:DOUBle:YDATa?
  • :WAVeform:YFORmat:FLOat:YDATa?
  • :WAVeform:YFORmat:WORD:YDATa?
  • :WAVeform:XYFormat:DOUBle:YDATa?
  • :WAVeform:XYFormat:DOUBle:XDATa?
  • :WAVeform:XYFormat:FLOat:YDATa?
  • :WAVeform:XYFormat:FLOat:XDATa?


Command Synchronization

Use the following two commands synchronize command execution with FlexDCA:

  • *OPC (command and query)
  • *WAI

The *OPC Command and *OPC? Query

The *OPC command sets bit 0 in the Standard Status Event Register when all pending device operations have finished. (Use *ESR? to query the register.) The *OPC command is useful for verifying the completion of commands that could take a variable amount of time or commands executed in parallel with other commands, such as :SYSTem:AUToscale. The *OPC command does not stop the execution of the remote script.

The *OPC? query allows synchronization between the computer and FlexDCA by using the message available (MAV) bit (bit 4 in the Status Byte) or by reading the output queue. (Use *STB? to query the Status Byte register.) Unlike the *OPC command, the *OPC? query does not affect the OPC event bit in the Standard Event Status Register. The execution of the remote script is halted and therefore the *OPC? query should be used judiciously. For example, running a acquisition limit test with the command string,

:LTESt:ACQuire:STATe ON
:ACQuire:RUN;*OPC?

locks the remote interface until specified number of acquisitions are completed, which could take some time. The *OPC topic provides a list of commands that require *OPC?.

The *WAI Command

The *WAI command is similar to the *OPC? query as it also blocks the execution of the remote script until all pending operations are finished. *WAI is particularly useful if the host computer is connected to FlexDCA and one or more instruments. This command will not block the GPIB bus, allowing the computer to continue issuing commands to FlexDCA or an instrument that is not executing the *WAI command.


Option 500, Rapid Eye Commands

  • :ACQuire:REYE
  • :ACQuire:REYE:INTerval


Option IRC Commands

  • :CHANnel:SIRC
  • :CHANnel:SIRC:AUPDates
  • :CHANnel:SIRC:CFOLder
  • :CHANnel:SIRC:CFUPdate
  • :CHANnel:SIRC:CSTatus?
  • :CHANnel:SIRC:CSTatus:REASon?
  • :CHANnel:SIRC:DSTore
  • :CHANnel:SIRC:FBANdwidth
  • :CHANnel:SIRC:FRATe
  • :CHANnel:SIRC:USTatus?
  • :CHANnel:SIRC:USTatus:REASon?


Option SIM Commands

  • :SPRocess:CONVolve:FMODel
  • :SPRocess:CONVolve:FNAMe
  • :SPRocess:CONVolve:FRELoad
  • :SPRocess:CONVolve:PEXTract
  • :SPRocess:CONVolve:PORDer
  • :SPRocess:DCONvolve:DRESult
  • :SPRocess:DCONvolve:FMODel
  • :SPRocess:DCONvolve:FNAMe
  • :SPRocess:DCONvolve:FRELoad
  • :SPRocess:DDEConvolve:BANDwidth
  • :SPRocess:DDEConvolve:BANDwidth:AUTo
  • :SPRocess:DDEConvolve:BLIMit
  • :SPRocess:DDEConvolve:DRESult
  • :SPRocess:DDEConvolve:FMODel
  • :SPRocess:DDEConvolve:FNAMe
  • :SPRocess:DDEConvolve:FRELoad
  • :SPRocess:DDEConvolve:PORDer
  • :SPRocess:DDEMbed
  • :SPRocess:DDEMbed:BANDwidth
  • :SPRocess:DDEMbed:BANDwidth:AUTo
  • :SPRocess:DDEMbed:BLIMit
  • :SPRocess:DDEMbed:FNAMe
  • :SPRocess:DEConvolve:BANDwidth
  • :SPRocess:DEConvolve:BANDwidth:AUTo
  • :SPRocess:DEConvolve:BLIMit
  • :SPRocess:DEConvolve:FMODel
  • :SPRocess:DEConvolve:FNAMe
  • :SPRocess:DEConvolve:FRELoad
  • :SPRocess:DEConvolve:PEXTract
  • :SPRocess:DEConvolve:PORDer
  • :SPRocess:DEMBed:BANDwidth
  • :SPRocess:DEMBed:BANDwidth:AUTo
  • :SPRocess:DEMBed:BLIMit
  • :SPRocess:DEMBed:FNAMe


Option JSA Commands

  • :CRECovery:JSANalysis:ACQuire
  • :CRECovery:JSANalysis:FFTMagnitude:ECOunt
  • :CRECovery:JSANalysis:FFTMagnitudeSMOothing
  • :CRECovery:JSANalysis:INTegrate:F
  • :CRECovery:JSANalysis:OPTimize:EMBedded
  • :CRECovery:JSANalysis:OPTimize:INPut
  • :CRECovery:JSANalysis:PLLorder:FGAIn
  • :CRECovery:JSANalysis:PLLorder:FPOLe
  • :CRECovery:JSANalysis:PLLorder:FZERo
  • :CRECovery:JSANalysis:PLLorder:JTF:BWIDth
  • :CRECovery:JSANalysis:PLLorder:JTF:PEAKing
  • :CRECovery:JSANalysis:PLLorder:MODE
  • :CRECovery:JSANalysis:PLLorder:OJTF:BWIDth
  • :CRECovery:JSANalysis:PLLorder:OJTF:DFACtor
  • :CRECovery:JSANalysis:PLLorder:ORDer
  • :CRECovery:JSANalysis:RJCorrection
  • :CRECovery:JSANalysis:SPECtrum
  • :CRECovery:JSANalysis:SPECtrum:ASCii:YDATa?
  • :CRECovery:JSANalysis:SPECtrum:DOUBle:YDATa?
  • :CRECovery:JSANalysis:SPECtrum:FLOat:YDATa?
  • :CRECovery:JSANalysis:SPECtrum:PEAKs:ALL?
  • :CRECovery:JSANalysis:SPECtrum:POINts?
  • :CRECovery:JSANalysis:SPECtrum:XINCrement?
  • :CRECovery:JSANalysis:SPECtrum:XORigin?
  • :MEASure:CRECovery:DJ
  • :MEASure:CRECovery:DJ:LOCation?
  • :MEASure:CRECovery:DJ:STATus?
  • :MEASure:CRECovery:DJ:STATus:REASon?
  • :MEASure:CRECovery:RJ
  • :MEASure:CRECovery:RJ:LOCation?
  • :MEASure:CRECovery:RJ:STATus?
  • :MEASure:CRECovery:RJ:STATus:REASon?
  • :MEASure:CRECovery:TJ
  • :MEASure:CRECovery:TJ:LOCation?
  • :MEASure:CRECovery:TJ:STATus?
  • :MEASure:CRECovery:TJ:STATus:REASon?
  • :MEASure:JITTer:RJ
  • :DISPlay:JSANalysis:SCRaph
  • :LTESt:MEASure:CRECovery:LOCation:FAILures
  • :LTESt:MEASure:CRECovery:LOCation:FREGion
  • :LTESt:MEASure:CRECovery:LOCation:LLIMit
  • :LTESt:MEASure:CRECovery:LOCation:STATe
  • :LTESt:MEASure:CRECovery:LOCation:ULIMit
  • :LTESt:MEASure:CRECovery:LOCation:UPACtion


Waveform Content Windows

Waveforms are displayed in one of eight different types of content windows depending on the type of waveform. The following table lists these windows along with the waveform types that they can contain. Until recently, the only available content window type was Waveform and it defines the Y-axis in linear amplitude units (V or W) and the X-axis in time. All content windows can show multiple waveforms of the same type. However, in the Waveform content window, multiple waveforms can each have different Y-axis scaling. In all other content windows, multiple waveforms displayed within the same window have the same scaling.

Content Window Types
Content
Window Title 		Availability in
Instrument Mode 		Waveform Types Number of
Available Windows 		SCPI Command Used to Assign
Waveform to Content Window 		Description
Scope Eye TDR Jitter Via
Front Panel 		Program-
matically
Waveform ♦ ♦ ♦
  • Channels
  • Differential Channels
  • Most Functions
  • Waveform Memory
  • Eye/Mask Memory
 1 1 None This is the default window for most waveforms.

Y-Axis: Volts or Watts (linear scale)
X-Axis: seconds
Freq-Mag ♦ ♦ ♦
  • Output of FFT math function
 1 4 :FUNCtion<N>:CWINdow MAGNitude<N> Y-Axis: dBV or dBm (logarithmic scale).
X-Axis: seconds or Hertz.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
  • TDR/TDT S-Parameters
 4 4 :TRACe<N>:CWINdow MAGNitude<N>
GrpDelay ♦ ♦ ♦
  • Output of FFT math function
 1 4 :FUNCtion<N>:CWINdow GDELay<N> Y-Axis: seconds
X-Axis: Hertz.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
  • TDR/TDT S-Parameters
 4 4 :TRACe<N>:CWINdow GDELay<N>
Phase ♦ ♦ ♦
  • Output of FFT math function
 1 4 :FUNCtion<N>:CWINdow PHASe<N> Y-Axis: phase (°)
X-Axis: Hertz.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
  • TDR/TDT S-Parameters
 4 4 :TRACe<N>:CWINdow PHASe<N>
Time-Ohms ♦
  • TDR/TDT T-Domain Responses
 4 4 :TRACe<N>:CWINdow TOHMs<N> Y-Axis: Ohms
X-Axis: Time.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
Time-Volts ♦
  • TDR/TDT T-Domain Responses
 4 4 :TRACe<N>:CWINdow TVOLts<N> Y-Axis: Volts
X-Axis: Time.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
Time-% ♦
  • TDR/TDT T-Domain Responses
 4 4 :TRACe<N>:CWINdow TPERcent<N> Y-Axis: %
X-Axis: Time.
Use the GRAPh subsystem commands to autoscale, position, and scale waveforms.
Graphs ♦ Channel and Jitter Data Memory — — None Used for display of all Jitter Mode graphs.

Assigning Waveforms to Content Windows

When created, waveforms are automatically displayed in content window number 1 for the correct type. As shown in the above table, multiple content windows (up to four total) are available for some types. To move a waveform to an additional content window use the SCPI commands shown in the table. If the additional content window does not exist, it will be automatically created.

Note

Although there are no direct front-panel controls to create additional Waveform, Freq-Mag, Phase, and GrpDelay content window, you can assign existing waveforms to new windows by using the front panel Interactive SCPI Command Tree.

Axis Scaling

The :TIMebase, :GRAPh, and :TRACe subsystems are used to create and scale content windows and their waveforms as shown in the following table. All time-domain content windows share the same X-axis time scales, which are configured in the :TIMebase subsystem. This includes the Waveform, Time-Ohms, Time-Volts, and Time-% content windows. The Y-axis for time-domain content windows and both axis in frequency domain content windows, are all scaled using commands in the :GRAPh subsystem.

Traces contain the waveform data that is displayed in graphs. In the :TRACe subsystem, the x-axis and y-axis values can only be queried, because they are set by the x-axis and y-axis values of their assigned graph.

Use the :TRACe subsystem to perform the following tasks:

  • Create a trace.
  • Assign a T-domain or S-parameter to the trace.
  • Chang a trace's color.
  • Define the trace amplitude levels for measurements.

Use the :GRAPh subsystem to perform the following tasks:

  • Scale both axis of frequency-domain graphs.
  • Scale the Y-axis only of time-domain graphs.
Commands and Queries for Axis Scaling
Graph Axis | :TIMebase Subsystem | :GRAPh Subsystem | :TRACe Subsystem
NOTES: | Bold Text: Commands that set axis values. Normal Text: Queries that read axis values. Example time values are provided as aid in understanding commands.
Frequency Domain Content Windows (for S-parameters and FFT operator)
X-Axis | — | :X:AUToscale | —
 | — | :X:STARt (Hz) | :XLEFt?
 | — | :X:SPAN (Hz) | —
 | — | — | :XSCale?
 | — | :X:STOP (Hz) | :XRIGht?
 | — | :X:CENTer (Hz) | :XPOSition? (always at center of axis)
Y-Axis | — | :Y:AUToscale | —
 | — | :Y:OFFSet | :YOFFset?
 | — | :Y:SCALe | :YSCale?
 | — | — | :YTOP?
 | — | — | :YBOTtom?
Time Domain Content Windows (for time-domain parameters)
X-Axis | :POSition (100 ps) (with timebase reference set to left) | :X:STARt (100 ps) | :XLEFt? (100 ps)
 | :XRANge (2000 ps) | :X:SPAN (2000 ps) | —
 | :SCALe (200 ps/div) | — | :XSCale? (200 ps/div)
 | — | :X:STOP (2100 ps) | :XRIGht? (2100 ps)
 | — | :X:CENTer (1100 ps) | :XPOSition? (1100 ps) (always at center of axis)
Y-Axis | — | :Y:AUToscale | —
 | — | :Y:OFFSet | :YOFFset?
 | — | :Y:SCALe | :YSCale?
 | — | — | :YTOP?
 | — | — | :YBOTtom?
Waveform Content Window (Channels, Memories, Functions, …)
X-Axis | :POSition (100 ps) (with timebase reference set to left) | — | —
 | :XRANge (2000 ps) | — | —
 | :SCALe (200 ps/div) | — | —
Y-Axis | Y-axis values set in :CHANnel, :DIFF, :WMEMory, and etc subsystems.

Unavailable :CWINDow Commands

The following :CWINdow commands are reserved for future use with Waveform content windows. Since only one Waveform content window is available at this time, currently there is no need to use these commands.

  • :CHANnel<N>:CWINdow
  • :DIFF<N>:CWINdow
  • :EMEMory<N>:CWINdow
  • :JDMemory<N>:CWINdow
  • :WMEMory<N>:CWINdow

Example of Using Content Windows

This example creates four FFT functions and assigns the output of functions 1 and 2 to Group Delay content window 1 and functions 3 and 4 to Group Delay window 2.

  // Configure first FFT function.
:FUNCtion1:FOPerator FFT  // Create an FFT function.
:FUNCtion1:OPERand1 CHAN1A  // Assign input waveform.
:SPRocess1:FFT:DISPlay GDELay  // Select output waveform type.
:FUNCtion1:CWINdow GDELay1  // Assign output waveform to content window.
  // Configure second FFT function.
:FUNCtion2:FOPerator FFT
:FUNCtion2:OPERand1 CHAN1B
:SPRocess2:FFT:DISPlay GDELay
:FUNCtion2:CWINdow GDELay1
  // Configure third FFT function.
:FUNCtion3:FOPerator FFT
:FUNCtion3:OPERand1 CHAN2A
:SPRocess3:FFT:DISPlay GDELay
:FUNCtion3:CWINdow GDELay2
  // Configure fourth FFT function.
:FUNCtion4:FOPerator FFT
:FUNCtion4:OPERand1 CHAN2B
:SPRocess4:FFT:DISPlay GDELay
:FUNCtion4:CWINdow GDELay2
// Configure content windows to be zoom tiled.
:DISPlay:WINDow:GDELay1:DMODe ZTILe
:DISPlay:WINDow:GDELay2:DMODe ZTILe
// Select the waveform to be displayed in the zoom-tiled Group Delay content window.
:DISPlay:WINDow:GDELay1:ZSIGnal FUNCtion1  // View function 1 waveform.
:DISPlay:WINDow:GDELay2:ZSIGnal FUNCtion3  // View function 3 waveform.
// Autoscale waveforms in each Group Delay content window.
:GRAPh:GDELay1:AUToscale
:GRAPh:GDELay1:AUToscale


SCPI Recorder

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye

SCPI Recorder

Multi-Purpose Button

You can configure the 86100D's front-panel Multi-Purpose button to run your recorded script files.

The SCPI recorder is a powerful tool that enables you to quickly discover, record, and learn about the commands needed to perform almost any task remotely. When you've recorded your commands, you can play them back and save them as a macro. Click REC and the recorder performs the following tasks:

  1. Captures most FlexDCA setting changes (mouse clicks or keyboard presses).
  2. Translates the setting into an equivalent SCPI remote-programming command.
  3. Records the SCPI command within the dialog box.

Click Tools > SCPI Programming Tools > SCPI Recorder to open this dialog box.

WINDOWS CLIPBOARD

Use Windows clipboard to copy your recorded commands. Click on a command to select it. Shift click to select a range of commands. Ctrl click to select non-adjacent commands. Ctrl-A selects all commands. Ctrl-C copies all selected commands. In another application, use Ctrl-V to paste the commands. You can also right-click and then click Copy.

Click REC to begin recording. The button turns red to alert you that any mouse clicks or keyboard presses will be recorded. When you have captured all your commands, click the record button again to end the recording.

Click Play to play back your recording and observe the commands as they are executed. Playback always starts at the highlighted command, which is shown in a blue box as seen in the above figure. Click any command in the dialog box to highlight that command. Use Playback Speed to control the rate that the commands are played: Slow, Normal, or Fast.

During playback, click PAUSE to temporarily stop the playback.

During playback, click Device Clear when a command is waiting a unacceptable length of time to complete. This can happen, for example, during limit testing if you use a command that locks the remote interface until 100 failed samples are detected, which could take a very long time.

:LTESt:MTESt:FAILures 100; *OPC?

Click Clear to delete your recorded commands from the dialog box.

Default User Folder

The default user data folder for saving script files is \SCPI Scripts.

Click Save to save your recorded commands into a script file (.scpi) that can be reloaded into the dialog box at any time by clicking Load. SCPI script file are ASCII files, so you can edit them as well as create new script files using a text editor. SCPI scripts are often small snippets of code that may depend on FlexDCA being set to very specific settings. As a result, your scripts may not work in the same manner in different situations. This can be alleviated by starting your scripts with commands that configure starting conditions. For example, the first few lines in the following code configures FlexDCA from a default setup before making a rise time measurement. To include comments in your scripts, precede the comments with two forward-slash characters as shown in this example:

:SYSTem:DEFault
:TRIGger:SOURce FPANel
:TRIGger:BWLimit CLOCk
:SYSTem:MODE EYE         // Place FlexDCA in Eye/Mask mode
:SYSTem:AUToscale
:TRIGger:PLOCk ON
:MEASure:EYE:RISetime // Measure risetime
:MEASure:EYE:RISetim?

Note

When FlexDCA is installed, a registry entry is created to associate script files (.SCPI) with Notepad. This makes it easier to open script files.


Interactive SCPI Command Tree

  • i
  • Quick Start
  • Examples
  • SCPI Recorder
  • SCPI Tree
  • DCA-M Products
  • FlexEye Parallel Eye

Interactive SCPI Command Tree

The SCPI Remote Command Tree Viewer lists all SCPI command subsystems and their commands. You can quickly traverse the tree and study the interaction between any command and FlexDCA.

Click Tools > SCPI Programming Tools > Interactive SCPI Command Tree to open this dialog box.

Click the icon to open the help topic for the selected command.

To learn about a command or subsystem, scroll down the command tree to locate the commands that intrest you, such as the :SYSTem subsystem. Click on the expand button [image] to view the available commands. You can also expand an entry by double clicking on the row. The following figure shows the :SYSTem:MODE command. Notice that the drop-down list provides all of the available arguments for the command. You can make a selection, and click Run to execute the command. Click Query to display the current value in the Run/Query Output field. Some commancs, like :ACQuire:RLENgth shown in the above figure, take an integer (int) or double (double) value.


86100D to FlexDCA Commands

Open in Excel 2013

Click the following link to open or save a spreadsheet file (.xlsx) that includes all cross-referenced commands that are documented in this section.

  • 86100D-to-FlexDCA commands.xlsx

If you are familiar with programming 86100D instruments, you'll benefit greatly from this section. Click on the following links to locate tables of 86100D commands that are matched to similar FlexDCA commands. Each 86100D command subsystem is listed below. In many cases, there is not a one-to-one correspondence between 86100D and FlexDCA commands. For some commands, the FlexDCA version may only provide a query form or, in the case of TDR/TDT mode, do not exist at all. Links in the table display information on the relevant FlexDCA command.

  • Common Commands
  • Root Level Commands
  • :SYSTem Commands
  • :ACQuire Commands
  • :CALibrate Commands
  • :CHANnel Commands
  • :CRECovery Commands
  • :DISK Commands
  • :DISPlay Commands
  • :FUNCtion Commands
  • :HARDcopy Commands (FlexDCA does not support this subsystem at this time.)
  • :HISTogram Commands
  • :LTESt Commands
  • :MARKer Commands
  • :MTESt Commands
  • :MEASure Commands
  • :SPARameter Commands (FlexDCA TDR commands are not similar. Use the SCPI recorder to learn about commands for TDR mode.)
  • :SPRocessing Commands
  • :TDR Commands
  • :TIMebase Commands
  • :TRIGger Commands
  • :WAVeform Commands
  • :WMEMory Commands


Common Commands

86100D Legacy Command | Similar FlexDCA Command
*CLS | *CLS
*ESE | *ESE
*ESR? | *ESR?
*IDN? | *IDN?
*LRN? | :DISK:SETUP:SAVE The instrument setup data is saved to a file rather than returned to the controller.
*OPC | *OPC
*OPT? | *OPT?
*RCL | :DISK:SETUP:RECall The instrument setup data is recalled from a file rather than a register. Instrument setups are not saved to registers in FlexDCA.
*RST | *RST or :SYSTem:DEFault
*SAV | :DISK:SETUP:SAVE The instrument setup data is saved to a file rather than saved to a register. Instrument setups are not saved to registers in FlexDCA.
*SRE | *SRE
*STB? | *STB?
*TRG | *TRG
*TST? | *TST?
*WAI | *WAI


Root Level Commands

There are no root-level commands in FlexDCA. Instead the equivalent commands are dispersed within subsystems as listed in the table.

86100D Legacy Command | Similar FlexDCA Command
AEEN | :STATus:ACQuisition:ENABle
ALER? | :STATus:ACQuisition:EVENt?
AUToscale | :SYSTem:AUToscale;*OPC?
BLANk | :SYSTem:BLANk
CDISplay | :ACQuire:CDISplay
COMMents | —
CREE | :STATus:CRECovery:ENABle
CRER? | :STATus:CRECovery:EVENt
DIGitize | —
JEE | :STATus:JITTer:ENABle
JER? | :STATus:JITTer:EVENt
LER? | :STATus:LOCal:EVENt
LTEE | :STATus:LTESt:ENABle
LTER? | :STATus:LTESt:EVENt
MODel? | :SYSTem:MODel?
MTEE | :STATus:MTESt:ENABle
MTER? | :STATus:MTESt:EVENt
OPEE | :STATus:OPERation:ENABle
OPER? | :STATus:OPERation:EVENt
PTEE | :STATus:PTIMebase:ENABle
PTER? | :STATus:PTIMebase:EVENt
PRINt | FlexDCA has no print capability. Save screen images to a file (:DISK:SIMage:SAVE) and then print the file.
RECall:SETup | :DISK:SETup:RECall
RUN | :ACQuire:RUN
SERial | :SYSTem:SERial? {FRAMe | SLOT{1:8}}
SINGle | :ACQuire:SINGle
STOP | :ACQuire:STOP
STORe:SETup | :DISK:SETup:SAVE
STORe:WAVeform | :DISK:WAVeform:SAVE
TER? | :STATus:PTIMebase:EVENt
UEE | :STATus:USER:ENABle
UER? | :STATus:USER:EVENt
VIEW | :SYSTem:VIEW


:SYSTem Commands

86100D Legacy Command | Similar FlexDCA Command
:SYSTem:DATE | :SYSTem:DATE
:SYSTem:DSP | :SYSTem:DSP
:SYSTem:ERRor? | :SYSTem:ERRor?
:SYSTem:HEADer | FlexDCA does not output a header with a query response.
:SYSTem:LONGform | —
:SYSTem:MODE | :SYSTem:MODE
:SYSTem:SETup | —
:SYSTem:TIME | :SYSTem:TIME


:ACQuire Commands

86100D Legacy Command | Similar FlexDCA Command
:ACQuire:AVERage | :ACQuire:SMOothing
:ACQuire:BEST | :ACQuire:FEEDthru
:ACQuire:COUNt | :ACQuire:ECOunt
:ACQuire:EYELine | :ACQuire:WRAPping
:ACQuire:LTESt | :LTESt:ACQuire:SIMage:STATe :LTESt:ACQuire:SWAVeform:CHANnel{1A:8D}:STATe :LTESt:ACQuire:SWAVeform:CMODe{1A:8C}:STATe :LTESt:ACQuire:SWAVeform:DIFF{1A:8C}:STATe :LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:STATe
:ACQuire:POINts | :ACQuire:RLENgth
:ACQuire:POINts Auto | :ACQuire:RLENgth:MODE AUTomatic
:ACQuire:RUNTil | :LTESt:ACQuire:CTYPe:PATTerns :LTESt:ACQuire:CTYPe:SAMPles :LTESt:ACQuire:CTYPe:WAVeforms
:ACQuire:SSCReen | :LTESt:ACQuire:SIMage:STATe
:ACQuire:SSCReen:AREA | :LTESt:ACQuire:SIMage:GONLy
:ACQuire:SSCReen:IMAGe | :LTESt:ACQuire:SIMage:INVert :LTESt:ACQuire:SIMage:MONochrome
:ACQuire:SWAVeform | :LTESt:ACQuire:SWAVeform:CHANnel{1A:8D}:STATe :LTESt:ACQuire:SWAVeform:CMODe{1A:8C}:STATe :LTESt:ACQuire:SWAVeform:DIFF{1A:8C}:STATe :LTESt:ACQuire:SWAVeform:FUNCtion{1:16}:STATe
:ACQuire:SWAVeform:RESet | :LTESt:ACQuire:SWAVeform:RESet


:CALibrate Commands

86100D Legacy Command | Similar FlexDCA Command
:CALibrate:CANCel | :CALibrate:CANCel
:CALibrate:CONTinue | :CALibrate:CONTinue
:CALibrate:ERATio:DLEVel? | :CALibrate:DARK:CHANnel:STARt
:CALibrate:ERATio:STARt | :CALibrate:DARK:CHANnel:STARt
:CALibrate:ERATio:STATus? | :CALibrate:DARK:CHANnel:STATus?
:CALibrate:FRAMe:LABel | —
:CALibrate:FRAMe:STARt | :CALibrate:FRAMe:PTIMebase:STARt For 86100D Option PTB precision timebase only.
:CALibrate:FRAMe:TIME? | :CALibrate:FRAMe:STATus:TIME?
:CALibrate:MODule:LRESistance | :CALibrate:LRESistance
:CALibrate:MODule:OCONversion? | :CALibrate:OPTical:CONVersion?
:CALibrate:MODule:OPOWer | :CALibrate:OPTical:USER:CHANnel:OPOWer For N1090A DCA-M modules only.
:CALibrate:MODule:OPTical | :CALibrate:OPTical:USER:CHANnel:STARt For N1090A DCA-M modules only.
:CALibrate:MODule:OWAVelength | :CALibrate:OPTical:USER:CHANnel:WAVelength For N1090A DCA-M modules only.
:CALibrate:MODule:STATus? | :CALibrate:SLOT:STATus?
:CALibrate:MODule:TIME? | :CALibrate:CHANnel:STATus:DETails? :CALibrate:CHANnel:STATus:TIME? :CALibrate:CHANnel:STATus:DTEMperature? :CALibrate:SLOT:STATus:DETails? :CALibrate:SLOT:STATus:TIME? :CALibrate:SLOT:STATus:DTEMperature?
:CALibrate:MODule:VERTical | :CALibrate:SLOT:STARt
:CALibrate:OUTPut | :CALibrate:OUTPut
:CALibrate:PROBe | :CALibrate:PROBe:CHANnel:STARt
:CALibrate:RECommend? | :CALibrate:SLOT:CRECovery:STATus? :CALibrate:DARK:CHANnel:STATus? :CALibrate:SLOT:STATus? :CALibrate:SLOT:VERTical:STATus?
:CALibrate:SAMPlers | —
:CALibrate:SDONe? | :CALibrate:SDONe?
:CALibrate:SKEW | :CALibrate:SKEW:SLOT:STARt
:CALibrate:SKEW:AUTO | —
:CALibrate:STATus? | :CALibrate:SLOT:STATus?


:CHANnel Commands

86100D Legacy Command | Similar FlexDCA Command
:CHANnel:BANDwidth | :CHANnel:BANDwidth
:CHANnel:CONNector | :CHANnel:CONNector
:CHANnel:DISPlay | :CHANnel:DISPlay
:CHANnel:DSKew | :CHANnel:SKEW Manual skew entry for N1045A and 86118A-H01 modules.
:CHANnel:DSKew:AUTO | :CALibrate:SKEW:SLOT:STARt Automatic deskew for N1045A module.
:CHANnel:DSKew:AUTO:STEP | —
:CHANnel:DSKew:LCALibrate | —
:CHANnel:FDEScription? | —
:CHANnel:FILTer | :CHANnel:FILTer FILTer
:CHANnel:FSELect | :CHANnel:FSELect FILTer
:CHANnel:OFFSet | :CHANnel:YOFFset
:CHANnel:PROBe | :CHANnel:ATTenuator:STATe :CHANnel:TRANsducer:STATe
:CHANnel:PROBe:CALibrate | :CALibrate:PROBe:CHANnel{1A:8D:STARt
:CHANnel:PROBe:SELect | :CHANnel:PROBe:ID
:CHANnel:RANGe | —
:CHANnel:SCALe | :CHANnel:YSCale
:CHANnel:TDRSkew | :TDR:DESKew:SCHannel
:CHANnel:UNITs | :CHANnel:TRANsducer:UNITs
:CHANnel:UNITs:ATTenuation | :CHANnel:TRANsducer:GAIN
:CHANnel:UNITs:OFFSet | :CHANnel:TRANsducer:OFFSet
:CHANnel:WAVelength | :CHANnel:WAVelength


:CRECovery Commands

86100D Legacy Command | Similar FlexDCA Command
:CRECovery:ARELock | —
:CRECovery:ARELock:CANCel | —
:CRECovery:ARELock:STATe? | —
:CRECovery:CFRequency? | :CRECovery:CFRequency?
:CRECovery:CLBandwidth | :CRECovery:CLBandwidth
:CRECovery:CRATe | :CRECovery:CRATe
:CRECovery:INPut | :CRECovery:SOURce
:CRECovery:LBANdwidth | :CRECovery:LBANdwidth
:CRECovery:LBWMode | :CRECovery:LBWMode
:CRECovery:LOCKed? | :CRECovery:LOCKed?
:CRECovery:LSELect | :CRECovery:LSELect
:CRECovery:LSELect:AUTomatic | :CRECovery:LSELect:AUTomatic
:CRECovery:ODRatio | :CRECovery:ODRatio
:CRECovery:ODRatio:AUTO | :CRECovery:ODRatio:AUTomatic
:CRECovery:PEAKing? | :CRECovery:JSANalysis:PLLoop:JTF:PEAKing?
:CRECovery:RATE | :CRECovery:RATe
:CRECovery:RDIVider | :CRECovery:RDIVider
:CRECovery:RELock | :CRECovery:RELock
:CRECovery:SPResent? | —
:CRECovery:TDENsity? | :CRECovery:TDENsity?
:CRECovery:T2TFrequency? | —


:DISK Commands

86100D Legacy Command | Similar FlexDCA Command
:DISK:BFILe? | :DISK:FILE:READ
:DISK:CDIRectory | —
:DISK:DELete | —
:DISK:DIRectory? | —
:DISK:LOAD | :DISK:EYE:RECall :DISK:JDATabase:RECall :DISK:WAVeform:RECall :DISK:SETup:RECall
:DISK:MDIRectory | —
:DISK:PWAVeform:LOAD | :DISK:WAVeform:RECall
:DISK:PWAVeform:PPBit | :ACQuire:SPBit :ACQuire:SPBit:MODe
:DISK:PWAVeform:RANGe | :TIMebase:BRANge
:DISK:PWAVeform:RANGe:STARt | :TIMebase:BPOSition
:DISK:PWAVeform:RANGe:STOP | :TIMebase:BRANge
:DISK:PWAVeform:SAVE | :DISK:WAVeform:SAVE For pattern waveforms, the entire waveform is always saved; a range of bits cannot be specified.
:DISK:PWD? | Use the commands that are provided with your programming language.
:DISK:SIMage | :DISK:SIMage:SAVE
:DISK:SPARameter:SAVE | :DISK:SPARameter:PSET :DISK:SPARameter:SAVE
:DISK:STORe | :DISK:EYE:SAVE :DISK:JDATabase:SAVE :DISK:WAVeform:SAVE :DISK:SETup:SAVe
:DISK:TFILe? | :DISK:FILE:ASCii:READ


:DISPlay Commands

86100D Legacy Command | Similar FlexDCA Command
:DISPlay:CGRade:LEVels? | —
:DISPlay:CONNect | :DISPlay:CONNect
:DISPlay:DATA? | :DISK:SIMage:FMANe :DISK:SIMage:SAVE;*OPC? :DISK:FILE:READ
:DISPlay:DCOLor | :SYSTem:DEFault :DISPlay:GRATicule:GRID:INTensity
:DISPlay:ETUNing | :DISPlay:ETUNing
:DISPlay:GRATicule | :DISPlay:GRATicule:GRID:STATe :DISPlay:GRATicule:HDIVisions :DISPlay:GRATicule:VDIVisions
:DISPlay:JITTer:BATHtub:YSCale | :DISPlay:JITTer:BATHtub:YSCale
:DISPlay:JITTer:GRAPh | :DISPlay:JITTer:GRAPh:TYPE
:DISPlay:JITTer:HISTogram:YSCale | :DISPlay:JITTer:HISTogram:YSCale
:DISPlay:JITTer:LAYout | :DISPlay:JITTer:LAYout
:DISPlay:JITTer:PJWFrequency | —
:DISPlay:JITTer:PJWTracking | —
:DISPlay:JITTer:SHADe | —
:DISPlay:LABel | —
:DISPlay:LABel:DALL | —
:DISPlay:PERSistence | :DISPlay:PERSistence
:DISPlay:RRATe | —
:DISPlay:SCOLor | :CHANnel:COLor :DIFF{1A:8C}:COLor :EMEMory:COLor :FUNCtion:COLor :WMEMory:COLor
:DISPlay:SINTegrity:BATHtub:YSCale | :DISPlay:JITTer:BATHtub:YSCale
:DISPlay:SINTegrity:GRAPh | :DISPlay:JITTer:GRAPh
:DISPlay:SINTegrity:HISTogram:YSCale | :DISPlay:JITTer:HISTogram:YSCale
:DISPlay:SINTegrity:LAYout | :DISPlay:JITTer:LAYout
:DISPlay:SINTegrity:LEVel | :DISPlay:AMPLitude:LEVel
:DISPlay:SINTegrity:SHADe | —
:DISPlay:SPARameter:GRAPh | When a waveform content window is in zoom-tiled mode, selects the waveform to display. Use the following commands to select the waveform to display: :DISPlay:WINDow:GDELay:ZSIGnal :DISPlay:WINDow:MAGNitude:ZSIGnal :DISPlay:WINDow:PHASe:ZSIGnal :DISPlay:WINDow:T:OHMS:ZSIGnal :DISPlay:WINDow:T:PERCent:ZSIGnal :DISPlay:WINDow:T:VOLTs:ZSIGnal :DISPlay:WINDow:TIME:ZSIGnal
:DISPlay:SPARameter:LAYout | Places a waveform content window in zoom-tiled mode: :DISPlay:WINDow:GDELay:DMODe :DISPlay:WINDow:MAGNitude:DMODe :DISPlay:WINDow:PHASe:DMODe :DISPlay:WINDow:T:OHMS:DMODe :DISPlay:WINDow:T:PERCent:DMODe :DISPlay:WINDow:T:VOLTs:DMODe :DISPlay:WINDow:TIME:DMODe
:DISPlay:SPARameter:SHADe | —
:DISPlay:SSAVer | —


:FUNCtion Commands

86100D Legacy Command | Similar FlexDCA Command
:FUNCtion:ADD | :FUNCtion:FOPerator ADD
:FUNCtion:DIFF | :FUNCtion:FOPerator DIFFerence
:FUNCtion:DISPlay | :FUNCtion:DISPlay
:FUNCtion:FUNCtion | :FUNCtion:OPERand
:FUNCtion:HORizontal | :FUNCtion:HTRacking
:FUNCtion:HORizontal:POSition | :FUNCtion:XPOSition
:FUNCtion:HORizontal:RANGe | :FUNCtion:XSCale
:FUNCtion:INVert | :FUNCtion:FOPerator INVert
:FUNCtion:MAGNify | :FUNCtion:FOPerator :FUNCtion:FOPerator MAX
:FUNCtion:MINimum | :FUNCtion:FOPerator MIN
:FUNCtion:MULTiply | :FUNCtion:FOPerator MULTiply
:FUNCtion:OFFSet | :FUNCtion:FOPerator ADD :FUNCtion:OPERand CONStant :FUNCtion:CONStant
:FUNCtion:PEELing | —
:FUNCtion:RANGe | :FUNCtion:YSCale
:FUNCtion:SUBTract | :FUNCtion:FOPerator SUBTract
:FUNCtion:VERSus | :FUNCtion:FOPerator VERSus
:FUNCtion:VERTical | :FUNCtion:VTRacking
:FUNCtion:VERTical:OFFSet | :FUNCtion:OFFSet
:FUNCtion:VERTical:RANGe | :FUNCtion:YSCale


:HISTogram Commands

86100D Legacy Command | Similar FlexDCA Command
:HISTogram:AXIS | :HISTogram:AXIS
:HISTogram:MODE | :HISTogram:DISPlay
:HISTogram:SCALe:SIZE | :HISTogram:HSIZe :HISTogram:VSIZe
:HISTogram:SOURce | :HISTogram:SOURce
:HISTogram:WINDow:BORDer | :HISTogram:WINDow:BORDer
:HISTogram:WINDow:DEFault | :HISTogram:WINDow:DEFault
:HISTogram:WINDow:SOURce | :HISTogram:SOURce
:HISTogram:WINDow:X1Position | :HISTogram:WINDow:X1
:HISTogram:WINDow:X2Position | :HISTogram:WINDow:X2
:HISTogram:WINDow:Y1Position | :HISTogram:WINDow:Y1
:HISTogram:WINDow:Y2Position | :HISTogram:WINDow:Y2


:LTESt Commands

86100D Legacy Command | Similar FlexDCA Command
:LTESt:FAIL | :LTESt:MEASure:AMPLitude:LOCation:FREGion :LTESt:MEASure:EYE:LOCation:FREGion :LTESt:MEASure:JITTer:LOCation:FREGion :LTESt:MEASure:MTESt:LOCation:FREGion :LTESt:MEASure:OSCilloscope:LOCation:FREGion
:LTESt:JITTer:SELect | :LTESt:MEASure:JITTer:LOCation:STATe
:LTESt:LLIMit | :LTESt:MEASure:AMPLitude:LOCation:LLIMit :LTESt:MEASure:EYE:LOCation:LLIMit :LTESt:MEASure:JITTer:LOCation:LLIMit :LTESt:MEASure:MTESt:LOCation:LLIMit :LTESt:MEASure:OSCilloscope:LOCation:LLIMit
:LTESt:MNFound | :LTESt:MEASure:AMPLitude:LOCation:UPACtion :LTESt:MEASure:EYE:LOCation:UPACtion :LTESt:MEASure:JITTer:LOCation:UPACtion :LTESt:MEASure:MTESt:LOCation:UPACtion :LTESt:MEASure:OSCilloscope:LOCation:UPACtion
:LTESt:RUNTil | :LTESt:MEASure:AMPLitude:LOCation:FAILures :LTESt:MEASure:EYE:LOCation:FAILures :LTESt:MEASure:JITTer:LOCation:FAILures :LTESt:MEASure:MTESt:LOCation:FAILures :LTESt:MEASure:OSCilloscope:LOCation:FAILures
:LTESt:SINTegrity:SELect | :LTESt:MEASure:JITTer:LOCation:STATe :LTESt:MEASure:AMPLitude:LOCation:STATe
:LTESt:SOURce | Read the :LTESt introduction.
:LTESt:SSCReen | :LTESt:MEASure:SIMage:STATe
:LTESt:SSCReen:AREA | :LTESt:MEASure:SIMage:GONLy
:LTESt:SSCReen:IMAGe | :LTESt:MEASure:SIMage:INVert
:LTESt:SSUMmary | :LTESt:MEASure:SSUMmary:STATe
:LTESt:SWAVeform | :LTESt:MEASure:SWAVeform:CHAN:STATe :LTESt:MEASure:SWAVeform:DIFF:STATe :LTESt:MEASure:SWAVeform:FUNCtion:STATe
:LTESt:SWAVeform:RESet | :LTESt:MEASure:SWAVeform:RESet
:LTESt:TEST | :LTESt:MEASure:AMPLitude:LOCation:STATe :LTESt:MEASure:EYE:LOCation:STATe :LTESt:MEASure:JITTer:LOCation:STATe :LTESt:MEASure:MTESt:LOCation:STATe :LTESt:MEASure:OSCilloscope:LOCation:STATe
:LTESt:ULIMit | :LTESt:MEASure:AMPLitude:LOCation:ULIMit :LTESt:MEASure:EYE:LOCation:ULIMit :LTESt:MEASure:JITTer:LOCation:ULIMit :LTESt:MEASure:MTESt:LOCation:ULIMit :LTESt:MEASure:OSCilloscope:LOCation:ULIMit


:MARKer Commands

86100D Legacy Command | Similar FlexDCA Command
:MARKer:PROPagation | :GRAPh:T:OHMS:X:DCONstant :GRAPh:T:OHMS:X:VFACtor :GRAPh:T:PERCent:X:DCONstant :GRAPh:T:PERCent:X:VFACtor :GRAPh:T:VOLTs:X:DCONstant :GRAPh:T:VOLTs:X:VFACtor
:MARKer:REACtance? | :MEASure:TDR:ECAPacitance :MEASure:TDR:EINDuctance
:MARKer:REFerence | —
:MARKer:RPANnotation | —
:MARKer:STATe | :MARKer:X1:STATe :MARKer:X2:STATe :MARKer:Y1:STATe :MARKer:Y2:STATe
:MARKer:X1Position | :MARKer:X1:POSition
:MARKer:X1Y1source | :MARKer:X1:SOURce :MARKer:Y1:SOURce
:MARKer:X2Position | :MARKer:X2:POSition
:MARKer:X2Y2source | :MARKer:X2:SOURce :MARKer:Y2:SOURce
:MARKer:XDELta? | :MEASure:MARKer:XDELta? :MEASure:MARKer:IXDelta?
:MARKer:XUNits | :GRAPh:T:OHMS:X:UNITs :GRAPh:T:PERCent:X:UNITs :GRAPh:T:VOLTs:X:UNITs
:MARKer:Y1Position | :MARKer:Y1:POSition
:MARKer:Y2Position | :MARKer:Y2:POSition
:MARKer:YDELta? | :MEASure:MARKer:YDELta?
:MARKer:YUNits | —


:MTESt Commands

86100D Legacy Command | Similar FlexDCA Command
:MTESt:ALIGn | —
:MTESt:AMARgin:BER | :MTESt:MARGin:AUTo:HRATio
:MTESt:AMARgin:CALCulate | :MTESt:MARGin:AUTo:METHod AUTO
:MTESt:AMEThod | :MTESt:ALIGnment:X:METHod
:MTESt:AOPTimize | :MTESt:AOPTimize
:MTESt:ARUN | —
:MTESt:COUNt:FAILures? | :MEASure:MTESt:THRegion?
:MTESt:COUNt:FSAMples? | :MEASure:MTESt:THITs?
:MTESt:COUNt:HITS? | :MEASure:MTESt:HITS? :MEASure:MTESt:THITs? :MEASure:MTESt:HREGion? :MEASure:MTESt:MHITs? :MEASure:MTESt:MHRegion?
:MTESt:COUNt:SAMPles? | :MEASure:MTESt:NSAMples?
:MTESt:COUNt:WAVeforms? | :MEASure:MTESt:NWAVeforms?
:MTESt:DELete | —
:MTESt:EXIT | :MTESt:DISPlay
:MTESt:LOAD | :MTESt:LOAD
:MTESt:MASK:DELete | —
:MTESt:MMARgin:PERCent | :MTESt:MARGin:PERCent
:MTESt:MMARgin:STATe | :MTESt:MARGin:STATe
:MTESt:RUNTil | :LTESt:MTESt:STATe :LTESt:MEASure:MTESt:LOCation:STATe
:MTESt:SAVE | —
:MTESt:SCALe:DEFault | —
:MTESt:SCALe:MODE | —
:MTESt:SCALe:SOURce? | —
:MTESt:SCALe:X1 | :MTESt:X1
:MTESt:SCALe:XDELta | :MTESt:XDELta
:MTESt:SCALe:Y1 | :MTESt:Y1
:MTESt:SCALe:Y2 | :MTESt:Y2
:MTESt:SOURce | :MTESt:SOURce
:MTESt:SCALe:YTRack | :MTESt:YTRack
:MTESt:SSCReen | :LTESt:MTESt:SIMage:STATe
:MTESt:SSCReen:AREA | :LTESt:MTESt:SIMage:GONLy
:MTESt:SSCReen:IMAGe | :LTESt:MTESt:SIMage:INVert :LTESt:MTESt:SIMage:MONochrome
:MTESt:SSUMmary | :LTESt:MTESt:SSUMmary:STATe
:MTESt:STARt | :MTESt:LOAD
:MTESt:SWAVeform | :LTESt:MTESt:SWAVeform:CHAN:STATe :LTESt:MTESt:SWAVeform:DIFF:STATe :LTESt:MTESt:SWAVeform:FUNCtion:STATe
:MTESt:SWAVeform:RESet | :LTESt:MTESt:SWAVeform:RESet
:MTESt:TEST | :MTESt:DISPlay
:MTESt:TITLe? | :MTESt:TITLe?
:MTESt:YALign | :MTESt:YALign


:MEASure Commands

86100D Legacy Command | Similar FlexDCA Command
:MEASure:AMPLitude:ANALysis | :MEASure:AMPLitude:DEFine:ANALysis
:MEASure:AMPLitude:DI? | :MEASure:AMPLitude:DIONes:SOURce :MEASure:AMPLitude:DIONes? :MEASure:AMPLitude:DIZeros:SOURce :MEASure:AMPLitude:DIZeros?
:MEASure:AMPLitude:EOPening? | :MEASure:AMPLitude:EOPening
:MEASure:AMPLitude:ISI? | :MEASure:AMPLitude:ISIOnes:SOURce :MEASure:AMPLitude:ISIOnes? :MEASure:AMPLitude:ISIZeros:SOURce :MEASure:AMPLitude:ISIZeros?
:MEASure:AMPLitude:ISIVsbit? | :MEASure:AMPLitude:ISIVsbit?
:MEASure:AMPLitude:ISIVsbit:BITS? | :MEASure:AMPLitude:ISIVsbit:BITS?
:MEASure:AMPLitude:ISIVsbit:HIGHest? | :MEASure:AMPLitude:ISIVsbit:HIGHest?
:MEASure:AMPLitude:ISIVsbit:LOWest? | :MEASure:AMPLitude:ISIVsbit:LOWest?
:MEASure:AMPLitude:LEVel:CIDigits:LAGGing | :MEASure:AMPLitude:DEFine:LEVel:CIDigits:LAGGing
:MEASure:AMPLitude:LEVel:CIDigits:LEADing | :MEASure:AMPLitude:DEFine:LEVel:CIDigits:LEADing
:MEASure:AMPLitude:LEVel:DEFine | :MEASure:AMPLitude:DEFine:LEVel
:MEASure:AMPLitude:LOCation | :MEASure:AMPLitude:DEFine:LOCation
:MEASure:AMPLitude:OLEVel? | :MEASure:AMPLitude:OLEVel:SOURce :MEASure:AMPLitude:OLEVel?
:MEASure:AMPLitude:PI? | :MEASure:AMPLitude:PIONes:SOURce :MEASure:AMPLitude:PIONes? :MEASure:AMPLitude:PIZeros:SOURce :MEASure:AMPLitude:PIZeros?
:MEASure:AMPLitude:PIRMs? | :MEASure:AMPLitude:PIROnes:SOURce :MEASure:AMPLitude:PIROnes? :MEASure:AMPLitude:PIRZeros:SOURce :MEASure:AMPLitude:PIRZeros?
:MEASure:AMPLitude:Q? | :MEASure:AMPLitude:Q:SOURce :MEASure:AMPLitude:Q?
:MEASure:AMPLitude:RINoise? | :MEASure:AMPLitude:RINoise:SOURce :MEASure:AMPLitude:RINoise?
:MEASure:AMPLitude:RINoise:DEF | :MEASure:AMPLitude:DEFine:RINoise:TYPe
:MEASure:AMPLitude:RINoise:UNITs | :MEASure:AMPLitude:DEFine:RINoise:UNITs
:MEASure:AMPLitude:RN? | :MEASure:AMPLitude:RNONes:SOURce :MEASure:AMPLitude:RNONes? :MEASure:AMPLitude:RNZeros:SOURce :MEASure:AMPLitude:RNZeros?
:MEASure:AMPLitude:RNSTabilize | :MEASure:AMPLitude:DEFine:RNSTabilize
:MEASure:AMPLitude:RNSValue | :MEASure:AMPLitude:RNSValue:ONE :MEASure:AMPLitude:RNSValue:ZERO :MEASure:AMPLitude:RNSValue:GMRN
:MEASure:AMPLitude:SAMPlitude? | :MEASure:AMPLitude:SAMPlitude:SOURce :MEASure:AMPLitude:SAMPlitude?
:MEASure:AMPLitude:TI? | :MEASure:AMPLitude:TIONes:SOURce :MEASure:AMPLitude:TIONes? :MEASure:AMPLitude:TIZeros:SOURce :MEASure:AMPLitude:TIZeros?
:MEASure:AMPLitude:TI:DEFine | :DISPlay:AMPLitude:LEVel
:MEASure:AMPLitude:UNITs | :MEASure:AMPLitude:DEFine:UNITs
:MEASure:AMPLitude:ZLEVel? | :MEASure:AMPLitude:ZLEVel
:MEASure:ANNotation | —
:MEASure:APOWer | :MEASure:EYE:APOWer:SOURce :MEASure:EYE:APOWer:UNITs :MEASure:EYE:APOWer? :MEASure:OSCilloscope:APOWer:SOURce :MEASure:OSCilloscope:APOWer:UNITs :MEASure:OSCilloscope:APOWer?
:MEASure:APOWer:CORRection | :CALibrate:DARK:CHANnel:STARt
:MEASure:CGRade:AMPLitude | :MEASure:EYE:AMPLitude:SOURce :MEASure:EYE:AMPLitude?
:MEASure:CGRade:BITRate | :MEASure:EYE:BITRate:SOURce :MEASure:EYE:BITRate?
:MEASure:CGRade:COMPlete | :MEASure:EYE:COMPlete
:MEASure:CGRade:CRATio | —
:MEASure:CGRade:CROSsing | :MEASure:EYE:CROSsing:SOURce :MEASure:EYE:CROSsing?
:MEASure:CGRade:DCDistortion | :MEASure:EYE:DCDistortion:SOURce :MEASure:EYE:DCDistortion?
:MEASure:CGRade:DCYCle | —
:MEASure:CGRade:EHEight | :MEASure:EYE:EHEight:SOURce :MEASure:EYE:EHEight?
:MEASure:CGRade:ERATio | :MEASure:EYE:ERATio:SOURce :MEASure:EYE:ERATio:UNITs :MEASure:EYE:ERATio?
:MEASure:CGRade:ERFactor | :MEASure:ERATio:CHANnel:ACFactor :MEASure:ERATio:CHANnel:CFACtor
:MEASure:CGRade:ESN | :MEASure:EYE:ESN:SOURce :MEASure:EYE:ESN?
:MEASure:CGRade:EWIDth | :MEASure:EYE:EWIDth:SOURce :MEASure:EYE:EWIDth:FORMat :MEASure:EYE:EWIDth?
:MEASure:CGRade:JITTer | :MEASure:EYE:JITTer:SOURce :MEASure:EYE:JITTer:FORMat :MEASure:EYE:JITTer?
:MEASure:CGRade:OFACtor | —
:MEASure:CGRade:OLEVel | :MEASure:EYE:OLEVel:SOURce :MEASure:EYE:OLEVel?
:MEASure:CGRade:PEAK? | :MEASure:EYE:PEAK:SOURce :MEASure:EYE:PEAK?
:MEASure:CGRade:PWIDth | —
:MEASure:CGRade:SMOothing | —
:MEASure:CGRade:SOURce | Use the :SOURce child command for the selected measurement. For example, :MEASURE:EYE:AMPLitude:SOURce.
:MEASure:CGRade:ZLEVel | :MEASure:EYE:ZLEVel:SOURce :MEASure:EYE:ZLEVel?
:MEASure:CLEar | :MEASure:AMPLitude:LIST:CLEar :MEASure:EYE:LIST:CLEar :MEASure:JITTer:LIST:CLEar :MEASure:OSCilloscope:LIST:CLEar :MEASure:TDR:LIST:CLEar
:MEASureDEFine
:MEASureDEFine THResholds | :MEASure:THReshold:METHod :MEASure:THReshold:UNITs Based on Percent :MEASure:THReshold:DISTal :MEASure:THReshold:MESial :MEASure:THReshold:PROXimal Based on Units :CHANnel:UDEFined:DISTal :EMEMory:UDEFined:DISTal :WMEMory:UDEFined:DISTal :FUNCtion:UDEFined:DISTal :CHANnel:UDEFined:MESial :EMEMory:UDEFined:MESial :WMEMory:UDEFined:MESial :FUNCtion:UDEFined:MESial :CHANnel:UDEFined:PROXimal :EMEMory:UDEFined:PROXimal :WMEMory:UDEFined:PROXimal :FUNCtion:UDEFined:PROXimal
:MEASureDEFine TREFerence | :MEASure:THReshold:EREFerence
:MEASureDEFine TOPBase | :MEASure:TBASe:METHod :CHANnel:UDEFined:BASe :CHANnel:UDEFined:TOP :EMEMory:UDEFined:BASe :EMEMory:UDEFined:TOP :WMEMory:UDEFined:BASe :WMEMory:UDEFined:TOP :FUNCtion:UDEFined:BASe :FUNCtion:UDEFined:TOP
:MEASureDEFine EWINdow | :MEASure:EBOundary:DEFault :MEASure:EBOundary:LEFT :MEASure:EBOundary:RIGHt
:MEASureDEFine DELTatime | :MEASure:DELTatime:EDIRection :MEASure:DELTatime:ENUMber :MEASure:DELTatime:ETHReshold
:MEASureDEFine CGRade | —
:MEASureDEFine RZEWindow | —
:MEASure:DELTatime | :MEASure:EYE:DELTatime:SOURce :MEASure:EYE:DELTatime? :MEASure:OSCilloscope:DELTatime:SOURce :MEASure:OSCilloscope:DELTatime?
:MEASure:DUTYcycle | :MEASure:OSCilloscope:DUTYcycle:SOURce :MEASure:OSCilloscope:DUTYcycle?
:MEASure:FALLtime | :MEASure:EYE:FALLtime:SOURce :MEASure:EYE:FALLtime? :MEASure:OSCilloscope:FALLtime:SOURce :MEASure:OSCilloscope:FALLtime?
:MEASure:FREQuency | :MEASure:OSCilloscope:FREQuency:SOURce :MEASure:OSCilloscope:FREQuency
:MEASure:HISTogram:HITS? | :MEASure:HISTogram:HITS?
:MEASure:HISTogram:M1S? | :MEASure:HISTogram:M1S?
:MEASure:HISTogram:M2S? | :MEASure:HISTogram:M2S?
:MEASure:HISTogram:M3S? | :MEASure:HISTogram:M3S?
:MEASure:HISTogram:MEAN? | :MEASure:HISTogram:MEAN?
:MEASure:HISTogram:MEDian? | :MEASure:HISTogram:MEDian?
:MEASure:HISTogram:PEAK? | :MEASure:HISTogram:PEAK?
:MEASure:HISTogram:PP? | :MEASure:HISTogram:PP?
:MEASure:HISTogram:PPOSition? | :MEASure:HISTogram:PPOSition?
:MEASure:HISTogram:SCALe? | :MEASure:HISTogram:SCALe?
:MEASure:HISTogram:STDDev? | :MEASure:HISTogram:STDDev?
:MEASure:JITTer:DCD? | :MEASure:JITTer:DCD?
:MEASure:JITTer:DDJ? | :MEASure:JITTer:DDJ?
:MEASure:JITTer:DDJVsbit? | :MEASure:JITTer:DDJVsbit?
:MEASure:JITTer:DDJVsbit:BITS? | :MEASure:JITTer:DDJVsbit:BITS?
:MEASure:JITTer:DDJVsbit:EARLiest? | :MEASure:JITTer:DDJVsbit:EARLiest?
:MEASure:JITTer:DDJVsbit:LATest? | :MEASure:JITTer:DDJVsbit:LATest?
:MEASure:JITTer:DJ? | :MEASure:JITTer:DJ?
:MEASure:JITTer:EBITs? | :MEASure:JITTer:EBITs?
:MEASure:JITTer:EDGE | :MEASure:DEFine:EDGe
:MEASure:JITTer:FREQuency:ANALysis | —
:MEASure:JITTer:FREQuency:COMPonents? | —
:MEASure:JITTer:FREQuency:MAXNumber | —
:MEASure:JITTer:FREQuency:SCAN | —
:MEASure:JITTer:ISI? | :MEASure:JITTer:ISI
:MEASure:JITTer:LEVel? | :MEASure:JITTer:LEVel
:MEASure:JITTer:LEVel:DEFine | :MEASure:JITTer:LEVel
:MEASure:JITTer:PATTern? | :MEASure:JITTer:PATTern
:MEASure:JITTer:PJ? | :MEASure:JITTer:PJ
:MEASure:JITTer:PJRMs? | :MEASure:JITTer:PJRMs
:MEASure:JITTer:RJ? | :MEASure:JITTer:RJ
:MEASure:JITTer:RJSTablize | :MEASure:DEFine:RJSTablize
:MEASure:JITTer:RJSValue | :MEASure:DEFine:RJSValue :MEASure:DEFine:RJSValue:GMRJ
:MEASure:JITTer:SIGNal | :MEASure:JITTer:SIGNal
:MEASure:JITTer:SIGNal:AUTodetect | :MEASure:JITTer:SIGNal:AUTodetect
:MEASure:JITTer:TJ? | :MEASure:JITTer:TJ
:MEASure:JITTer:TJ:DEFine | :MEASure:DEFine:TJBer
:MEASure:JITTer:UNITs | :MEASure:DEFine:UNITs
:MEASure:MATLab | —
:MEASure:MATLab:SCRipt | —
:MEASure:MATLab:ETENable | —
:MEASure:MATLab:ETEXt? | —
:MEASure:NWIDth | :MEASure:OSCilloscope:NWIDth
:MEASure:OMAMplitude | :MEASure:OSCilloscope:OMAmplitude
:MEASure:OVERshoot | :MEASure:OSCilloscope:OVERshoot
:MEASure:PERiod | :MEASure:OSCilloscope:PERiod
:MEASure:PWIDth | :MEASure:OSCilloscope:PWIDth
:MEASure:RESults? | :MEASure:RESults?
:MEASure:RISetime | :MEASure:EYE:RISetime:SOURce :MEASure:EYE:RISetime? :MEASure:OSCilloscope:RISetime:SOURce :MEASure:OSCilloscope:RISetime? :MEASure:TDR:RISetime:SOURce :MEASure:TDR:RISetime?
:MEASure:SCRatch | :MEASure:AMPLitude:LIST:CLEar :MEASure:EYE:LIST:CLEar :MEASure:JITTer:LIST:CLEar :MEASure:OSCilloscope:LIST:CLEar :MEASure:TDR:LIST:CLEar
:MEASure:SENDvalid | —
:MEASure:SINTegrity:BERFloor? | :MEASure:AMPLitude:BERFloor
:MEASure:SINTegrity:BERLimit? | :MEASure:AMPLitude:BERLimit
:MEASure:SINTegrity:PATTern? | :MEASure:JITTer:PATTern
:MEASure:SINTegrity:SIGNal | :MEASure:JITTer:DEFine:SIGNal
:MEASure:SINTegrity:SIGNal:AUTodetect | :MEASure:JITTer:DEFine:SIGNal:AUTodetect
:MEASure:SOURce | Use the :SOURce child command for the selected oscilloscope measurement. For example, :MEASURE:OSCilloscope:VTOP:SOURce.
:MEASure:TEDGe? | :MEASure:OSCilloscope:TEDGe:SOURce :MEASure:OSCilloscope:TEDGe? :MEASure:TDR:TEDGe:SOURce :MEASure:TDR:TEDGe?
:MEASure:TDR:AVERage | :MEASure:TDR:VAVerage:SOURce :MEASure:TDR:VAVerage?
:MEASure:TDR:MAX | :MEASure:TDR:VMAXimum:SOURce :MEASure:TDR:VMAXimum?
:MEASure:TDR:MIN | :MEASure:TDR:VMINimum:SOURce :MEASure:TDR:VMINimum?
:MEASure:TMAX | :MEASure:OSCilloscope:TMAXimum:SOURce :MEASure:OSCilloscope:TMAXimum?
:MEASure:TMIN | :MEASure:OSCilloscope:TMINimum:SOURce :MEASure:OSCilloscope:TMINimum?
:MEASure:TVOLt? | :MEASure:OSCilloscope:TVOLt:EDIRection :MEASure:OSCilloscope:TVOLt:ENUMber :MEASure:OSCilloscope:TVOLt:YVALue :MEASure:OSCilloscope:TVOLt:SOURce :MEASure:OSCilloscope:TVOLt?
:MEASure:VAMPlitude | :MEASure:OSCilloscope:VAMPlitude:SOURce :MEASure:OSCilloscope:VAMPlitude?
:MEASure:VAVerage | :MEASure:OSCilloscope:VAVerage:AREa :MEASure:OSCilloscope:VAVerage:SOURce :MEASure:OSCilloscope:VAVerage?
:MEASure:VBASe | :MEASure:OSCilloscope:VBASe:SOURce :MEASure:OSCilloscope:VBASe?
:MEASure:VMAX | :MEASure:OSCilloscope:VMAXimum:SOURce :MEASure:OSCilloscope:VMAXimum?
:MEASure:VMIN | :MEASure:OSCilloscope:VMINimum:SOURce :MEASure:OSCilloscope:VMINimum?
:MEASure:VPP | :MEASure:OSCilloscope:VPP:SOURce :MEASure:OSCilloscope:VPP?
:MEASure:VRMS | :MEASure:OSCilloscope:VRMS:AREa :MEASure:OSCilloscope:VRMS:TYPe :MEASure:OSCilloscope:VRMS:SOURce :MEASure:OSCilloscope:VRMS?
:MEASure:VTIMe? | :MEASure:OSCilloscope:VTIMe:TIMe :MEASure:OSCilloscope:VTIMe:SOURce :MEASure:OSCilloscope:VTIMe?
:MEASure:VTOP | :MEASure:OSCilloscope:VTOP:SOURce :MEASure:OSCilloscope:VTOP?


:SPRocessing Commands

86100D Legacy Command | Similar FlexDCA Command
:SPRocessing:LFEQualizer | :FUNCtion:FOPerator FFEQualizer
:SPRocessing:LFEQualizer:BANDwidth | :SPRocess:FFEQualizer:BANDwidth
:SPRocessing:LFEQualizer:BWMode | :SPRocess:FFEQualizer:BANDwidth:AUTo
:SPRocessing:LFEQualizer:FDELay | :SPRocess:FFEQualizer:NPRecursors
:SPRocessing:LFEQualizer:NTAPs | :SPRocess:FFEQualizer:TAPS:COUNt
:SPRocessing:LFEQualizer:TAP | :SPRocess:FFEQualizer:TAPS
:SPRocessing:LFEQualizer:TAP:AUTomatic | :SPRocess:FFEQualizer:TAPS:AUTo
:SPRocessing:LFEQualizer:TAP:NORMalize | :SPRocess:FFEQualizer:TAPS:NORMalize
:SPRocessing:LFEQualizer:TDELay | :SPRocess:FFEQualizer:TSPacing:TIMe :SPRocess:FFEQualizer:TSPacing:TPBit
:SPRocessing:LFEQualizer:TDMode | :SPRocess:FFEQualizer:TSPacing
:SPRocessing:MATLab | —
:SPRocessing:MATLab:ETENable | —
:SPRocessing:MATLab:ETEXt | —
:SPRocessing:MATLab:SCRipt | —
:SPRocessing:OUTPut | :FUNCtion:FOPerator
:SPRocessing:SOURce | :FUNCtion:OPERand
:SPRocessing:SOURce:DISPlay | :FUNCtion:DISPlay :CHANnel:DISPlay :DIFF:DISPlay :WMEMory:DISPlay


:TDR Commands

86100D Legacy Command | Similar FlexDCA Command
TDR/TDT configuration and measurements is very different between the legacy and FlexDCA environments. Use FlexDCA's :TDR and :TRACe subsystems to display TDR and TDT waveforms. Refer also to waveform content windows.
:CONNect | :TDR:CHANnel:PORT
:DUT:DIRection | –
:DUT:TYPE | :TDR:AMODe :TDR:DUT:DTYPe
:RESPonse:CALibrate | :TDR:CALibration:DUT:STARt
:RESPonse:DISPlay | :TRACe:DISPlay
:RESPonse:RISetime | :TDR:DUT:RISetime
:RESPonse:RPLane? | –
:RESPonse:TYPE | –
:RESPonse:VAMPlitude? | –
:RESPonse:VERTical | –
:RESPonse:VERTical:OFFSet | –
:RESPonse:VERTical:RANGe | –
:RESPonse:VLOad? | –
:STIMulus:EXTernal | –
:STIMulus:EXTernal:POLarity | –
:STIMulus:MODE | :TDR:STIMulus:CHANnel:TYPe
:STIMulus:RATE | :TDR:STIMulus:SLOT:RATE :TDR:STIMulus:SLOT:RATE:AUTomatic
:STIMulus:STATe | :TDR:STIMulus:CHANnel:STEP


:TIMebase Commands

86100D Legacy Command | Similar FlexDCA Command
:TIMebase:BRATe | :TIMebase:BRATe
:TIMebase:MPOSition | :TIMebase:MPOSition
:TIMebase:POSition | :TIMebase:POSition
:TIMebase:PRECision | :PTIMebase:STATe
:TIMebase:PRECision:REFSource | :PTIMebase:RSOurce
:TIMebase:PRECision:RFRequency | :PTIMebase:RFRequency
:TIMebase:PRECision:RFRequency:AUTodetect | :PTIMebase:RFRequency:AUTo
:TIMebase:PRECision:TREFerence | :PTIMebase:RTReference
:TIMebase:RANGe | :TIMebase:XRANge
:TIMebase:REFerence | :TIMebase:REFerence
:TIMebase:SCALe | :TIMebase:SCALe
:TIMebase:UNITs | :TIMebase:UNITs


:TRIGger Commands

86100D Legacy Command | Similar FlexDCA Command
:TRIGger:ATTenuation | —
:TRIGger:BRATe | :TRIGger:BRATe
:TRIGger:BRATe:AUTodetect | :TRIGger:BRATe:AUTodetect
:TRIGger:BWLimit | :TRIGger:BWLimit
:TRIGger:DCDRatio | :TRIGger:DCDRatio
:TRIGger:DCDRatio:AUTodetect | :TRIGger:DCDRatio:AUTodetect
:TRIGger:GATed | —
:TRIGger:HYSTeresis | :TRIGger:HYSTeresis
:TRIGger:LEVel | :TRIGger:LEVel
:TRIGger:PLENgth | :TRIGger:PLENgth
:TRIGger:PLENgth:AUTodetect | :TRIGger:PLENgth:AUTodetect
:TRIGger:PLOCk | :TRIGger:PLOCk
:TRIGger:PLOCk:AUTodetect | —
:TRIGger:RBIT | —
:TRIGger:SLOPe | :TRIGger:SLOPe
:TRIGger:SOURce | :TRIGger:SOURce


:WAVeform Commands

86100D Legacy Command | Similar FlexDCA Command
:WAVeform:BANDpass? | —
:WAVeform:BYTeorder | —
:WAVeform:COUNt? | —
:WAVeform:DATA | —
:WAVeform:DATA? | EYE Format :WAVeform:EYE:ASCii:DATa? :WAVeform:EYE:INTeger:DATa? XYFormat :WAVeform:XYFormat:ASCii:XDATa? :WAVeform:XYFormat:ASCii:YDATa? :WAVeform:XYFormat:DOUBle:XDATa? :WAVeform:XYFormat:DOUBle:YDATa? :WAVeform:XYFormat:FLOat:XDATa? :WAVeform:XYFormat:FLOat:YDATa? YFORmat :WAVeform:YFORmat:ASCii:YDATa? :WAVeform:YFORmat:DOUBle:YDATa? :WAVeform:YFORmat:FLOat:YDATa? :WAVeform:YFORmat:WORD:YDATa?
:WAVeform:FORMat | —
:WAVeform:POINts? | :WAVeform:EYE:POINts? :WAVeform:XYFormat:POINts? :WAVeform:YFORmat:POINts?
:WAVeform:PREamble | —
:WAVeform:SOURce | :WAVeform:SOURce
:WAVeform:SOURce:CGRade | :WAVeform:SOURce
:WAVeform:TYPE? | —
:WAVeform:XDISplay? | :TIMebae:XLEFt?
:WAVeform:XINCrement? | :WAVeform:EYE:XINCrement? :WAVeform:YFORmat:XINCrement?
:WAVeform:XORigin? | :WAVeform:EYE:XORigin? :WAVeform:YFORmat:XORigin?
:WAVeform:XRANge? | :TIMebase:RANge?
:WAVeform:XREFerence? | :EMEMory:XREFerence? :FUNCtion:XREFerence? :WMEMory:XREFerence?
:WAVeform:XUNits? | :TIMebase:UNITs?
:WAVeform:YDISplay? | —
:WAVeform:YINCrement? | :WAVeform:EYE:YINCrement?
:WAVeform:YORigin? | :WAVeform:EYE:YORigin?
:WAVeform:YRANge? | :CHANnel:YTOP? and YBOTtom? :DIFF:YTOP? and YBOTtom? :EMEMory:YTOP? and YBOTtom? :FUNCtion:YTOP? and YBOTtom? :WMEMory:YTOP? and YBOTtom?
:WAVeform:YREFerence? | —
:WAVeform:YUNits? | :CHANnel:YUNits? :DIFF:YUNits? :EMEMory:YUNits? :FUNCtion:YUNits? :WMEMory:YUNits?


:WMEMory Commands

86100D Legacy Command | Similar FlexDCA Command
:WMEMory:DISPlay | :WMEMory:DISPlay
:WMEMory:LOAD | :DISK:WAVeform:RECall
:WMEMory:SAVE | :WMEMory:LOAD
:WMEMory:XOFFset | :WMEMory:XPOSition
:WMEMory:XRANge | :WMEMory:XSCale
:WMEMory:YOFFset | :WMEMory:YOFFset
:WMEMory:YRANge | :WMEMory:YSCale


Waveform Threshold, Top, Base Commands

Commands to Enter Custom Threshold Levels
Level | Levels Based On
 | Percentage | Unit Amplitude
Upper Level | :MEASure:THReshold:DISTal | :CHANnel:UDEFined:DISTal :DIFF:UDEFined:DISTal :EMEMory:UDEFined:DISTal :WMEMory:UDEFined:DISTal :FUNCtion:UDEFined:DISTal
Middle Level | :MEASure:THReshold:MESial | :CHANnel:UDEFined:MESial :DIFF:UDEFined:MESial :EMEMory:UDEFined:MESial :WMEMory:UDEFined:MESial :FUNCtion:UDEFined:MESial
Lower Level | :MEASure:THReshold:PROXimal | :CHANnel:UDEFined:PROXimal :DIFF:UDEFined:PROXimal :EMEMory:UDEFined:PROXimal :WMEMory:UDEFined:PROXimal :FUNCtion:UDEFined:PROXimal
Commands Used to Enter Top and Base Levels
Waveform Type | Commands
Channels | :CHANnel:UDEFined:BASe :CHANnel:UDEFined:TOP
Differential Waveforms | :DIFF:UDEFined:BASe :DIFF:UDEFined:TOP
Eye Memory | :EMEMory:UDEFined:BASe :EMEMory:UDEFined:TOP
Waveform Memory | :WMEMory:UDEFined:BASe :WMEMory:UDEFined:TOP
Function | :FUNCtion:UDEFined:BASe :FUNCtion:UDEFined:TOP


Waveform Signal Processing

Waveform signal processing provides a variety of operators that you can use to build powerful functions for modifying channel or memory waveforms. The output of your functions can be displayed on the screen just like any other waveform. You can also perform measurements, apply histograms, use markers, and perform mask tests on these waveforms.

Click Measure > Waveform Signal Processing to access waveform signal processing.

Operators

  • Math
  • Simulation
  • Signal Processing
  • Transforms
  • User Operators (run MATLAB or Python scripts)

Quick Starts

  • Opening an Eye
  • De-Embedding

To construct your function, simply drag operators and inputs to the construction area as explained later in this topic. To view the output waveform, drag a function color to your function's output. The following table shows the types of inputs that are available in the Input Pane.

Features of the Waveform Signal Processing Tool

Input Panel Icons
Icon | Description
 | Drag a channel icon to an operator's input. A gray icon color shows that the waveform is not displayed. Once placed, click on the icon to open the Channel Setup dialog box from which you can turn the display of the channel waveform on, adjust the channel's scale and offset, and change the waveform's color.
 | Drag a differential channel icon to an operator's input. A gray icon color shows that the waveform is not displayed. Once placed, click on the icon to open the Channel Setup dialog box from which you can turn the display of the channel waveform on, adjust the channel's scale and offset, and change the waveform's color.
 | Drag a memory icon to an operator's input. A gray icon color shows that the waveform is not displayed. Once placed, click on the memory icon to open the Memory dialog box from which you can define the memory and turn the display of its waveform on or off. The icon's color will match the color of the memory waveform.
 | Drag this constant icon to the inputs of Add and Subtract Math operators and to the Versus Transforms operator. Once placed, click on the icon to define the constant's value. Numeric constants have the same vertical scale as the associated waveform source. The constant icon is alway a gray color as you can not assign a waveform to it.

Each operator that you place is assigned an output funtion. By default this function is not displayed as shown by the icon's gray color. To display a function waveform, drag a Function Color icon to it. The following table describes the application of function colors to function outputs.

Examples of Function Color Icons
Icon | Description
 | Shows the color of the associated waveform. Assign a function color to an output waveform by dragging this icon from the function color panel.
 | A gray icon indicates a function whose waveform is not displayed. Click on the icon to open the Function Setup dialog box from which you can turn the display of its waveform on or off and assign waveform colors. Using this dialog box, you can also scale the waveform.
 | A function whose waveform is diplayed. The icon's color indicates the color of the displayed waveform. Click on the circle portion of the icon to open the Function Setup dialog box from which you can turn the display of its waveform on or off and assign waveform colors. Using this dialog box, you can also scale the waveform.

To create a function

SAVING YOUR FUNCTIONS

The currently displayed function is automatically saved as part of the FlexDCA's state. Even if you close the FlexDCA application, the next time you open waveform signal processing your function will be viewed. A Default Setup erases the current function definition. To save your function definition, click File > Save > Instrument Setup.

  1. Locate an operator from the Operator categories that are shown at the top of the application. You can use operators from different Operator categories in the same function setup.
  2. Drag one or more operators into the window's construction area. To remove a operator, drag it to the recycle bin icon or drag it back to the operators pane.

  3. Drag input icons from the input panel to the inputs on your function diagram. Default operator inputs are automatically placed but can be changed.
  4. Drag appropriate function color icons ( [image]) to the outputs on your functions. The icon color determines the color of the simulated waveform. In this example, the waveforms have the following colors. If you drag the ouput color icon to the recycle bin, the associated waveform is not displayed.
    • Channel 1A's waveform is yellow
    • Channel 2A's waveform is pink
    • Function 1's waveform is blue
    • Function 2's waveform is green

  5. If the operator has a note icon ( [image], [image]), click on the operator to open a dialog box which you can use to define the operator. The [image] icon indicates a suggestion on using the operator. The [image] icon indicates that important information is missing from the operator setup. Click on the operator to complete the configuration. Hover the cursor over the icon to see a short description of the note.
    6. Minimize the waveform signal processing tool, so that you can view the displayed waveforms. In this example, the waveform for Channel 1A is yellow, channel 2A is pink, function 1 is blue, and function 2 is green.

Note

An offset has been applied to the above example waveforms so that you can more clearly see the individual waveforms.

Notice in this example, that two channel inputs and two output simulated waveforms are displayed. Each waveform is identified by offset markers that are shown along the display's right side. You can turn off the display of the channels. To turn off the display of a function, in the waveform signal processing tool drag the appropriate output function color to the displayed recycle bin icon.

Source Rules

  • If the source waveforms have different record lengths, the function is performed over the shorter record length. The instrument finds the nearest point in the longer waveform record that corresponds to the current point in the shorter record. It then performs math functions on those points and skips non-corresponding points in the longer record.
  • If the two sources have the same time scale, the resulting function has the same time scale which results in the same time base scale for the function. If the sources cover two different time intervals, the function is performed on the portion of the sources that overlap. If the sources don't overlap, the function cannot be performed.
  • If the two sources have different horizontal scale settings (possibly when using a waveform memory as a source) the resulting function has the same horizontal scale as source 1.

Quick Access to Math Pallet

You can quickly access the Math palette by clicking on the Math button that is located in the bottom-right corner of the application. With this method, the window is semi-transparent which allows you to view the effects of the function immediately on the displayed waveforms.


Function Setup

Use the Function Setup dialog box to display a function's waveform and to apply vertical and horizontal scaling. This dialog box is displayed by clicking on the

Click the function's output waveform icon [image] in your signal processing function diagram to open the Function Setup dialog box.

Click the Display On/Off button to toggle the display of the function's waveform on and off. A gray button indicates that the waveform is not displayed. When displyed, the color of the Display On/Off button matches the color of the waveform.

Vertical and Horizontal Scale

Select Track or Manual for Vertical Scaling and Horizontal Scaling. With Track, the function's output waveform is appropriately scaled and offset based on the scale and offset of the input waveforms. Function scaling tracks any changes to the source scaling. With Manual, changes are no longer tracked and you can independently scale, offset, and position the function's output waveform. Some functions do not allow all of the scaling options shown in the above picture of the dialog box. The correct units are displayed for the function.

Note

If the application cannot resolve a particular combination of units, it will display U/div meaning unknown units per division.

Signal Type

Signals can be one of three signal types: Unspecified, NRZ format, or PAM4 format. The PAM4 selection is only available if options 9FP or 9TP PAM-N Analysis software license is installed. Select Track to have a function's output signal type track the function's input signal types. Unlike channel, common mode, and differential waveforms, a function's output signal type is not detected but instead tracks the input signal types. If an input signal type changes, the function's signal type tracks. Consider the examples of signal tracking in the following table. The Add function is shown simply to show a dual-input function. Track is the default setting.

Examples of Signal-Type Tracking
Example | Input Signal Types | Example Function | Output Signal Type
1 | Input 1: PAM4 Input 2: PAM4 |  | PAM4
2 | Input 1: PAM4 Input 2: NRZ |  | Unspecified
3 | Input 1: NRZ Input 2: constant |  | NRZ

When tracking is set to Manual, the function's output signal type no longer tracks the inputs. Instead, you specify the function's output signal type in the drop-down list.

The Signal Type settings are coupled to the identical settings that are in the PAM-N Analysis Setup dialog box. You can make these selections in either location.

Waveform Color

Click the Color button to display the waveform in one of 16 colors.

Custom Waveform User Names

Waveforms displayed in tiled, stacked, or zoom tiled views include a waveform label. You can change the waveform's labels to your own more meaningful user name by clicking the Name button or by clicking the the [image] icon that appears in the waveform label at the top of this dialog box.

  • To learn about custom labels


Math Palette

The Math button, located in the lower-right corner of the application, provides a very quick method of accessing the Waveform Signal Processing dialog box. This is the same tool that is available by clicking Measure > Waveform Signal Processing, except that the window is semi-transparent. As you build functions, the transparency allows you to view the effects of the function immediately on the displayed waveforms. This is shown in the following picture. Notice the two displayed waveforms beneath the function definition. The yellow waveform is the input from Channel 1A. The blue waveform is the function's output waveform.

Note

When an operator's output becomes questionable due to incorrect 86100D settings or operator settings, an [image] icon is placed on the Math button to alert you to this condition.

To switch to the standard opaque Waveform Signal Processing dialog box, click Switch to Dialog. Click Auto Layout to automatically position the elements of a function diagram for optimum display. Click All Off to delete an entire function diagram.


Opening an Eye Diagram

This example demonstrates how signal processing can be used to open an eye diagram. It uses a simulated Extended Module to create a simulated signal. You can use a real data signal if you prefer. The procedure uses a simulated 9.95328 Gb/s PRBS data signal.

Configuring a Simulated Signal with a Closed Eye

  1. Place the 86100D in the Standard configuration.
  2. Click Setup > Configure Extended Modules.
  3. Click the Simulation button and drag a simulation module down into one of the slots at the bottom of the dialog box.

  4. Click on the picture of the simulated module.
  5. In the picture, click on a channel input connector. This opens the Configure Simulated Source dialog box.

  6. In the dialog box, click on the data source field to define a 9.95328 Gb/s PRBS 7-1 (127 bits) signal. In the Filter field, select 4th order Butterworth. Enter a Cutoff Freq of 3 GHz, which is approximately one third of the data rate.
  7. Close the dialog boxes.

Turn on Eye/Mask Mode with Pattern Lock

  8. Click Auto Scale in the menu bar. Or, use the keyboard shortcut Ctrl-Alt A.
  9. Place FlexDCA in Eye/Mask Mode.
  10. Lock the trigger to the data stream's pattern by clicking the pattern lock icon which is located at FlexDCA's bottom button bar. The icon changes to show it is locked.

  11. The displayed signal should have a closed eye diagram. In the remaining steps, we'll use signal processing to open this severely closed eye.

Apply Signal Processing

  12. Click Measure > Waveform Signal Processing.
  13. In the Waveform Signal Processing tool's Operators Pane, click the Signal Processing button.
  14. Drag the Linear Equalizer operator onto the construction area.

  15. Drag a function color icon over the output of the Linear Equalizer operator as shown in this figure. If not already placed, drag the channel 1A icon to the input of the operator. In this example, the function color icon determines the color of the displayed output waveform, will be green.

  16. In the signal processing diagram, click on the Linear Equalizer operator to open the Equalizer Setup dialog box.
  17. Minimize the Waveform Signal Processing dialog box so that only the FlexDCA's main display and the Equalizer Setup dialog box are visible. This will allow you to view changes to the eye diagram as you change the linear equalizer's settings.

  18. In the Equalizer Setup dialog box, click on the expander arrow to show the advanced settings.
  19. In the dialog box, confirm that Automatic Taps is selected.
  20. Experiment changing the Number of Taps, Precursors, and Taps/Bit fields to see how they affect the eye diagram.
  21. The following settings produced the opened eye diagram shown in this figure. The input waveform is yellow and the output waveform is green.
    • Number of Taps: 6
    • Precursors: 1
    • Taps/Bit: 2
    • Auto (Tap Track Spacing): off
    • Bandwidth: 4 GHz


Math Operators

The following Math operators are available as part of signal processing. An operator's output is automatically assigned to an output function. The function's waveform is not displayed unless you drag a function color icon onto the function's output.

  • To learn how to build a function from operators

Click on these pictures!


Absolute Operator

For each input value, the Absolute math operator obtains the absolute values, point by point, of the source and places the result in the function waveform. The source waveform is vertically scaled to keep the displayed waveform visible. This results in different vertical scales for the source and output waveforms.

Note

The Absolute operator is not available in TDR/TDT mode.


Add Operator

The Add math operator adds two sources, point by point, and places the result in the function waveform.

You can apply a constant to the Add operator.


Align Operator

The Align math operator lines up two single-values waveforms or eye diagrams. Time delay is applied to the top operand to move it reference to the bottom operand. To align the two waveforms, click on the operator icon which opens the dialog box shown in this figure. If the Automatic Align does not meet your needs, clear the check box and manually enter the time delay.

Note

The Align operator is not available in Jitter or TDR/TDT modes.

Input Waveforms Before Align

Waveforms After Align


Amplify Operator

The Amplify math operator amplifies the input values, point by point, of the source and places the result in the function waveform. The source waveform is vertically scaled to keep the displayed waveform's size unchanged on the screen. This results in different vertical scales for the source and output waveforms.


Average Operator

The Average math operator stores (in the function) the average waveform value acquired in each time bucket in the source. To set the number of time buckets included in the running average, click on the operator icon. This opens the Average Setup dialog box. The default number of averages is 16.

Note

The Align operator is not available in Jitter or TDR/TDT modes.

The average value results are recalculated when any of the following occurs:

  • Time base scale, position, or reference is changed
  • Channel scale or channel offset is changed
  • Trigger definition is changed
  • Record length is changed
  • Additional data is stored to a waveform memory that is used as part of a function
  • Clear on the menu bar is clicked


Common Mode Operator

The Common Mode math operator adds two sources, point by point, divides the sum by two, and places the result in the function waveform.

Note

The Common Mode operator is not available in Jitter mode.


Delay Operator

The Delay math operator applies a time delay to single-valued waveforms and eye diagrams. To adjust the amount of delay, click on the operator icon which opens the dialog box shown in this figure.

Note

The Delay operator is not available in Jitter or TDR/TDT modes.


Invert Operator

The Invert math operator inverts the voltage values, point by point, of the source and places the result in the function waveform. You can use Invert to compare the input and output of an inverting amplifier. The source waveform is inverted around the center of the display graticule and has the same vertical scale as the source waveform. The function mirrors any vertical scale or offset changes you make to the source waveform.


Maximum Operator

The Maximum math operator stores (in the function) the maximum waveform value acquired in each time bucket in the source.

Note

The Maximum operator is designed for a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The Align operator is not available in Jitter or TDR/TDT modes.

The maximum value results are recalculated when any of the following occurs:

  • Time base scale, position, or reference is changed
  • Channel, scale, or offset is changed
  • Trigger definition is changed
  • Record length is changed
  • Additional data is stored to a waveform memory that is used as part of a function
  • Clear on the menu bar is clicked


Median Operator

The Median math operator stores (in the function) the median waveform value acquired for each time bucket in the source. You can specify the number of past time bucket values used to determine the running median value. Click on the operator icon to open the Median Setup dialog box. The default number of past time bucket values to include in the median is 16.

Note

The Median operator is designed for a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The Align operator is not available in Jitter or TDR/TDT modes.

The median value results are recalculated when any of the following occurs:

  • Time base scale, position, or reference is changed
  • Channel scale or channel offset is changed
  • Trigger definition is changed
  • Record length is changed
  • Additional data is stored to a waveform memory that is used as part of a function
  • Clear on the menu bar is clicked


Minimum Operator

The Minimum math operator stores (in the selected function) the minimum waveform value acquired in each time bucket in the source.

Note

The Minimum operator is designed for a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The Align operator is not available in Jitter or TDR/TDT modes.

The minimum value results are recalculated when any of the following occurs:

  • Time base scale, position, or reference is changed
  • Channel scale or channel offset is changed
  • Trigger definition is changed
  • Record length is changed
  • Additional data is stored to a waveform memory that is used as part of a function
  • Clear on the menu bar is clicked


Multiply Operator

The Multiply math operator multiplies source 1 by source 2, point by point, and places the result in the selected function waveform. The output units are V2 (or W2) and not V (or W).


Square Operator

The Square math operator squares the input values, point by point, of the source and places the result in the function waveform. For example, a 10 mV input voltage point results in a 100 µV2 output point. Notice that the output units are V2 (or W2) and not V (or W). The scale of the output waveform does not track the input waveform. Use an Auto Scale to properly scale the output waveform.

Note

The Square operator is not available in TDR/TDT mode.


Square Root Operator

For each input value, point by point, this math operator takes the square root of the source and places the result in the function waveform. For example, a 10 mV input voltage point results in a 100 mV½ output point. The output units are not V or W. Instead, they are V½ or W½, which are identified on screen as V½ or W½. The scale of the output waveform does not track the input waveform.

Note

The Square Root operator is not available in TDR/TDT mode.


Subtract Operator

The Subtract math operator subtracts one source from another source, point by point, and places the result in the selected function waveform. You can use Subtract to make a differential measurement or to compare two waveforms. In Jitter mode, the Subtract operator requires an input channel as a operand.

You can apply a constant to the Subtract operator.


Signal Processing Operators

The following operators are available for use. An operator's output is automatically assigned to an output function. The function's waveform is not displayed unless you drag a function color icon onto the function's output. After placing the 4th Order Bessel, Butterworth, or Gaussian operators, click on them to setup their cutoff frequency or other settings, if available. You also setup the Interpolation and Linear Equalizer operators by clicking on them.

The one-input and two-input User operators allow you to create custom operators using Matlab or Python scripts.

  • To learn how to build a function from operators

Click on these pictures!


Bessel Operator

The 4th Order Bessel operator is a linear low-pass filter that you can apply to a waveform. Bessel filters are known for flat group delay. To enter the Filter Cutoff Frequency, double click on the operator.

Note

The 4th Order Bessel operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

Jitter measurements can be made on the Bessel filter's output waveform.


Butterworth Operator

The Butterworth operator applies a low-pass filter to the waveform. Butterworth filters have a very flat passband response with little ripple when compared to other filter designs. To enter the Filter Order and Filter Cutoff Frequency, double click on the operator.

Note

The Butterworth operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

Jitter measurements can be made on the Butterworth operator's output waveform.


Continuous Time Linear Equalizer Operator

The Continuous Time Linear Equalizer operator is a first-order transfer function defined by DC gain, zero frequency, and two poles. To adjust these values, click on the operator icon which opens the dialog box shown in the following figure. If you have a device-under-test that closes an eye diagram, you can use this operator to model a circuit that opens the eye diagram.

The CTLE operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Presets

Default User Folder

The default user data folder for presets files is \Presets\CTLE.

Presets allow you to save your dialog box settings to a setup file. Recall a preset to instantly configure your Continuous Time Linear Equalizer to your specification. You can save as many presets as you need. The Preset list shows all of the factory provided presets as well as any that you have created. If you scroll to the end of the list and click the <Edit List> entry, the Edit CTLE Presets List dialog box opens which allows you to reorder, delete, or rename items in the list. In the list, the names of factory provided presets includes the text (factory) which indicates that the entry cannot be edited. The following factory presets are include in the list:

  • OIF CEI-28G-VSR (1db)
  • OIF CEI-28G-VSR (2db)
  • OIF CEI-28G-VSR (3db)
  • OIF CEI-28G-VSR (4db)
  • OIF CEI-28G-VSR (5db)
  • OIF CEI-28G-VSR (6db)
  • OIF CEI-28G-VSR (7db)
  • OIF CEI-28G-VSR (8db)
  • OIF CEI-28G-VSR (9db)
  • To save your settings, click the [image] button.
  • To recall your settings at a later date, click Load.

Note

The Continuous Time Linear Equalizer operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

Jitter measurements can be made on the output waveform.


Decision Feedback Equalizer Operator

The Decision Feedback Equalizer (DFE) is a form of non-linear equalization which relies on decisions about the levels of previous bits (high/low) to correct the current bit. This allows the DFE to account for distortion in the current bit that is caused by the previous bits. Its main advantage over linear equalizers is the ability to cancel inter-symbol interference (ISI) without amplifying the noise. The DFE operator allows you to validate hardware DFE designs and observe their effects on eye opening.

The DFE's taps are applied to normalized 1/−1 voltages based on a bit slicer decision. The tap values are meant to correct for the portion of their bit that lingers and distorts the current bit.

The Decision Feedback Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Note

The Decision Feedback Equalizer operator is not available in TDR/TDT mode.

Note

The Decision Feedback Equalizer operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

DFE and Jitter Mode

You can view the effects of the DFE in Eye mode or Jitter mode. Eye mode is meant to be more qualitative while Jitter mode has accurate quantitative amplitude measurements, including BER bathtub estimation. In Jitter Mode, amplitude graphs and amplitude scalar measurements (with the exception of BER measurements) can be made on the DFE operator's output waveform. However, jitter graphs and jitter scaler measurements are not compatible with the DFE operator. This is because the threshold transitions are placed at the bit edges and such discontinuities make the jitter measurements invalid.

About Hardware DFEs

The DFE calculates a correction value that is added to the logical decision threshold. The logical decision threshold is the threshold above which the waveform is considered a logical high and below which the waveform is considered a logical low. As a result, the DFE shifts the threshold up or down so new logical decisions can be made on the waveform based on this new equalized threshold level.

Block Diagram of Hardware DFE

About The DFE Operator

To display the DFE's effect on an eye diagram, the DFE operator subtracts the correction factor from the input waveform and keeps the slicer threshold constant. The slicer results are equivalent to those of the hardware DFE.

Block Diagram of DFE Operator

The DFE block diagram has the components:

Slicer
The slicer takes a clock delay, an offset voltage (Vo), and the input signal as its inputs. It places its decision point at the center of the bit, and is then offset from there by the clock delay. Finally, it outputs ±1 based on whether the input voltage at the decision point is above or below the offset voltage.
Vo
This is the offset voltage of the input signal before it is corrected.
Va
This is the amplitude of the input signal.
Gaussian Filter
The Gaussian filter cutoff frequency defaults to the bit rate but can be manually set up to 1 THz.

Designing Your DFE

Before constructing your DFE, drag an output function color to your filter so that you can simultaineously view the input and output waveforms as you develop your equalizer.

Click on the operator to open the Setup dialog box. Normally, Automatic Taps is selected, and the tap values are automatically generated and viewed in the dimmed Tap Values field. You can specify from 1 to 16 taps. Click Recalculate anytime to regenerate the automatic taps based on the current input waveform. To manually enter the tap values, clear Automatic Taps and enter your tap values in the Tap Values field. Separate each value using a comma, space, or semicolon. To determine the necessary number of taps, refer to the last section of this topic.

Presets

Default User Folder

The default user data folder for presets files is \Presets\DFE.

Presets allow you to save your dialog box settings to a setup file including any advanced settings. Recall a preset to instantly configure your Decision Feedback Equalizer to your specification. You can save as many presets as you need. If you scroll to the end of the list and click the <Edit List> entry, the Edit DFE Presets List dialog box opens which allows you to reorder, delete, or rename items in the list.

  • To save your settings, click the [image] button.
  • To recall your settings at a later date, click Load.

Advanced Settings

When you expand the dialog box to show the Advanced settings, you can specify the Tap Limits, Clock Delay, and Threshold Bandwidth. Select Tap Limits to define upper and lower bounds on all the taps values. Select Clock Delay to delay the decision point used by the slicer. The decision point is placed directly between the edges, so the edges are delayed by the same amount. The Clock Delay can be set from −0.5 to +0.5 bit periods. Enter the Threshold Bandwidth to set the cutoff frequency of the Gaussian filter. Auto sets the the cutoff frequency equal to the bit rate. You can also select to Display Thresholds Instead of Signal. This allows you to view the way a hardware DFE works by varying the slicer threshold. The waveform viewed is labeled "Operator Threshold Waveform" in the Block Diagram of Hardware DFE in this topic.

DFE Input Waveform

DFE Output Waveform

Waveform Shown in Oscilloscope Mode
with "Display Thresholds Instead of Signal" Selected

Tap Conversions From Other Systems

DFE taps from Keysight real-time scopes can be used directly. Taps from Advanced Design System (ADS) must be scaled by −1/Va (where Va is the input signal amplitude).


Difference Operator

The Difference operator processes each point in the input waveform such that the output is equal to x(n) − x(n−1).

Note

The Difference operator is designed for a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The Difference operator is not available in Jitter mode.


Linear Equalizer Operator

The Linear Feedforward Equalizer operator allows you to design and apply a finite digital impulse response (non-recursive) filter. You can adjust equalizer settings such as the number of taps, tap gains, tap delay, and bandwidth. With the Linear Feedforward Equalizer, you can model equalizer designs on an actual signal before designing any hardware.

In the figure, the input channel is identified by the green waveform, and the red waveform is the output function from the equalizer.

The Linear Feedforward Equalizer operator is provided with the 86100D-201/N1010A-201 Advanced Waveform Analysis license.

Note

The Linear Feedforward Equalizer operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

Jitter measurements can be made on the Linear Feedforward Equalizer's output waveform.

Configuring the Operator

Before you configure your filter, in the diagram drag an output function color to your filter. This will allow you to simultaineously view the input and output waveforms as you develop your filter.

Click on the operator to open the Equalizer Setup dialog box. Normally, Automatic Taps is selected, and you can enter the Number of Taps and Precursors that you want. Tap values are automatically generated. Enter your filter tap values in the Tap Values: entry field. Separate each value using a comma, space, or semicolon. Increasing the number of taps in your model increases the fidelity of the filter's frequency response as compared to an ideal response. Select Automatic Taps to automatically enter the optimum tap values to open an eye diagram. This feature requires that you use PRBS pattern that has a length that is listed in the following table. Inverted PRBS patterns are also supported. The table also lists the generating polynomials. Click Normalize Gain to automatically adjust the tap values for a maximum equalizer gain of 0 dB (unity). The relative contributions of the tap values are maintained.

PRBS Patterns for Optimum Tap Values
PRBS | Polynomial | PRBS | Polynomial
25–1 | x5+x4+x2+x1+1 | 211–1 | x11+x9+1
26–1 | x6+x5+x3+x2+1 | 212–1 | x12+x9+x8+x5+1
27–1 | x7+x6+1 | 213–1 | x13+x12+x10+x9+1
28–1 | x8+x7+x3+x2+1 | 214–1 | x14+x13+x10+x9+1
29–1 | x9+x5+1 | 215–1 | x15+x14+1
210–1 | x10+x7+1 |  |

Presets

Default User Folder

The default user data folder for presets files is \Presets\FFE.

Presets allow you to save your dialog box settings to a setup file. Recall a preset to instantly configure your Linear Feedforward Equalizer to your specification. You can save as many presets as you need. If you scroll to the end of the list and click the <Edit List> entry, the Edit LFFE Presets List dialog box opens which allows you to reorder, delete, or rename items in the list.

  • To save your settings, click the [image] button.
  • To recall your settings at a later date, click Load.

Advanced Settings

When you expand the dialog box to show the Advanced settings, you can specify the Tap Spacing in Taps/Bit. If the Automatic Taps setting is cleared, you can also specify Tap Spacing in Seconds. You can also enter the filter's Bandwidth. Select Auto to have the bandwidth track the bandwidth of the receiver module.

The following figure shows the signal path from the selected input waveform, through the digital equalizer filter, and into the displayed output waveform. If you specify that the tap delay tracks the bit rate, sampling point values in the input array are used directly as equalizer inputs. If a custom tap delay is selected, equalizer input values may be interpolated.

Because the digital equalizer does not use an infinite number of taps, a "window" filter function (fourth-order Bessel function) is applied to the equalizer coefficients to increase the model's fidelity as compared to the roll-off of an ideal filter.


Gaussian Operator

The Gaussian operator applies a Gaussian bandpass filter to the waveform. The Gaussian filter has relatively fast rise and fall times to an impulse. To enter the Filter Cutoff Frequency, click on the operator. You can also specify the Rise Time for the filter. The faster the rise time, the higher the filter's Q factor.

Note

Jitter measurements can be made on the Gaussian filter's output waveform.

Note

The Gaussian operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.


Interpolation Operator

The Interpolation operator adds new points between each of the input waveform's points and can be used to reconstruct a band-limited signal. This operator is designed for use on single-valued waveforms and not eye diagrams.

Note

The Interpolation operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The Interpolation operator is not available in Jitter mode.

You can select a linear or sin(x)/x Interpolation Method. The sin(x)/x method is the default and is preferred when reconstructing a signal (having evenly spaced samples) that has been bandlimited. The new points are evenly spaced between the original points. The number of points in the output waveform is determined by the Interpolation Factor, which can be set to values of 2, 4, 8, 16, 32, or 64. The relationship between the number of input and output waveform points is shown in the following equation:

  • output waveform points = AX − A + 1

where, X is the number of input waveform points and A is the interpolation factor.

As an example, specifying an interpolation factor of 8 for a 100 sample-point waveform results in a 793 point output waveform:

  • output waveform points = 8(100) − 8 + 1 = 793

The following figure shows an output waveform constructed using an interpolation factor of 8. The input waveform (1A) is shown with 13 sampled green points. The red points show the output waveform (F1).


Sin(x)/x Operator

Sin(x)/x

The Sin(x)/x, or sinc(x), operator can be used to filter an input waveform. The default filter cutoff frequency is 7.5 GHz. Since some real-time oscilloscopes use a sinc(x) brick filter, you can use this filter to observe how the signal would appear on such an oscilloscope. Due to an increase in ringing, this filter tends to increase an eye diagram's height.

Note

The Sin(x) / x operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

Jitter measurements can be made on the Sin(x) / x operator's output waveform.


Summation Operator

The Summation operator's output is the cumulative sum of the current and all previous (in time) input values. If the input data sequence is denoted as x[n], the output sequence is denoted y[i], and n is an integer that goes from 0 to N (N being the number of total points in the record), then:

An example if x[n] = {3, 2, 14, 5, 23, 10, 5}, then y[n] = {3, 5, 19, 24, 47, 57, 62}

Note

The Summation operator is designed for a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The Summation operator is not available in Jitter mode.


TDR Peeling Operator

The TDR peeling is a signal processing math function that removes unwanted effects from multiple reflections during TDR measurements. TDR peeling cannot be used on TDT responses, because the lack of reflections invalidates the algorithm. So, you could use it on an T11 or S11 response but not on a T21 or S21 response.

When a device has two or more impedance discontinuities, reflections from the second discontinuity reflect off the first discontinuity. This complex interaction of secondary reflections from the stimulus pulse compromises the measured impedance profile and decreases measurement performance. TDR peeling compensates for the complicated interaction between discontinuities. TDR peeling analyzes reflected signals at the source and deconvolves the time domain reflections to create an impedance profile of the device being tested.

You can apply TDR peeling to calibrated, TDR responses by applying the TDR peeling math function to the underlying individual responses. For differential and common stimulus, apply the TDR peeling to the differential or common-mode response trace.

What are the limitations of peeling?

  • TDR peeling requires a trace record length of 1024 points or less. Use the Acquisition controls to change the trace length.
  • TDR peeling does not account for frequency response losses (for example, PC board transmission lines are lossy devices). The sum of the waves that are incident on a node are assumed to be equivalent to those exiting the node.
  • TDR peeling assumes a lossless transmission line (resistance of 0). Any actual resistance (which causes loss, even at DC) degrades the accuracy of peeling.
  • Instrument performance is reduced, because the peeling algorithm requires a factorial number of calculations (forward and reverse reflections grow overtime). It is not recommended to peel multiple traces simultaneously.
  • The initial impedance mismatch is the most accurate; as distance increases from initial impedance mismatch down the transmission line, the impedance accuracy decreases.

Note

If a problem occurs while using the TDR peeling math function, the waveform may no longer be visible on the display. Causes of this effect include noisy traces as well as opens and shorts in the test setup.

The TDR Peeling operator is provided with the 86100D-202/N1010A-202 Enhanced Impedance and S-Parameter Software license.

Note

The TDR Peeling operator is only available in TDR/TDT mode.

Note

The TDR Peeling operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.


Simulation Operators

Simulation operators transform measured waveforms to compensate for the effects of various test-setup devices. For example, you can remove a cable's insertion loss from the measured waveform thus simulating a measurement at the input to the device under test.

Figure. De-embedding a Cable with Simulated Measurement Point

  • To learn how to build a function from operators

InfiniiSim Transform Operators (Option N1010A-SIM)

Option N1010A-SIM. InfiniiSim Transform operators are provided with FlexDCA option N1010A-SIM InfiniiSim DCA Waveform Transformation Toolset. You must purchase and install this option before these functions can be used.

Click on these pictures!

Standard Simulation Operators

Click on this picture!

Note

These are filtering operators that requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.


Random Operator

Use the Random operator to add random jitter or noise to the simulated waveform.

Note

The Random operator is not available in Jitter or TDR/TDT modes.

To Configure the Operator

  1. Drag the operator into the construction area.
  2. Click on the operator to open the Add Jitter/Noise Setup dialog box.
  3. Enter the amount of jitter or noise to be added to the simulated waveform.

  4. Close the dialog box.


Apply S2P Operator

Default User Folder

The default user data folder for S-parameter files is \S-Parameter Data.

Use the Apply s2p operator to define a basic one-block model for a two-port device. Use this operator when you want to compensate for the loss of a channel element such as a cable or fixture. It can also be configured as a remove or replace operation. Normally, you would import 2-port S-Parameter files into this operator (filename extension of .s2p). The Convolution Setup dialog box has one option to compensate for reversed port numbering in the file. If S-parameter file's data is not defined with the ports located as shown in the following diagram, select the Flip S-parameters field. This ensures that the S-parameter order is properly interpreted.

Option N1010A-SIM. This InfiniiSim Transform operator is provided with FlexDCA option N1010A-SIM InfiniiSim DCA Waveform Transformation Toolset. You must purchase and install this option before these functions can be used.

Note

The Apply S2P operator is not available in TDR/TDT modes.

The Convolution Setup dialog box for 2-port S-Parameter files is shown in the following figure.

Extracting 2-Port Data from a 4-Port S-Parameter File

It is possible to import data from a 4-port S-parameter file (.s4p). After you open a 4-port S-parameter file, two additional dialog box fields appear that configure how 2-port information is extracted from the file. These fields are 4 Port Numbering and 2 Port Extraction and they are shown in this figure. In the following table, locate the illustration in the first column that matches how the ports are numbered in your device and the corresponding S-Parameter file. The columns in the row show the settings required to properly extract and interpret the required 2-port information.

Dialog-Box Settings for Extracting 2-Port Information from 4-Port S-Parameters Files
Port Configuration in s4p File | 4 Port Numbering Options | 2 Port Extraction Options | Flip S-Parameters
 |  | Differential Common Mode Ports 1⇔2 Ports 3⇔4 |
 |  | Differential Common Mode Ports 1⇔3 Ports 2⇔4 |
 |  | Differential Common Mode Ports 1⇔2 Ports 3⇔4 |
 |  | Differential Common Mode Ports 1⇔3 Ports 2⇔4 |

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Apply S2P operator's output waveform.

To Configure the Operator

  1. Drag the operator into the construction area.
  2. Click on the operator to open the Convolution Setup dialog box. The dialog box's message prompts you to open a 2-port t S-parameter file for your device. You can also open a 4-port device, although the required dialog-box options are more entailed.
  3. Click Browse to select the S-parameter file for your device.
  4. Set the options as described at the beginning of this topic.
  5. Close the dialog box.


Apply S4P Operator

Default User Folder

The default user data folder for S-parameter files is \S-Parameter Data.

Use the Apply S4P operator to define a basic one-block model for a four-port device. Use this operator when you want to compensate for the loss of a channel element such as a cable or fixture. It can also be configured as a remove or replace operation.

Option N1010A-SIM. This InfiniiSim Transform operator is provided with FlexDCA option N1010A-SIM InfiniiSim DCA Waveform Transformation Toolset. You must purchase and install this option before these functions can be used.

Note

The Apply S4P operator is not available in TDR/TDT mode.

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Apply S4P operator's output waveform.

To Configure the Operator

  1. Drag the operator into the construction area.
  2. Click on the operator to open the Convolution Setup dialog box. The dialog box's message prompts you to open a four-port S-parameter file for your device.

  3. Click Browse to locate the S-parameter file for your device.
  4. Select the devices Operator Output configuration.
  5. If the S-parameter file's data is not defined with the ports orientated as shown in the following diagram, make the option selections as shown in the following table. This will ensure that the S-parameter data is properly interpreted.

    6. Option Settings for 4-Port S-Parameters Files
Port Configuration in File | Flip Model Setting | 4 Port Numbering Setting
  6. Close the dialog box.


Correction Transfer Functions

InfiniiSim generates correction transfer functions from two user-defined circuits. A correction transfer function represents the ratio (in the frequency domain) between voltage waveforms defined by the measurement circuit and the simulation circuit. For any given application, the correction transfer function can be calculated from circuit models you create or load directly from a transfer function file.

When you create the transfer function via circuit models, you first create the measurement and simulation circuits in the application. The response of the two circuits due to a stimulus from the same voltage source is calculated at their specified observation nodes. The transfer function is then calculated from the ratio (in the frequency domain) of the simulation node's response divided by the measurement node's response. This ratio can then be convolved (in the time domain) with the measured waveform in order to convert it into the desired simulated waveform.

In 4-port mode, there are actually two sources and observation nodes in each circuit. In this case, the ratio of node voltages becomes a matrix division operation generating a set of four frequency domain functions that are convolved with the two measured waveforms to produce the desired simulated waveforms.

InfiniiSim can be used on differential signals as well as single-ended signals. In single-ended applications, the measurement and simulation circuits are constructed from 2-port network model blocks and the analysis is performed on each oscilloscope channel independently. In differential applications, you must decide whether to use 2-port analysis or 4-port analysis. 2-port analysis can be used on differential signals or common-mode signals independently, but it does not include cross-coupling components between the differential and common mode signals. You would use 2-port analysis on a differential signal if that signal is being converted to a single oscilloscope channel input by a differential probe.

Transfer Function Files

Transfer Function vs. S-Parameter Files

Correction transfer function files and S-parameter files are different. Transfer function files represent the relationship between measured and simulated voltage waveforms. S-parameter files represent complete electrical models of physical elements and can be used to define specific model blocks within the circuit models.

Transfer function files describe the relationship between two sets of time varying node voltages as a tabular list of complex transfer function values at specific frequencies. Formatted as ASCII text, transfer function files are easily viewed or edited using any text-based editor. InfiniiSim supports a single proprietary transfer function file format called ATF (version A.01.00) derived from the Touchstone 1.1 format. ATF files are identified by the file extensions .tf2 or .tf4.

All transfer function files must include values at DC (0 Hz).

InfiniiSim requires transfer function values that are uniformly spaced in frequency with a spacing or resolution that is small enough to accurately represent the slowest time constants and time delays exhibited by the modeled device. However, this does not mean that all transfer function files must contain uniformly spaced frequency data. Uniformly spaced file data is usually preferred, but not required if you are knowledgeable about how InfiniiSim interprets file data.

In the absence of the special InfiniiSim keyword DEFAULT_FREQUENCY_RESOLUTION, InfiniiSim checks the data to ensure that it is uniformly sampled in frequency (with exception to the interval between DC and the next highest frequency point) and generates a warning if the data is not uniformly sampled. If the DEFAULT_FREQUENCY_RESOLUTION keyword is accompanied by a numeric value, the data is resampled using linear interpolation and the frequency resolution specified by that value. InfiniiSim resamples the file data using a frequency resolution equal to the frequency interval between the last two frequency points in the file.

InfiniiSim expects transfer function files to list their values in monotonically increasing frequency order and ignores those values at which frequencies are less than or equal to the frequencies of previously listed values. InfiniiSim also truncates all file data to a maximum of 100,000 frequency points.

Keywords

The following are the currently supported optional keywords you can place in your transfer function files. InfiniiSim scans transfer function files for special keywords which communicate to InfiniiSim how the data within the file was generated or how it should be interpreted. InfiniiSim keywords are case-insensitive and permit additional comments on the same line.

! #DSO ATF_FILE_VERSION <string>

The value of <string> represents the format version of the ATF file.

! #DSO DEFAULT_FREQUENCY_RESOLUTION <value>

The argument <value> may be a numeric value in Hz or the text strings AUTO or AUTOMATIC. In the absence of this keyword, InfiniiSim checks the data to ensure that it is uniformly sampled in frequency (with exception to the interval between DC and the next highest frequency point) and generates a warning if the data is not uniformly sampled. If <value> is a numeric value, the data is resampled using linear interpolation and the frequency resolution specified by <value> . Otherwise, InfiniiSim resamples the file data using a frequency resolution equal to the frequency interval between the last two frequency points in the file. If <value> is equal to either of the text strings (AUTO or AUTOMATIC), InfiniiSim does not report a warning about non-uniformly sampled data.

! #DSO TRANSFER_FUNCTION_DEFINITION_STRING <string>

InfiniiSim uses this keyword to include a complete description of the circuit models from which it calculates the transfer function file. When loading transfer function file data, InfiniiSim checks for this keyword and, if present, uses this information to re-populate the circuit model descriptions.


Removing a Cable's Insertion Loss (2-port DUT)

Studying this example provides the easiest way to learn how to use the DeEmbedding operator. After learning about this simple case, you should be able to progress to more advanced models. These steps show how to remove the insertion loss of a cable. If we cannot connect the 86100D directly to the DUT (Device-Under-Test), we must connect a cable between the 86100D and the DUT. We actually end up measuring what the signal looks like at the connection of the cable to the 86100D after the signal has passed through the cable. Removing the cable's insertion loss simulates the measurement at the DUT. Let us assume we measured the cable's S-parameters using an 86100D with a 54754A TDR/TDT module and that they are saved to a file (.s2p). The S-parameters are saved to a file.

  1. Drag the DeEmbedding operator into the construction area. If the symbol for the input channel is not located on the operator's input, drag the channel symbol from the Inputs panel to the operator's input.

  2. Click on the operator to open the DeEmbedding Setup dialog box.

    3. Note

    "Please select a file" message. This note (at the top of the dialog box) alerts you that you have previously defined your setup in a transfer function file (*.tf2), you can click Select a Network to open your file. In this example, the remaining steps will create the transfer function file.

  3. Click Create a New Network and the De-Embedding Network Setup dialog box opens as shown in the following figure. In this dialog box, the values highlighted in blue define the measurement circuit and node while the values in bronze define the simulation circuit and node. Notice the Transmitter, Channel, and Scope blocks in this interactive diagram. Later in this procedure you will click on these components to configure them.

    4. Note

    Please select a file message. This note alerts you that the Channel block is currently defined by a file. This will be addressed later in this procedure.

    Note

    Refer to Transform Function Messages if a warning message is displayed while creating a new network.

    Network Blocks

    In the preset configuration network diagram, the various blocks model components such as cable loss, probe loading, or a fixture. The default name (for example, the Channel A block shown here) indicate a typical use depending upon the chosen preset. This is a convenience for referring to blocks and an example of how the block may be used. However, you can define them any way you like. While these blocks represent different parts of the circuit, they have the exact same definition selection to choose from. Their names simply help you understand what they might represent in your circuit.

  4. From the Preset Configuration drop-down list, select Remove insertion loss of a fixture or cable from the following choices:
    • Remove insertion loss of a fixture or cable
    • Add insertion loss of a fixture or cable
    • Remove scope input relection
    • Remove all effects of a fixture or cable
    • Add all effects of a fixture or cable
    • Replace one channel element with another
    • Relocate the observation node of a measurement
    • Remove all effects of a probe
    • Remove loading effects of a probe
    • Relocate the observation node of a probed measurement
    • General purpose probe
    • General purpose 6- and 9- block topologies with user defined measurement and simulation points.

    Note

    With the General purpose 6- and 9- block topologies, each block can be defined as having a combination of up to three elements in cascade, series, or parallel arrangements giving you 27 total possible circuit elements to define for the most sophisticated scenarios. For SMA differential probe usage, the general purpose 6- block model will find use in the majority of cases. For those very sophisticated applications (for example, using both high impedance probes and differential SMA probe heads) the general purpose model can be used to describe these complex cases.

  5. Click the Transmitter block to open the Transmitter Impedance Setup dialog box. Enter the impedance values for both Measurement and Simulation circuits and close the dialog box. The default value is 50 ohms.

  6. Click the Scope block to open the Receiver Impedance Setup dialog box. Enter the impedance values for both Measurement and Simulation circuits and close the dialog box. The default value is 50 ohms.
  7. Click the Channel block to open the Channel Setup dialog box. From the drop-down list, select the Circuit Block Type. For this example, in the Simulation Circuit tab confirm that Thru is selected.

    8. Note

    For the simulation we want to perform, the block needs to be defined as a Thru, meaning that the block acts as though it is not there. Remember in the measurement circuit that we had the signal exiting the DUT, passing through the cable, and entering the oscilloscope. We could only measure it at the front end of the oscilloscope. We actually wished we could have measured the signal before it entered the cable so we could remove any loss induced by the cable.

  8. In the Measurement Circuit tab, select File. Click Browse and import the S-parameter file for the cable.

    9. Note

    Since the S-parameters represent a cable, S21 = S12, selecting Flip Model will have no effect.

  9. Close the the Channel Setup dialog box.
  10. In the De-Embedding Network Setup dialog box, click Save As to save the network setup as a transfer function file (*.tf2).
  11. Close the dialog box.

    12. Note

    When creating detailed setups, click Save As when you begin creating your setup and click Save often as you progress. This will protect you from accidental data loss in case of a problem.

    Note

    You must save your setup to a file before it can be used.

  12. The application automatically sets the bandwidth limit. You can manually set the bandwidth limiting to minimize effects caused by noise that occurs above the frequency where the signal is mostly attenuated.
  13. Measurements are now simulated at the input to the DUT.


Removing a Cable's Insertion Loss (4-port DUT)

Studying this example provides the easiest way to learn how to use the DeEmbedding operator. After learning about this simple case, you should be able to progress to more advanced models. These steps show how to remove the insertion loss of a cable. If we cannot connect the 86100D directly to the two-port DUT (Device-Under-Test), we must connect two cables between the 86100D and the DUT. We actually end up measuring what the signal looks like after the signal has passed through the cables. Removing the insertion loss of both cables simulates the measurement at the DUT. Let us assume we measured each cable's S-parameters using an 86100D with a 54754A TDR/TDT module, and the S-parameters are saved to two files (.s2p).

  1. Drag the DeEmbedding operator into the construction area. If the symbols for the input channels are not located on the operator's inputs, drag the channel symbols from the Inputs panel to the operator's inputs.

  2. Click on the operator to open the DeEmbedding Setup dialog box.

    3. Note

    "Please select a file" message. This note (at the top of the dialog box) alerts you that you have previously defined your setup in a transfer function file (*.tf2), you can click Select a Network to open your file. In this example, the remaining steps will create the transfer function file.

  3. Select the Operator Output as Single Ended (+).
  4. Click Create a New Network and the DeEmbedding Network Setup dialog box opens as shown in the following figure. In this dialog box, the values highlighted in blue define the measurement circuit and node while the values in bronze define the simulation circuit and node. Notice the Transmitter, Channel, and Scope blocks in this interactive diagram. Later in this procedure you will click on these components to configure them.

    5. Note

    Please select a file message. This note alerts you that the Channel block is currently defined by a file. This will be addressed later in this procedure.

    Note

    Refer to Transform Function Messages if a warning message is displayed while creating a new network.

    Network Blocks

    In the preset configuration network diagram, the various blocks model components such as cable loss, probe loading, or a fixture. The default name (for example, the Channel A block shown here), indicate a typical use depending upon the chosen preset. This is a convenience for referring to blocks and an example of how the block may be used. However, you can define them any way you like. While these blocks represent different parts of the circuit, they have the exact same definition selection to choose from. Their names simply help you understand what they might represent in your circuit.

  5. From the Preset Configuration drop-down list, select Remove insertion loss of a fixture or cable from the following choices:
    • Remove insertion loss of a fixture or cable
    • Add insertion loss of a fixture or cable
    • Remove scope input relection
    • Remove all effects of a fixture or cable
    • Add all effects of a fixture or cable
    • Replace one channel element with another
    • Relocate the observation node of a measurement
    • Remove all effects of a probe
    • Remove loading effects of a probe
    • Relocate the observation node of a probed measurement
    • General purpose probe
    • General purpose 6- and 9- block topologies with user defined measurement and simulation points.

    Note

    With the General purpose 6- and 9- block topologies, each block can be defined as having a combination of up to three elements in cascade, series, or parallel arrangements giving you 27 total possible circuit elements to define for the most sophisticated scenarios. For SMA differential probe usage, the general purpose 6- block model will find use in the majority of cases. For those very sophisticated applications (for example, using both high impedance probes and differential SMA probe heads) the general purpose model can be used to describe these complex cases.

  6. Click the Transmitter block to open the Transmitter Impedance Setup dialog box. Enter the impedance values for both Measurement and Simulation circuits and close the dialog box. The default value is 50 ohms.

  7. Click the Scope block to open the Receiver Impedance Setup dialog box. Enter the impedance values for both Measurement and Simulation circuits and close the dialog box. The default value is 50 ohms.
  8. Click the Channel block to open the Channel Setup dialog box. From the drop-down list, select the Circuit Block Type. The following choices are available to define the Circuit Block Types. For this example, in the Simulation Circuit tab confirm that Thru is selected.
    • Thru
    • Open
    • File. Defines a model block using standard 4-port S-parameters. Using full 4-port S-parameter models is often necessary because cross-coupling components are included between all four ports in the model. However, it is sometimes more convenient to split the 4-port model into two uncoupled 2-port models, as described in the following two selections.
    • Dual 2-Port. Defines a model block using two standard 2-port model blocks. One block defines the path between ports 1 and 2 and one block for the path between ports 3 and 4. For example, two 2-port S-parameter files can model a pair of coaxial cables. Or, when you have an accurate s-parameter file for the differential path through a device, but not for the common mode path. You can use a 2-port differential S-parameter file to model the differential path and an RLC block to model the common mode path. In this case, you define each 2-port block type independently to be a Thru, Open, RLC, Lossless Transmission Line, 4-Port S-Parameter File, or Combination of 4-Port Sub-Circuits.
    • Dual 2-Port Mixed Mode. Defines a model block using two 2-port differential model blocks (one for the differential path and one for the common-mode path). You can define the 4-port model block as a combination of two different uncoupled 2-port model blocks. One block is for the differential path through the device and one block for the common mode path through the device. In this case, you define each 2-port Block Type independently to be a Thru, Open, RLC, Lossless Transmission Line, 4-Port S-Parameter File, or Combination of 4-Port Sub-Circuits.
    • Combination of Subcircuits

    Note

    For the simulation we want to perform, the block needs to be defined as a Thru, meaning that the block acts as though it is not there. Remember in the measurement circuit that we had the signal exiting the DUT, passing through the cable, and entering the oscilloscope. We could only measure it at the front end of the oscilloscope. We actually wished we could have measured the signal before it entered the cable so we could remove any loss induced by the cable.

  9. In the Measurement Circuit tab, select Dual 2-Port.
  10. In the Port 1-2 Block Setup tab, select File for the Circuit Block Type.
  11. Click Browse and import the S-parameter file for the cable that is connected to channel 1A.
  12. In the Port 3-4 Block Setup tab, select File for the Circuit Block Type.
  13. Click Browse and import the S-parameter file for the cable that is connected to channel 2A.

    14. Note

    Since the S-parameters represent a cable, S21 = S12, selecting Flip Model and 4 Port Numbering will have no effect.

  14. Close the the Channel Setup dialog box.
  15. In the De-Embedding Network Setup dialog box, click Save As to save the network setup as a transfer function file (*.tf4). Close the dialog box.

    16. Note

    When creating detailed setups, click Save As when you begin creating your setup and click Save often as you progress. This will protect you from accidental data loss in case of a problem.

    Note

    You must save your setup to a file before it can be used.

  16. The application automatically sets the bandwidth limit. You can manually set the bandwidth limiting to minimize effects caused by noise that occurs above the frequency where the signal is mostly attenuated.
  17. Measurements are now simulated at the input to the DUT.


Remove S2P Operator

Default User Folder

The default user data folder for S-parameter files is \S-Parameter Data.

Use the Remove S2P function to remove the effects of a two-port element from your measurements. This operator is easier to set up than the DeEmbedding operator, however the measurement accuracy is reduced. Before you can use this operator, you must create an S-parameter file of the device to be removed. Normally, you would import 2-port S-Parameter files into this operator (filename extension of .s2p). If S-parameter file's data is not defined with the ports located as shown in the following diagram, select the Flip S-parameters field. This ensures that the S-parameter order is properly interpreted..

Option N1010A-SIM. This InfiniiSim Transform operator is provided with FlexDCA option N1010A-SIM InfiniiSim DCA Waveform Transformation Toolset. You must purchase and install this option before these functions can be used.

Note

The Remove S2P operator is not available in TDR/TDT mode.

The Deconvolution Setup dialog box has several options to compensate for noise effects as well.

Extracting 2-Port Data from a 4-Port S-Parameter File

It is possible to import data from a 4-port S-parameter file (.s4p). After you open a 4-port S-parameter file, two additional dialog box fields appear that configure how 2-port information is extracted from the file. These fields are 4 Port Numbering and 2 Port Extraction and they are shown in this figure. In the following table, locate the illustration in the first column that matches how the ports are numbered in your device and the corresponding S-Parameter file. The columns in the row show the settings required to properly extract and interpret the required 2-port information.

Dialog-Box Settings for Extracting 2-Port Information from 4-Port S-Parameters Files
Port Configuration in s4p File | 4 Port Numbering Options | 2 Port Extraction Options | Flip S-Parameters
 |  | Differential Common Mode Ports 1⇔2 Ports 3⇔4 |
 |  | Differential Common Mode Ports 1⇔3 Ports 2⇔4 |
 |  | Differential Common Mode Ports 1⇔2 Ports 3⇔4 |
 |  | Differential Common Mode Ports 1⇔3 Ports 2⇔4 |

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Remove S2P operator's output waveform.

To Configure the Operator

  1. Drag the operator into the construction area.
  2. Click on the operator to open the Deconvolution Setup dialog box. The dialog box's message prompts you to open a 2-port S-parameter file for your device. You can also open a 4-port device, although the required dialog-box options are more entailed..
  3. Click Browse to locate the S-parameter file for your device.
  4. Set the options as described at the beginning of this topic.
  5. Close the dialog box.


Remove S4P Operator

Default User Folder

The default user data folder for S-parameter files is \S-Parameter Data.

Use the Remove S4P function to remove the effects of a four-port element from your measurements. This operator is easier to set up than the Deembedding operator, however the measurement accuracy is reduced. Before you can use this operator, you must create an S-parameter file of the device to be removed.

Option N1010A-SIM. This InfiniiSim Transform operator is provided with FlexDCA option N1010A-SIM InfiniiSim DCA Waveform Transformation Toolset. You must purchase and install this option before these functions can be used.

Note

The Remove S4P operator is not available in TDR/TDT mode.

Note

This operator requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Remove S4P operator's output waveform.

To Configure the Operator

  1. Drag the operator into the construction area.
  2. Click on the operator to open the Deconvolution Setup dialog box. The dialog box's message prompts you to open a four-port S-parameter file for your device.

  3. Click Browse to locate the S-parameter file for your device.
  4. Select the devices Operator Output configuration.
  5. If the S-parameter file's data is not defined with the ports orientated as shown in the following diagram, select make the option selections as shown in the following table. This will ensure that the S-parameter order is properly interpreted.

    6. Option Settings for 4-Port S-Parameters Files
Port Configuration in File | Flip Model Setting | 4 Port Numbering Setting
  6. The application automatically sets the bandwidth limit. You can manually set the bandwidth limiting to minimize effects caused by noise that occurs above the frequency where the signal is mostly attenuated.
  7. Close the dialog box.


S-Parameter Files

TOUCHSTONE FILES

To create Touchstone files of your device, you can use the 86100D in TDR/TDT mode with a TDR/TDE module.

S-parameter files describe electrical n-port network models of physical devices as a tabular list of complex s-parameter values at specific frequencies. S-parameter files can model fixtures, cables, devices, or probes in your circuit. Formatted as ASCII text, s-parameter files are easily viewed or edited using any text-based file editor. S-parameter files can be generated with an 86100D, vector network analyzer, or circuit simulator. The InfiniiSim operators can import:

  • 4-port or 2-port files in 4-Port Block Port Type mode
  • 4-port, 2-port, and 1-port files in dual 2-Port or dual 2-Port Differential Block Port Type mode

By default for 4-port devices, the operators expect ports 1 and 3 to be on the left side and ports 2 and 4 to be on the right. However, this may not align with the way the data is formatted in your s-parameter file. You can correct for this when importing the file by using the Flip Model and 4 Port Numbering selections.

File Requirements

Two standard S-parameter file formats are supported: Touchstone (version 1.1) and CITIfile (version A.01.00 and A.01.01). Touchstone files are identified by the file extensions .s1p, .s2p, or .s4p. CITIfile files are identified by either .cti or .cit. Only CITIfiles which contain a single data package (each file may model only a single device) are supported.

Simulation operators require model information at DC (0 Hz). However, s-parameter files often do not contain DC values, especially if they originate from network analyzer measurements. When files do not contain DC values, the application, by default, copies the file's lowest frequency values to 0 Hz and set their phase components to zero. This techniques may not always yield appropriate DC s-parameter values. Ideally, you should measure or simulate the true DC values and manually add them to the s-parameter file with a text editor.

InfiniiSim operators requires s-parameter values that are uniformly spaced in frequency with a spacing or resolution that is small enough to accurately represent the slowest time constants and time delays exhibited by the modeled device. However, this does not mean that all s-parameter files must contain uniformly spaced frequency data. Uniformly spaced file data is usually preferred, but not required if you are knowledgeable about how InfiniiSim interprets file data.

In the absence of the special InfiniiSim keyword DEFAULT_FREQUENCY_RESOLUTION (see keywords below), InfiniiSim checks the data to ensure that it is uniformly sampled in frequency (with exception to the interval between DC and the next lowest frequency point) and generates a warning if the data is not uniformly sampled. If the DEFAULT_FREQUENCY_RESOLUTION keyword is accompanied by a numeric value, the data is resampled using linear interpolation and the frequency resolution specific by that value. Otherwise, InfiniiSim resamples the file data using a frequency resolution equal to the frequency interval between the last two frequency points in the file.

InfiniiSim expects s-parameter files to list their values in monotonically increasing frequency order and ignores those values at which frequencies are less than or equal to the frequencies of previously listed values. InfiniiSim also truncates all file data to a maximum of 100,000 frequency points.

InfiniiSim calculates transfer functions using only full 2 port (in 2 port analysis mode) or 4 port (in 4 port analysis mode). However, those blocks that model source impedance or load impedance (transmitter source, scope/probe, or scope input) can be defined by s-parameter files which contain only return loss information. In the absence of the special InfiniiSim keyword RETURN_LOSS_INTERPRETATION, InfiniiSim assumes that the return loss data models a simple passive shunt RLC circuit and calculates the insertion loss of the same circuit that would produce the file data.

S-Parameter File Keywords

The following are the currently supported optional keywords you can place in your s-parameter files. InfiniiSim scans s-parameter files for special keywords to learn how the data was generated or how it should be interpreted. The format of these lines differs slightly between Touchstone and CITIfile files in that they must be proceeded by an exclamation point (!) within Touchstone files. InfiniiSim keywords are case insensitive and permit additional comments on the same line.

#DSO DEFAULT_FREQUENCY_RESOLUTION <value>

The <value> string may be a numeric value in Hz or the text strings AUTO or AUTOMATIC. In the absence of this keyword, InfiniiSim checks the data to ensure that it is uniformly sampled in frequency (with exception to the interval between DC and the next lowest frequency point) and generates a warning if the data is not uniformly sampled. If <value> is a numeric value, the data is resampled using linear interpolation and the frequency resolution specified by <value>. Otherwise, InfiniiSim resamples the file data using a frequency resolution equal to the frequency interval between the last two frequency points in the file. If <value> is equal to either of the text strings (AUTO or AUTOMATIC), InfiniiSim does not report a warning about non-uniformly sampled data.

#DSO RETURN_LOSS_INTERPRETATION <string>

The <string> value can be one of the following legal strings: SCOPE, PROBE, SERIES_RLC, SHUNT_RLC, or DEFAULT. In the absence of this keyword, InfiniiSim assumes that the return loss data models a simple passive shunt RLC circuit and calculates the insertion loss of the same circuit that would produce the file data (S21 = S12 = 1 + S11, S22 = S11). When <string> equals SERIES_RLC, InfiniiSim assumes that the return loss data models a simple passive series RLC circuit (S21 = S12 = 1 - S11, S22 = S11). When <string> equals SCOPE, InfiniiSim assumes that the return loss data models an oscilloscope input (S21 = 1, S12 = S22 = 0). When <string> equals PROBE, InfiniiSim assumes that the return loss data models a probe input (S21 = 1 + S11, S12 = 0, S22 = -1). When <string> equals DEFAULT, InfiniiSim uses its default interpretation without creating the default return loss warning.


DeEmbedding Operators

Default User Folder

The default user data folder for de-embedding network files is \De-Embedding Networks.

De-Embedding Examples

Try the following examples for removing a cable's insertion loss.

  • Example for 2-Port DUT
  • Example for 4-Port DUT

The 2-port and 4-port DeEmbedding operators provide the most precision for removing or inserting test-setup elements. Click on these operators to create a network that describes the full system of transmitter, receiver, and channel blocks. For each block, both measurement and simulation electrical circuits are defined. The measurement circuit models the actual physical electrical circuit that produced the measured waveform. The simulation circuit models a hypothetical electrical circuit that exhibits the characteristics that you want to measure.

Option N1010A-SIM. This InfiniiSim Transform operator is provided with FlexDCA option N1010A-SIM InfiniiSim DCA Waveform Transformation Toolset. You must purchase and install this option before these functions can be used.

  • Click Create a New Network to define your de-embedding network. Your network setups are saved in files.
  • Click Select a Network if you have already configured and saved a network file. The selected network file is loaded for use. After opening a network file, click Edit the Selected Network to change the network's configuration.
  • Use the Bandwidth Limit option to minimize the effects caused by noise.

In your definitions, you can enable the most complete waveform rendering by including the reflective s-parameter elements in the mathematical calculation of the correction transfer function which is used to transfer data from the measurement to the simulated (displayed) measurement.

Note

These operators are not available in TDR/TDT mode.

Note

These operators requires a single-valued waveform, as opposed to an eye diagram. Be sure that your trigger setup results in a single-valued waveform at the input to this operator. This can be acheived using an external pattern trigger or by using pattern lock. If you are using an external pattern trigger, you may ignore this note.

Note

The convolution process used by this operator requires that the measurement circuit and the simulation circuit be linear and time-invariant (small-signal analysis requirements).

Note

Jitter measurements can be made on the Remove S2P operator's output waveform.


Bandwidth Limit

For DeEmbedding, and Deconvolution network setups, bandwidth limiting minimizes the effects caused by noise that occurs above the frequency where the signal is mostly attenuated. The application automatically sets the bandwidth limit, but you can manually set it, if needed. Normally you do not need to apply bandwidth limiting if you are adding loss (for example, applying the loss of a cable). However, if you are applying gain (for example, removing the loss of a cable), you may need to use this field.

To manually set bandwidth limiting, clear the Bandwidth Limit Auto checkbox. Select either a Gaussian or Sinc filter and set the filter's corner frequency. Bandwidth limiting is independent of waveform transformations and is applied to measured or simulated waveforms. It is implemented using a FIR filter that has a size (time span) determined by the filter's corner frequency.

Ideally, you would like to transmit a signal through a channel component (cable, fixture, or probe) whose frequency response was flat over the full bandwidth of the signal, so that every frequency component of the signal was equally represented. In practice, the signal attenuates at higher frequencies as shown in this simplified graph.

Some applications attempt to remove or correct this insertion loss in the channel using a correction transfer function, which becomes the inverse of the channel's insertion loss. This is represented by the dashed line in this graph the following graph. The product of the peaked correction transfer function response and the channel response yields a flat frequency spectrum shown by the green line.

The following graph shows a more realistic frequency response graph. Above a certain frequency (or bandwidth) there is very little signal and mostly noise. Applying a correction using waveform signal processing as discribed above, may excessively amplify the noise. Bandwidth limiting minimizes this noise gain by attenuating the resulting waveforms above the frequency where there is mostly noise.


Circuit Block Setup Diagrams

Network setup diagrams for de-embedding operators can contain any of the circuit blocks shown in the following list. The Setup Dialog box for each of these circuit blocks is identical.

  • Channel Circuit Block
  • Transmitter Source Circuit Block
  • Transmitter Channel Circuit Block
  • Receiver Load Circuit Block
  • Receiver Channel Circuit Block
  • Probe Circuit Block
  • Probe Channel Circuit Block
  • Bridge Circuit Block

In the dialog box, select the Circuit Block Type for both the measurement circuit and simulation circuits. For each circuit, first select the type of circuit in the drop-down list and then define the block. Depending on your network, one or more of the following circuit block types can be selected:

  • Thru
  • Open
  • RLC
  • File
  • S-Parameter File
  • Combination of Subcircuits
  • Transmission Line (single-ended networks only)
  • Dual 2-Port (differential networks only)
  • Dual 2-Port Mixed Mode (differential networks only)


Combination of Subcircuits Circuit Block

Use the Combination of Subcircuits Circuit Block Type to define either a measurement or simulaton circuit using three blocks instead of one. Select from three arrangements for the three sub-blocks: Cascade Sub-Circuits, Parallel Sub-Circuits, or Series Sub-Circuits.

Once you select the configuration, click on each individual block to open the Sub-Circuit Setup dialog box. You can define each individual block as:

  • Thru
  • Open
  • RLC
  • Transmission Line
  • S-Parameter File
  • Unused. Indicates that this particular sub-block is not included in the definition allowing you to use two sub-blocks instead of three. For Cascade sub-circuits, Unused acts like a Thru block. For Parallel sub-circuits, Unused acts like an Open block.

The following tables illustrate the available sub-circuit relationships for two-port devices.

Sub-Circuit Relationships
Relationship | Configuration
Cascaded |
Parallel |
Series |


Combination of Subcircuits Circuit Block

Use the Combination of Subcircuits Circuit Block Type to define either a measurement or simulaton circuit using three blocks instead of one. Select from three arrangements for the three sub-blocks: Cascade Sub-Circuits, Parallel Sub-Circuits, or Series Sub-Circuits.

Once you select the configuration, click on each individual block to open the Sub-Circuit Setup dialog box. You can define each individual block as:

  • Thru
  • Open
  • S-Parameter File
  • Unused. Indicates that this particular sub-block is not included in the definition allowing you to use two sub-blocks instead of three. For Cascade sub-circuits, Unused acts like a Thru block. For Parallel sub-circuits, Unused acts like an Open block.

The following tables illustrate the available sub-circuit relationships for four-port devices.

Sub-Circuit Relationships
Relationship | Configuration
Cascaded |
Parallel |
Series |


Dual 2-Port Circuit Block

Use the Dual 2-Port selection to define Port 1-2 Block Setup or Port 3-4 Block Setup. Select from among the following Circuit Block Types:

  • Thru
  • Open
  • RLC
  • File. Defines the model block using standard 2-port s-parameters.
  • Transmission Line
  • Combination of Subcircuits


Dual 2-Port Mixed Mode Circuit Block

Use the Dual 2-Port Mixed Mode selection to define Differential Block Setup or Common-Mode Block Setup. Select from among the following Circuit Block Types:

  • Thru
  • Open
  • RLC
  • File. Defines the model block using standard 2-port s-parameters.
  • Transmission Line
  • Combination of Subcircuits


File Circuit Block

Default User Folder

The default user data folder for S-parameter files is \S-Parameter Data.

Use the File circuit block type to define either a measurement or simulaton circuit that uses an S-parameter file to model the fixture, cable, probe, or device. In the dialog box, click on the S-parameter File Settings field to browse to your saved s-parameter file. The application accepts both Touchstone files (.s1p, .s2p, .s4p) and CITIfile (.cti) files.

To create S-parameter files of your device in the Touchstone format, you can use the 86100D with a TDR/TDE module. For more information, read the information on TDR/TDT mode and S-Parameters. You can also generate S-parameter files using a vector network analyzer or circuit simulator.

Options for 2-Port Device

For a two-port device, the Flip Model option is displayed as shown in the following figure.

If S-parameter file's data is not defined with the ports orientated as shown in the following diagram, select the Flip Model field. This ensures that the S-parameter order is properly interpreted.

Options for 4-Port Device

For a four-port device, the Flip Model and 4 Port Numbering options are displayed as shown in the following figure.

If the S-parameter file's data is not defined with the ports orientated as shown in the following diagram, select make the option selections as shown in the following table. This will ensure that the S-parameter order is properly interpreted.

Option Settings for 4-Port S-Parameters Files
Port Configuration in File | Flip Model Setting | 4 Port Numbering Setting


Impedance Setup

The Transmitter and Receiver Impedance Setup dialog boxes are displayed whenever you click on the impedance symbol in your network setup diagram. Use this dialog box to enter the impedance values for both the Measurement and Simulation circuits. Select Use Single Impedance Value to force one value to define both circuits. The default impedance value is 50 ohms.


Setting Up a Network

Use the De-Embedding Network Setup dialog box to create de-embedding networks for your test setup. In the dialog box, select from one of several preset configurations, such as Remove insertion loss of a fixture or cable. This displays a diagram within the dialog box that is similar to the one shown in the following figure. Because these diagrams are interactive, you simply click on the diagram's different blocks to configuration the network. Network diagrams include several definition blocks as shown in the following representative diagram:

Click on the blocks in this picture!

Note

You must save your network test setup as a correction transfer function file before you can use it for measurements.

Definition of Network Setup Symbols
Symbol | Description
 | Indicates a measurement observation node that models the actual physical electrical circuit that produces the measured waveform.
 | Indicates a simulated observation node that models a hypothetical electrical circuit that exhibits the electrical characteristics that you wish to measure.
 | Click on a a white observation node to open the Observation Node Setup dialog box. Depending on the nodes position in the diagram, you can define it as a measurement node, simulation node, or both.
 | A dark gray observation node can not be defined as a measurement or simulation node
 | A blue text field identifies a measurement circuit block's type. In this example, an S-parameter file.
 | A bronze text field identifies a simulation circuit block's type. In this example, an S-parameter file.
 | Indicates that a block that needs configuring to be complete.


Observation Node

Use the Observation Node Setup dialog box to configure an observation nodes. Observation nodes indicate circuit locations that represent the:

  • Measured Waveform. This is the waveform before de-embedding has been applied. The measurement circuit models the actual physical electrical circuit that produced the measured waveform.
  • SimulatedWaveform. This is the circuit location that de-embedding allows you to simulate. The simulation circuit models a hypothetical electrical circuit that exhibits the characteristics that you want to measure.

Observation Node symbols on your de-embedding network appear either dark gray or white (as shown in this picture). Click on a white observation node to open the Observation Node Setup dialog box. Depending on a white node's position in the diagram, you can select it as a measurement node [image], simulation node [image] , or both. Dark gray observation nodes can not be defined as a measurement or simulation node.


Open Circuit Block

Use the Open circuit block type to define either a measurement or simulaton circuit for which no signal passes. It is as though the input port and output port form an open circuit. As shown in this figure, no options are presented when this type is selected.


RLC Circuit Block

Use the RLC circuit block type to define either a measurement or simulaton circuit which consists of an RLC (resistor, inductor, capacitor) network. In the RLC Circuit Type drop-down list, select a circuit type that represents your device. Then, set the values for the resistance, inductance, and capacitance.

Four RLC Circuit Types
Type | Circuit | Type | Circuit
Series Thru |  | Series Shunt |
Parallel Thru |  | Parallel Shunt |


Thru Circuit Block

Use the Thru circuit block type to define either a measurement or simulaton circuit for which nothing happens to the signal. It is as though the block was not there and the input port were shorted directly to the output port. The signal passes right through with no time delay. As shown in this figure, no options are presented when this type is selected.


Transform Function Messages

Sometimes you may receive a warning or error message when attempting to create a transfer function. Refer to the list below for the meaning of each of these messages as well as suggested corrective actions.

1 port Files Allowed at Source and Load Blocks Only

In 2 port InfiniiSim, you are only allowed to use 1 port files for Transmitter, Receiver, and Scope / Probe blocks. If you try to use a 1 port file anywhere else, you will get this error.

2 port Files Allowed at Source and Load Blocks Only

In 4 port InfiniiSim, you are only allowed to use 2 port files for Transmitter, Receiver, and Scope / Probe blocks. If you try to use a 2port file anywhere else, you will get this error.

Calculation Aborted

This error indicates that you chose to abort the transfer function computation before it was written to a file.

Cannot Read 4 Port Data From a 2 Port File

This error means that you have attempted to load two-port file data into a four-port model block. If you want to define a four-port block with two-port files, you need to use the (2) two-Port or (2) two-Port Differential Block Port Type settings.

DEFAULT_FREQUENCY_RESOLUTION Value is Too Small

The DEFAULT_FREQUENCY_RESOLUTION value provided in the s-parameter file is too small and yields more than the allowed 100,000 frequency points.

Files May Only Contain a Single Data Package

Each CITIfile file may only model a single device.

File Not Found

This indicates that the file is not where you are telling InfiniiSim it is located or it has the wrong name.

Impedance of All Ports Must Be the Same

The .citi format allows you to specify a unique port impedance for each port. They must all be the same for InfiniiSim or you will get this error.

Invalid Data Format (DBANGLE, MAGANGLE, RI only)

You are only allowed to use DBANGLE, MAGANGLE, or RI data value formats with CITIfile files. If you use any other data format, you will get this error message.

Invalid Data Format (DB, MA, RI only)

You are only allowed to use BE, BD, MA, or RI data value formats with ATF and Touchstone files. If you use any other data format, you will get this error message.

Invalid File Format

InfiniiSim could not recognize the indicated s-parameter file format.

Invalid File Name

This indicates that the file extension is wrong or invalid for the type of file needed.

Invalid Frequency Units (HZ, KHZ, MHZ, GHZ only)

You are only allowed to use Hz, kHz, MHz, and GHz in your s-parameter file. If you use anything else, you will get this error.

Invalid Output Name

This means you probably gave the Save As file name an improper file extension.

Invalid RETURN_LOSS_INTERPRETATION Value

The RETURN_LOSS_INTERPRETATION value in the s-parameter file must be set to either SCOPE, PROBE, SERIES_RLC, SHUNT_RLC, or DEFAULT.

Less Than 2 Data Points in the File

You must have at least two data points in your s-parameter and transfer function files.

Signal Amplitude at Measurement Node is Too Small

This message usually means you made a mistake when setting up your measurement circuit (example, placed an open circuit block somewhere between the source and measurement nodes). This may also occur is an s-parameter file in the measurement circuit has a resonant “suck-out” that the transfer function is trying to compensate. This warning indicates that the voltage seen at the measurement node is very small. It could be that your specific setup does indeed cause this to occur and there was no error made, but more often than not you should go back and check your measurement circuit setup.

Transfer Function Data Must Contain a 0 Hz Point

This is not true for s-parameter function files, but is true for transfer function files.

Unspecified Error

An internal error was detected by InfiniiSim. Please contact Keysight Technical Support.

Unspecified File Read Error

This indicates that the file has an invalid format.

Unspecified File Write Error

An internal error was detected in InfiniiSim. Please contact Keysight Technical Support.

Unstable or Ill-conditioned Circuit Definition

When you get this message it means one of your circuits is invalid. This warning indicates that an infinite voltage is present in the circuit (analogous to an oscillation) or in other words, the gain becomes infinite.

Warning: File Data Truncated to 100 kpts

This warning means there are too many points in your s-parameter file. You need to reduce the number of points.

Warning: Frequency Resolution May Be Too Large for Slow Time Constants

This is similar to the warning two above this except that instead of a model's long time delay causing the problem, it is the model's slow time constants. These kind of models require finer frequency resolution. Therefore, you need to have a finer sampling of frequencies in your s-parameter file.

Warning: Frequency Resolution May Be Too Large for Time Delay

S-parameter models that have long time delays require finer frequency resolution because the model's impulse response needs to be longer. This warning indicates that your s-parameter file may not have enough resolution to accurately represent the modeled device. Therefore, you need to have a finer sampling of frequencies in your s-parameter file.

Warning: Interpolated S-parameters Limited to 100 kpts

The interpolation performed by InfiniiSim on your file data resulted in too many points. InfiniiSim sets the resolution by looking at the separation between the last two points in the file. If these values are too close together, it can cause the resolution to be too fine. The S-parameter file command #DSO DEFAULT_FREQUENCY_RESOLUTION, can force InfiniiSim to have a different resolution than that specified by the frequency spacing in the file. If you used this command with too fine a resolution, this warning message can occur.

Warning: Non-uniformly Sampled Data

S-parameter files with uniformly spaced points do not have to be interpreted. If the points are not uniformly spaced, InfiniiSim attempts to set the resolution by looking at the separation between the last two points in the file. This can result in incorrect data, especially if you are using a pure log sweep, which is not recommended..

Warning: Transfer Function Appears to Invert Signal

This warning typically happens with 4 port InfiniiSim. There is one particular non-standard port ordering that can cause the 4 port model to invert the signal polarity. Unfortunately, this uncommon port ordering cannot be corrected with any combination of the Flip Model and 4 Port Numbering controls. Again, it could be that your specific setup does indeed cause signal polarity inversion to occur and there was no error made (for example, if you are modeling an inverting amplifier), but more often than not there is a problem with the s-parameter file port ordering.

Warning: Transfer Function Gain is Unusually Large

The voltage at the simulation node is extremely high when compared with the voltage at the measurement node, when driven by the same source. This usually indicates an incorrect measurement circuit setup. For example, an open circuit block is placed somewhere that is preventing the source from driving the measurement node. First check your measurement circuit to ensure there are no errors. An s-parameter file in the measurement circuit may have a resonant “suck-out” that the transfer function is trying to compensate. It could also be that your specific setup does indeed cause a large gain in the transfer function.

Warning: Unrecognized ATF File Version (A.01.00 Only)

This warning indicates that InfiniiSim does not support the ATF file you are attempting to use. InfiniiSim only supports A.01.00 ATF files.

Warning: Unrecognized CITIfile Version (A.01.00 and A.01.01 Only)

This warning indicates that InfiniiSim does not support the CITIfile you are attempting to use. InfiniiSim only supports A.01.00 and A.01.01 CITIfiles.


Transmission Line Circuit Block

Use the Transmission Line circuit block type to define either a measurement or simulaton circuit as an ideal, lossless transmission line. Enter values for Characteristic Impedance and Propagation Delay.


Transform Operators

The following Transform operators are available for use. An operator's output is automatically assigned to an output function. The function's waveform is not displayed unless you drag a function color icon onto the function's output.

  • To learn how to build a function from operators

Click on these pictures!


FFT Operator

The Fast Fourier Transform (FFT) function takes the sample points of the waveform in the time domain and computes the frequency components. The FFT operator is not available in Jitter mode.

After placing the function, click on the function icon to open the dialog box shown here. Select to display the FFT to be one of the following types:

FFT Operator Setup
FFT Display | Shown in Waveform Content Window
Linear Magnitude | Waveform
dBV | Freq-Mag
dBm | Freq-Mag
Phase | Phase
Unwrapped Phase | Phase
Group Delay | GrpDelay

If Phase, Unwrapped Phase, or Group Delay is selected, the FFT Phase Reference field is displayed, which you can define to be Left, Right, or Manual. Selecting Manual to enter the FFT Origin in seconds. Regardless of the type off FFT Display selected, you can select that a Hanning FFT Window be applied. If the input is an optical signal and dBV (Electrical) is selected, the Voltage Conversion Factor field is displayed, which allows you to enter a voltage conversion factor (V/W).

Note

To ensure that enough data is available to construct a useful FFT, set FlexDCA's timebase scale equal to the waveform's period. This will display 10 waveform cycles. For example, for a 5 GHz (200 ps) reference clock, enter a scale setting of 200 ps/division.

Note

Tracking marker pairs cannot be positioned between the graph's data points. This will become noticeable as the graph's span is reduced. Dragging the marker label [image] or clicking the position arrows in the Marker's dialog box always results in the marker being placed on a data point. If, however, you enter a specific marker position in the dialog box's Position field that is not at a data point, the marker will move to the entered frequency location but the amplitude value will be equal to the amplitude at the nearest sampling point.

Content Windows

The FFT waveform is automatically displayed in the appropriate type of content window, which is listed in the following table.

Note

Under remote control, additional content windows of the same type are available which you can optionally move the waveform to using the :FUNCtion{1:16}:CWINDdow command.

Note

When you display the FFT as a Linear Magnitude, the waveform is displayed in a Waveform waveform content window. To view the FFT waveform, turn on pattern lock so that a single-valued waveform is provided as the function's input. In Eye mode, if the entire pattern is acquired, additionally turn waveform wrapping off.

Command Arguments and Resulting Waveform Content Window
FFT Display Selection | Displayed Content Window | Number of Available Windows |  | Scale Units
 |  | Via Front Panel | Programmatically
Linear Magnitude | Waveform | 1 | 1 | Y-Axis: Volts or Watts (linear scale) X-Axis: seconds
dBV | Freq-Mag | 1 | 4 | Y-Axis: dB (logarithmic scale) X-Axis: Hertz
dBm
Phase | Phase | 1 | 4 | Y-Axis: phase (°) X-Axis: Hertz
Unwrapped Phase
Group Delay | GrpDelay | 1 | 4 | Y-Axis: seconds X-Axis: Hertz


Versus Operators

The Versus (X vs. Y) math operator plots the source 1 amplitude on the vertical Y-axis and the source 2 amplitude on the horizontal X-axis. You can use Versus to compare frequency and phase relationships between two signals. When scaling (vertical and horizontal) is set to Auto , the instrument automatically selects vertical scale, offset, horizontal scale, and position to view the entire function on the display screen. The function then tracks any scale, offset, or position changes you make to the source waveform. If you set the scaling (vertical and horizontal) to Manual, you can define a different scale, offset, and position than the original source waveform. The function will not track any changes you make to the source waveform.

You can apply a constant to the Versus operator.

Note

The Versus operator is not available in Jitter mode.

The X and Y values displayed in the marker values tab are the values of the amplitudes of the two sources used for the function.

Note

When you switch to manual marker mode, the values displayed in the X and Y marker control boxes are the amplitudes of the two sources used for the function.


User-Defined Operators

User Measurements

If you need your script to perform a scalar measurement on an input waveform, use a User Measurement.

You can create custom user-defined operators that are based on Python, MATLAB, and Compiled MATLAB. Like FlexDCA's standard operators, user operators filter an input waveform and display an output waveform .Two versions of the user operator are available: a single and a dual input waveform versions. To configure your operator, you first create a script and then a simple XML configuration file that points to your script. The XML file also creates different input fields on the User Operator Setup dialog box.

  1. Write a MATLAB or Python script that creates your operator.
  2. Write an XML file that describes the operator and identifies the script.
  3. Import the XML file into the User Operator Setup dialog box.
  4. Use the Waveform Signal Processing dialog box to select and assign a waveform to your operator.

Python Based Operators

  • Python Requirements
  • The Python Environment
  • Installing Python
  • Lesson 1. "Hello World!" User Operator
  • Lesson 2. Butterworth User Operator
  • Creating an XML Ffile
  • Troubleshooting Python scripts
  • Accessing variables
  • Valid Measurement Units

MATLAB Based Operators

  • MATLAB Requirements
  • The MATLAB Script Environment
  • The MATLAB Application Environment
  • Lesson 1. Hello World!
  • Lesson 2. Creating a User Operator
  • Lesson 3. Creating a User Application
  • Creating an XML File
  • Accessing variables
  • Valid Measurement Units

User-Defined Measurements and User-Defined Operators require the N1010A-201 Advanced Waveform Analysis license.

Note

It is possible to open the script file directly in the User Measurement Setup dialog box without using an XML configuration file. However, without a configuration file you will not be able to initialize unique script variables or specify dependent FlexDCA measurements.

User operators can do much more than simply run the your script. You can setup the operator to customize your script at runtime. For example, you can initialize variables within your script and create up to four user-defined controls on the dialog box. Values that you enter or select in user-defined controls are passed to your script. The following types of user-defined controls can be created with the picture showing integer, double, string, and drop-down list controls.

  • Available controls:
    • Integer value
    • Double value
    • Drop-down list of selections
    • String
    • File name

License Required

User Operators and User Defined Measurements are provided with the 86100D-201 or N1010A-201 Advanced Waveform Analysis license.

Note

It is possible to open the script file directly in the User Operator Setup dialog box without using an XML configuration file. However, without a configuration file you will not be able to specify variable values or setup user-defined controls.


Environment for MATLAB Scripts (Operators)

For MATLAB scripts (*.m), install MATLAB on the 86100D or PC where FlexDCA is running. A simple XML configuration file identifies your measurement script. In addition to calling the script, the XML file populates the User Operator Setup dialog box.

MATLAB Standalone Application

MATLAB Applications are created using the MATLAB Compiler. The resulting *.exe file can be run without having MATLAB installed on the 86100D or PC. However, the MATLAB Runtime must be installed on the 86100D or PC where FlexDCA is installed and the MATLAB Runtime version must be the same version as was targeted when the MATLAB Application was created.

When a user measurement is run, on each data acquisition:

  1. FlexDCA pushes standard variables and custom variables and controls into the MATLAB workspace, including the source waveform.
  2. FlexDCA executes the script.
  3. FlexDCA retrieves a number of standard output variables from the MATLAB workspace, including the output waveform.


Environment for MATLAB Applications (Operators)

MATLAB Standalone Applications (*.exe) are created using the MATLAB Compiler. The resulting *.exe file can be run without having MATLAB installed on the 86100D or PC. To run a MATLAB Standalone Application, you must:

  • Install the MATLAB Compiler Runtime (MCR) on the 86100D or PC where FlexDCA is installed.
  • The MCR version must be the same version as was targeted when the MATLAB Application was created.

A simple XML configuration file is used to identify your MATLAB Standalone Applications. In addition to calling the application, the XML file populates the User Operator Setup dialog box.

When the application is run, on each data acquisition:

  1. FlexDCA makes the source waveform, standard variables and custom variables and controls available to the MATLAB standalone application.
  2. FlexDCA executes the script.
  3. FlexDCA retrieves the output waveform and a number of standard output variables from the MATLAB standalone application.


Lesson 1. Creating a "Hello World" User Operator Script

MATLAB
User
Oper

In this lesson, you'll learn how to create the simplest operator possible to prove your FlexDCA / MATLAB environment. After you finish this lesson, continue with Lesson 2.

Procedure

  1. Make sure that you have fullfilled the basic requirements for MATLAB.
  2. Copy the following XML listing into a text editor. Name the file HelloWorld.xml and save it in FlexDCA's user functions folder (\Documents\Keysight\FlexDCA\User Functions).
    3. HelloWorld.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Function xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>HelloWorld.m</Script>
    • <Name>Hello World!</Name>
    • <!-- <Icon>MyPicture.png</Icon> -->
    • <FunctionType>1 Source</FunctionType>
    • </Function>
            The <Icon> element is optional. This element allows you to place a picture on your user operator icon.
    Example without <Icon> element
    Example with <Icon> element
  3. Copy the following script into MATLAB's editor. Save your script file in FlexDCA's user operator folder (\Documents\Keysight\FlexDCA\User Functions) and name it HelloWorld.m.
    4. HelloWorld.m
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the MATLAB editor!
    Gain = 2.0; % change the gain of the output signal
FiltData = SrcData; % assign input waveform to output waveform

    Note

    Do not use spaces or hyphens when selecting a filename for your script.

    Note

    Enter the above script exactly as written. Otherwise, the script will fail.

  4. Place FlexDCA into Oscilloscope or Eye/Mask modes and display a waveform on the display.
  5. On FlexDCA's menu, click Measure > Waveform Signal Processing (Math).
  6. At the top of the Waveform Signal Processing dialog box, select the User tab and drag a single-input User operator icon into the operator construction area as shown in the following picture.
  7. Click on the user operator to open the User Operator Setup dialog box.
  8. In the dialog box, click Browse and select your XML configuration file, HelloWorld.xml.
  9. In the Waveform Signal Processing dialog box, drag a Function Color to the User Operator as shown in the following picture. This will display the output waveform of the function.
  10. Click Autoscale and the input and output waveforms should be displayed. Of course, your waveforms will be different from those shown here. The important thing is that both the input and output waveforms are displayed. Notice that the Signals legend identifies the operator's output waveform.

    11. Note

    You may have to wait a few seconds for the waveform to appear and the waring icon ( [image]) to be removed.


Lesson 2. Creating a Butterworth User Operator Script

MATLAB
User
Oper

In this MATLAB example, you'll learn how to create a Butterworth filter operator in the FlexDCA / MATLAB environment. After you finish this lesson, continue with Lesson 3 to convert this operator into a MATLAB standalone application.

Procedure

  1. Complete Lesson 1, if you have not already done so.
  2. Copy the following XML listing into a text editor. Name the file Butterworth.xml and save it in FlexDCA's user functions folder (\Documents\Keysight\FlexDCA\User Functions). Notice how the XML <Control> elements will be used to create the User-Defined Controls shown in the following picture of the User Operator Setup dialog box.
    3. Butterworth.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Function xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>Butterworth.m</Script>
    • <Name>Butterworth</Name>
    • <Abbreviation>Butter</Abbreviation>
    • <Comments>Creates a Butterworth filter</Comments>
    • <FunctionType>1 Source</FunctionType>
    • <Control Name = "FilterType">
    • <Enumeration>
    • <Default>low</Default>
    • <Selection>low</Selection>
    • <Selection>high</Selection>
    • </Enumeration>
    • </Control>
    • <Control Name = "FilterOrder">
    • <Integer>
    • <Min>1</Min>
    • <Max>4</Max>
    • <Units>None</Units>
    • <Default>2</Default>
    • </Integer>
    • </Control>
    • <Control Name = "FilterCutoff">
    • <Double>
    • <Min>10e6</Min>
    • <Max>1000e9</Max>
    • <Resolution>1000</Resolution>
    • <Units>Hertz</Units>
    • <Default>7.5e9</Default>
    • </Double>
    • </Control>
    • </Function>
  3. Copy the following script into MATLAB's editor. Name your script file Butterworth.m and save it in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Functions). Color in the following script identifies:
    • Output variables that are initialized.
    • Input variables that are assigned to local function variables.
    • User-defined control variables that are assigned to local function variables.
    • Filtered output waveform that is created.
    Butterworth.m
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the MATLAB editor!
    % Initialize output variables
FiltData = []; % Output waveform
Gain = 1.0;
XUnits = 'Same';
YUnits = 'Same';
ErrorMsg = '';

% Gather input data
SrcData = SrcData; % Input waveform
XOrg = XOrg;
XInc = XInc;
IsPeriodic = IsPeriodic;

% Gather user-defined controls
N = FilterOrder;
Fc = FilterCutoff;
FType = FilterType;

% Constant output variables
FilterDelay = N * 0.112 / Fc;
FilterWidth = N / Fc;

if ~isempty(SrcData)
    % Create the filter
    Wn = 2 * XInc * Fc;
    [B,A] = butter(N, Wn, FType);
    numPts = length(SrcData);
    if IsPeriodic
        % Perform the filtering circularly using ffts.
        fftSrcData = fft(SrcData);
        h = freqz(B, A, numPts, 'whole').';
        FiltData = real(ifft(fftSrcData .* h));

        % Rotate to remove FilterDelay.
        shift = round(FilterDelay / XInc);
        FiltData = circshift(FiltData, [0, -shift]);
    else
        startIndex = ceil(FilterWidth / XInc) + 1;
        if (startIndex > numPts)
            ErrorMsg = 'Too few points. Pipeline eats up entire waveform.';
        else
            % Perform the filtering
            FiltData = filter(B, A, SrcData);

            % Remove filter delay and pipeline
            FiltData = FiltData(startIndex:end);
            leadPipeline = FilterWidth - FilterDelay;
            XOrg = XOrg + leadPipeline;
        end
    end
end

    Note

    Do not use spaces or hyphens when selecting a filename for your script.

    Note

    Enter the above script exactly as written. Otherwise, the script will fail.

  4. Place FlexDCA into Oscilloscope or Eye/Mask modes and display a single waveform on the display.
  5. On FlexDCA's menu, click Measure > Waveform Signal Processing (Math).
  6. At the top of the Waveform Signal Processing dialog box, select the User tab and drag a single-input User operator icon into the operator construction area as shown in the following picture.
  7. Click on the user operator to open the User Operator Setup dialog box.
  8. In the dialog box, click Browse and select your XML configuration file, Butterworth.xml. The dialog box is populated with settings from the XML file.
  9. In the Waveform Signal Processing dialog box, drag a Function Color to the User Operator as shown in the following picture. This will display the output waveform of the function.
  10. Click Autoscale and the input and output waveforms should be displayed. Of course, your waveforms will be different from those shown here. The important thing is that both the input and output waveforms are displayed. Notice that the Signals legend identifies the operator's output waveform.

    11. Note

    You may have to wait a few seconds for the waveform to appear and the waring icon ( [image]) to be removed.


Lesson 3. Creating a Butterworth User Application Script

MATLAB
User
Oper

In this MATLAB example, you'll learn how to modify the Butterworth filter operator that you created in Lesson 2 to be a MATLAB standalone application. MATLAB standalone applications can be run using the MATLAB Runtime without have to install MATLAB.

MATLAB Standalone Application

MATLAB Applications are created using the MATLAB Compiler. The resulting *.exe file can be run without having MATLAB installed on the 86100D or PC. However, the MATLAB Runtime must be installed on the 86100D or PC where FlexDCA is installed and the MATLAB Runtime version must be the same version as was targeted when the MATLAB Application was created.

Procedure

  1. Complete Lesson 2. The resulting Butterworth.xml and Butterworth.m files should be in FlexDCA's user functions folder (\Documents\Keysight\FlexDCA\User Functions).
  2. Using a text editor, open the Butterworth.xml file. Change the content of the file's <Script> element from Butterworth.m to algorithm.exe. We will create algorithm.m which will be compiled into algorithm.exe.

    3. Note

    All letters in algorithm.m must be typed in lower case. Naming the function Algorithm.m will break the script.

    Butterworth.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Function xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>algorithm.exe</Script>
    • <Name>Butterworth</Name>
    • <Abbreviation>Butter</Abbreviation>
    • <Comments>Creates a Butterworth filter</Comments>
    • <FunctionType>1 Source</FunctionType>
    • <Control Name = "FilterType">
    • <Enumeration>
    • <Default>low</Default>
    • <Selection>low</Selection>
    • <Selection>high</Selection>
    • </Enumeration>
    • </Control>
    • <Control Name = "FilterOrder">
    • <Integer>
    • <Min>1</Min>
    • <Max>4</Max>
    • <Units>None</Units>
    • <Default>2</Default>
    • </Integer>
    • </Control>
    • <Control Name = "FilterCutoff">
    • <Double>
    • <Min>10e6</Min>
    • <Max>1000e9</Max>
    • <Resolution>1000</Resolution>
    • <Units>Hertz</Units>
    • <Default>7.5e9</Default>
    • </Double>
    • </Control>
    • </Function>
  3. Make a copy of the Butterworth.m script file and rename the copy algorithm.m. The name of a script file for a standalone application must always be algorithm.m.
  4. Open the algorithm.m scipt file in MATLAB. Make the following edits to the script as shown in this listing:
    1. Add the first line in the script as shown in green.
    2. Add the reference InputVars. shown in red before every FlexDCA input variable in the script. Do not forget to add the period character "." between InputVars. and the variable. For example, SrcData becomes InputVars.SrcData.
    3. Add a structure of output variables shown in blue to the end of the script.
    Script algorithm.m with Modifications
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the MATLAB editor!
    function OutputVars = algorithm(InputVars)

% Initialize output variables
FiltData = []; % Output waveform
Gain = 1.0;
XUnits = 'Same';
YUnits = 'Same';
ErrorMsg = '';

% Gather input data
SrcData = InputVars.SrcData; % Input waveform
XOrg = InputVars.XOrg;
XInc = InputVars.XInc;
IsPeriodic = InputVars.IsPeriodic;

% Gather user-defined controls
N = InputVars.FilterOrder;
Fc = InputVars.FilterCutoff;
FType = InputVars.FilterType;

% Constant output variables
FilterDelay = N * 0.112 / Fc;
FilterWidth = N / Fc;

if ~isempty(SrcData)
    % Create the filter
    Wn = 2 * XInc * Fc;
    [B,A] = butter(N, Wn, FType);
    numPts = length(SrcData);
    if IsPeriodic
        % Perform the filtering circularly using ffts.
        fftSrcData = fft(SrcData);
        h = freqz(B, A, numPts, 'whole').';
        FiltData = real(ifft(fftSrcData .* h));

        % Rotate to remove FilterDelay.
        shift = round(FilterDelay / XInc);
        FiltData = circshift(FiltData, [0, -shift]);
    else
        startIndex = ceil(FilterWidth / XInc) + 1;
        if (startIndex > numPts)
            ErrorMsg = 'Too few points. Pipeline eats up entire waveform.';
        else
            % Perform the filtering
            FiltData = filter(B, A, SrcData);

            % Remove filter delay and pipeline
            FiltData = FiltData(startIndex:end);
            leadPipeline = FilterWidth - FilterDelay;
            XOrg = XOrg + leadPipeline;
        end
    end
end

OutputVars = struct(...
    'FiltData', FiltData,...
    'XOrg', XOrg,...
    'XInc', XInc,...
    'Gain', Gain,...
    'FilterWidth', FilterWidth,...
    'FilterDelay', FilterDelay,...
    'XUnits', XUnits,...
    'YUnits', YUnits,...
    'ErrorMsg', ErrorMsg);
end
  5. Create a folder to which you will save the files that will be compiled into your standalone application. The following simplified picture shows a project folder (Application Source Files) created within MATLAB's default project folder. You can give your folder any name that you like. Place the files shown in the picture into your folder. The file are:
    1. Move the algorithm.m scipt file that you created in the previous step.
    2. Copy three additional files that are required when compiling a MATLAB scipt into a MATLAB standalone application:
      • InteropHelper.jar
      • protobuf-java-2.6.1.jar
      • wrapper.m.
      Location of Additional Files to Compile
From the shortcut folder located in \My Documents\Keysight\FlexDCA\User Functions | Directly from the folder \Program Files\Keysight\FlexDCA\Demo\ User Functions\Demo Compiled MATLAB

    Note

    Do not place the Butterworth.xml file into this folder.

  6. Your folder for compiling your script should now have the files shown in the following picture.
  7. In MATLAB's Command Window, run the deploytool command to view the Compiler dialog box.
  8. In the Compiler dialog box, double click Application Compiler to run the compiler.
  9. In the MATLAB Compiler, click the button to add the wrapper.m script from your source folder. Select Runtime downloaded from web as show in this picture. Finally, in the Application information field enter the name for your application. This will be the name given to your .exe file.
  10. In the Files required for your application to run field, click the [image] button and add the algorithm.m, InteropHelper.jar, and protobuf-java-2.6.1.jar files as shown in the following picture.
  11. Save your standalone application project, and click the Compiler's Package button.
  12. After the compile completes, close the MATLAB compiler and open File Explorer. MATLAB has placed the compiled files for the application in the MATLAB\Butterworth\for_testing folder as shown in this picture. The executable file is Butterworth.exe. Remember, that at the start of this lesson you edited the Butterworth.xml file's <Script> element to use the Butterworth.exe file.
  13. Copy the Butterworth.exe file to FlexDCA's user functions folder (\Documents\Keysight\FlexDCA\User Functions).
  14. On each PC or 86100D where you want to run your executable, perform the following steps:
    1. Install FlexDCA
    2. Place the Butterworth.xml and Butterworth.exe files in FlexDCA's user functions folder (\Documents\Keysight\FlexDCA\User Functions).
    3. Install the correct MCR version.
    4. On FlexDCA's menu, click Measure > Waveform Signal Processing (Math).
    5. At the top of the Waveform Signal Processing dialog box, select the User tab and drag a single-input User operator icon into the operator construction area as shown in the following picture.
    6. Click on the user operator to open the User Operator Setup dialog box.
    7. In the dialog box, click Browse and select your XML configuration file, Butterworth.xml which points to the Butterworth.exe file.
    8. In the Waveform Signal Processing dialog box, drag a Function Color to the User Operator as shown in the following picture. This will display the output waveform of the function.

      9. Note

      You may have to wait a few seconds for the waveform to appear and the waring icon ( [image]) to be removed.


MATLAB Requirements

  • For MATLAB scripts (*.m), install MATLAB on the 86100D or PC where FlexDCA is running.
  • MATLAB must have the following tools loaded to complete the lessons that are provided in this help system.
    • MATLAB 8.5
    • MATLAB Compiler 6.0 (include for creating standalone, .exe, applications)
    • Signal Processing Toolbox 7.0
  • For MATLAB Standalone Applications (*.exe), install the MATLAB Compiler Runtime (MCR). The MCR version must match the MATLAB version that was used to compile the MATLAB application. MATLAB Applications are created using the MATLAB Compiler. The resulting *.exe file can be run without having MATLAB installed on the 86100D or PC. However, the MATLAB Runtime must be installed on the 86100D or PC where FlexDCA is installed.


Accessing Variables in MATLAB User-Operator Scripts

Input Variables

When FlexDCA starts a user-operator script, the following variables are placed in the MATLAB workspace:

  • Any variables that you defined with the <Variable> XML element.
  • Any user-defined control variables that you defined with the <Integer>, <Double>, <Enumeration>, <String>, or <File> XML elements.
  • The variables listed in the following table.

Note

Each input variables, except SoftwareVersion, listed in the following table has two forms. The one listed is for a single input waveform or the waveform 1 of a dual-waveform input measurement. If a second input waveform exists, its variable has the digit "2" appended. For example, SrcData becomes SrcData2 for the second waveform.

Input Variables
Variables | Description
SrcData | The input waveform. Values are in volts for electrical signals and Watts for optical signals.
Source The source of the input waveform.
Example: Source = 'Channel 1B'
SourceBw The bandwidth of the input source.
Example: SourceBw = 150000000000.0
XOrg The time of the first x-axis value of the input waveform value of SrcData.
Example: XOrg = 8.785e-11
XInc The spacing of the x-axis input waveform values of SrcData.
Example: XInc = 2.232e-13
XUnits The X units associated with the input waveform. Refer to Valid Measurement Units.
Example: XUnits = 'Second'
YUnits The Y units associated with the input waveform. Refer to Valid Measurement Units.
Example: YUnits = 'Volt'
BitRate The current value of the 'Data Rate' control in the pattern lock tab of the trigger setup dialog. If pattern lock is not turned on, this value may not be correct.
Example: BitRate = 9953280000.0
PatLength The current value of the 'Pattern Length' control in the pattern lock tap of the trigger setup dialog. If pattern lock is not turned on, this value may not be correct.
Example: PatLength = 127
SrcClipped Set to True if the source data was clipped high or low; otherwise set to False.
Example: SrcClipped = True
ClipHigh The maximum value that could be present in the source waveform. If SrcClipped is True, check to see which elements of SrcData are equal to ClipHigh to determine which elements were clipped.
Example: ClipHigh = 0.51057
ClipLow The minimum value that could be present in the source waveform. If SrcClipped is True, check to see which elements of SrcData are equal to ClipLow to determine which elements were clipped.
Example: ClipLow = -0.510869
IsAvgComplete Flag tells if waveform averaging is complete. Set to True if complete, otherwise False if not complete.
Example: IsAvgComplete = True
IsPeriodic Flag tells if waveform is periodic. Set to True if complete, otherwise False if not complete.
Example: IsPeriodic = False
AvgAcqCount The current value of the 'Number of Averages' control in the Averaging tab of the Acquisition dialog if averaging is enabled, otherwise its value is 1.
Example: AvgAcqCount = 1
TdrAmplitude | The current amplitude of the TDR waveform. Available in TDR mode only.
TdrPolarity | The current polarity of the TDR waveform. Available in TDR mode only.
TdrRiseTime | The current rise time of the TDR waveform. Available in TDR mode only.
DielectricConstant | The dielectric constant of the TDR waveform. (If horizontal units are defined in distance instead of time.)
VelocityFactor | The velocity factor of the TDR waveform.(If horizontal units are defined in distance instead of time.)
Markers | Marker information if markers are on source waveform. If a marker is not on, it is not available.
Example: x = Markers(1).Position
Markers = [struct('Name','X1','Source','Channel 1A','Position',5.9853e-10,'Status','Correct')...
struct('Name','X2','Source','Channel 1A','Position',6.4853e-10,'Status','Correct')...
struct('Name','X3','Source','Channel 1A','Position',8.0353e-10,'Status','Correct')...
struct('Name','X4','Source','Channel 1A','Position',8.5603e-10,'Status','Correct')]
SoftwareVersion | The FlexDCA software version that is being run.

Output Variables

This topic lists the variables whose values are returned to FlexDCA when your script completes. The top three variables listed in the table must be set in your script. The remaining variables may be used, if needed.

Output Variables
Variable | Description | Returned
 |  | Required | Optional
FiltData | Output waveform. | ♦ |
XInc | The spacing of the x-axis values of FiltData. | ♦ |
XOrg | The time of the first x-axis value of FiltData. | ♦ |
ErrorMsg | Any generated FlexDCA error message. |  | ♦
FilterDelay | Filter delay. |  | ♦
FilterWidth | Filter width. |  | ♦
Gain | Signal gain of operators that have one input. |  | ♦
Gain2 | Signal gain of operators that have two inputs. |  | ♦
XUnits | The X units associated with the output waveform's x-axis. Refer to Valid Measurement Units. |  | ♦
YUnits | The Y units associated with the output waveform's y-axis. Refer to Valid Measurement Units. |  | ♦


Valid Measurement Units

Valid Measurement Units
Full Name | Abbreviation (if available)
none |
ampere | A
Bit Error Ratio | BER
bits |
b/s |
Cycle | c
dBm |
decibel | dB
division | div
inch | in
Farad | F
feet | ft
gain |
Henry | H
Hertz | Hz
hits |
hour |
meter | m
minute | min
Ohm |
percent | %
points | pts
ratio | ' : 1' Do not include apostophe (') characters as part of the elements contents. The apostophes show that a space character is required before and after the colon (:) character. For example, <Units>' : 1'</Units> is not valid and will cause an error. However, <Units> : 1</Units> is valid. It is easier and more reliable simply to use the full name "ratio".
reflect |
sample | Sa
second | s
Unit Amplitude | UA
Unit Interval | UI
Unknown | U
Volt | V
Watt | W
waveform | wfm


Environment for Python Scripts (Operators)

A simple XML configuration file identifies your operator script. In addition to calling the script, the XML file populates the User Operator Setup dialog box.

Python Support

The version of Python supported for user operators is Python 2.7. Python 3 is not supported. You must modify the PC's PATH environment variable to include the path to the Python 2.7 executable. For example, C:\Anaconda on a PC and C:\Users\dca-admin\Anaconda on an 86100D.

When a user function is run, the following events occur for each data acquisition:

  1. FlexDCA passes the source waveform, standard variables, and your custom variables available to your Python script as a dictionary. In Oscilloscope and TDR modes, the source waveform is a one-dimensional numpy array. In Eye mode, the source database is a two-dimensional numpy array.
  2. FlexDCA executes this script.
  3. The script returns to FlexDCA a number of standard output variables from the Python script, including the output waveform.


Installing Python

Use the following steps to install Python 2.7 on your PC or 86100D and to confirm that Python is correctly installed. You cannot use Python 3.x versions.

  1. Install Python 2.7 on the 86100D or PC where FlexDCA is running. The Anaconda distribution of Python that is downloaded from CONTINUUM Analytics is recommended. If you use another distribution or a different editor, you may need to perform different and additional setup steps.

    2. Python Support

    The version of Python supported for user operators is Python 2.7. Python 3.x is not supported.

  2. Modify the PC's System PATH environment variable to include the path to the Python 2.7 executable. On the PC's Start menu:
    1. Click Computer, System properties, Advanced System Settings.
    2. In the Advanced tab, select Environment Variables and edit the Path under System variables. The string that you add to the PATH variable should look similar to ;C:\Anaconda on a PC. On an 86100D, it should look similar to ;C:\Users\dca-admin\Anaconda

    Use caution when editing the PATH variable. If you are not experienced in editing this variable, ask a computer expert for help.

    Note

    If you install both Python 2.7 and 3.4 and set up an environment to switch between 2.7 and 3.4 using Anaconda's Launcher application, you must still add Python 2.7 to you PC's PATH environment variable. For example, the string that you add may look similar to ;C:\Anaconda3\envs\Python27.

  3. It the Window's Start menu, type cmd and press the Enter key.
  4. In the cmd window, enter python and press return. As shown below, you should see a confirmation that Python 2.7 is installed. Enter quit() and then enter path and confirm that the PATH environment variable is properly set. Close the cmd window.
  5. Using Anaconda's Launcher application, start the script editor, Spyder. In Spyder, enter the following two lines of code. If the script runs without warnings or errors, your environment should be properly configured. This script includes a NumPy import statement. The NumPy library is automatically installed with the Anaconda distribution. NumPy is used by FlexDCA to provide input variables to your script, so even if you don't import NumPy into your scripts you must still have NumPy installed with Python.
    6. import numpy
print "This is a test!"

    Note

    Be aware that if you use a Python editor that was not installed with your Python download, you must configure the editor to work with the Anaconda or other distribution.

  6. Click in the IPython console which should be visible in Spyder. This selects the console for output.
  7. In Spyder's menu, click Run > Run to run the script. If "This is a test!" is printed on the IPython console and no errors concerning numpy are reported, you Python environment should be correctly installed and ready to use.
  8. Now that your Python editor works correctly, try "Lesson 1. Hello World!" to quickly run and test your first user measurement.


Lesson 1. Creating a "Hello World" User Operator Script

Python
User
Oper

This Python example is the equivalent of a typical "Hello World" script. It is the simplest possible example designed to prove that your FlexDCA / Python environment is working correctly and to illustrate all of the basic steps required to create a user operator. After you've been successful with this example, try the Lesson 2. Butterworth a real-world example.

Like all user operator Python scripts, HelloWorld.py consists of the following items:

  • A required algorithm function. Your script can have additional functions, but it must have the algorithm function as the main function.
  • FlexDCA passes a dictionary of input variables (variables), including the input waveform (variable['SrcData']) to the algorithm function.
  • Return a dictionary of measurement results to FlexDCA including the output waveform key:value pair: FiltData" : FiltData.

Procedure

  1. Make sure that you have fullfilled the basic requirements for Python.
  2. Copy the following XML listing into a text editor. Name the file HelloWorld.xml and save it in FlexDCA's user functions folder (\Documents\Keysight\FlexDCA\User Functions).
    3. HelloWorld.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Function xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>HelloWorld.py</Script>
    • <Name>Hello World!</Name>
    • <!-- <Icon>MyPicture.png</Icon> -->
    • <FunctionType>1 Source</FunctionType>
    • </Function>
            The <Icon> element is optional. This element allows you to place a picture on your user operator icon.
    Example without <Icon> element
    Example with <Icon> element
  3. Start Anaconda's Launcher application and then start the Python editor, Spyder. In Spyder, enter the following script. Name your script file HelloWorld.py and save it in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements). Spyder will keep line indentation correct for Python and will help to flag any typing mistakes. Color in the following script identifies:
    • Input waveform, SrcData, that is passed as a key:value pair in the variables dictionary.
    • This is a very simple script that doesn't even filter the waveform. It simply passes the input waveform to the output waveform, FiltData.
    • The Gain variable has been set to 2.0, so that you can more easily see the two waveforms displayed.
    • The print statement that can be used for troubleshooting by writing text to the Show Output dialog box.
    • The algorithm function is required in every Python user operator script. Notice that the algorithm function begins by initializing the nine input variables that are returned to FlexDCA in a dictionary (key:value pairs). The order that you list the key:value pairs is not import, however all key:value pairs must be returned.

    Note

    The algorithm function name must be written in title case. Naming the function Algorithm.m or ALGORITHM, for example, will break the script.

    HelloWorld.py
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the Spyder editor!
    def algorithm(variables):
    FiltData = []
    XOrg = 0.0
    XInc = 0.0
    Gain = 2.0
    FilterWidth = 0.0
    FilterDelay = 0.0
    XUnits = 'Same'
    YUnits = 'Same'
    ErrorMsg = ''

    SrcData = variables['SrcData']
    XOrg = variables['XOrg']
    XInc = variables['XInc']
    print 'Hello World!'
    FiltData = SrcData
    return { "FiltData" : FiltData,
             "XOrg" : XOrg,
             "XInc" : XInc,
             "Gain" : Gain,
             "FilterWidth" : FilterWidth,
             "FilterDelay" : FilterDelay,
             "XUnits" : XUnits,
             "YUnits" : YUnits,
             "ErrorMsg" : ErrorMsg
           }

    Note

    Do not use spaces or hyphens when selecting a filename for your script.

    Note

    Enter the above script exactly as written. Otherwise, the script will fail.

  4. Let's test your script in Spyder before we run it in FlexDCA:
    1. Click in the IPython console to select it.
    2. In Spyder's menu, click Run > Run to run the script.
    3. In the IPython console window shown above, type algorithm({'SrcData':'12345','XOrg':0.0,'XInc':1.1}) and press Enter. The following pictures shows what should be displayed in the window. Notice that "Hello World!" is displayed along with the returned dictionary listing. The order of the dictionary key:value pairs (ErrorMsg, FiltData, FilterDelay, FilterWidth, Gain, XInc, XOrg, XUnits, and YUnits) in the window does not matter.
  5. Place FlexDCA into Oscilloscope mode and display a single waveform.
  6. On FlexDCA's menu, click Measure > Waveform Signal Processing (Math).
  7. At the top of the Waveform Signal Processing dialog box, select the User tab and drag a single-input User operator icon into the operator construction area as shown in the following picture.
  8. Click on the user operator to open the User Operator Setup dialog box.
  9. In the dialog box, click Browse and select your XML configuration file, HelloWorld.xml.
  10. In the Waveform Signal Processing dialog box, drag a Function Color to the User Operator as shown in the following picture. This will display the output waveform of the function.
  11. Click Autoscale and the input and output waveforms should be displayed. Of course, your waveforms will be different from those shown here. The important thing is that both the input and output waveforms are displayed. Notice that the Signals legend identifies the operator's output waveform.
  12. On FlexDCA's menu, click Measure > Waveform Signal Processing (Math) to open the Waveform Signal Processing dialog box if you have closed it.
  13. Click on your operator to open the User Operator Setup dialog box, and click the Show Output button. This button only appears on the dialog box after the measurement has been started.
  14. In the displayed Output dialog box, you should see the output of the print statement in your HelloWorld.py script. One Hello World! is printed each time the operator is run. For this picture, FlexDCA was in Single acquisition mode with the Single button clicked three times. You can use this feature to troubleshoot your scripts.


Lesson 2. Creating a Butterworth User Operator Script

Python
User
Oper

This Python example creates a Butterworth user operator in the FlexDCA / Python environment. Although not required, it is a good practive to give the XML file and script files the same or similar base filename, but using different filename extensions of course! As the number of your measurements grow, you'll appreciate being able to quckly associate the different XML and script files at a glance.

Color has been added to the following example lines of the XML and script code to make them easier to read.

Procedure

  1. Complete Lesson 1, if you have not already done so.
  2. Place FlexDCA into Eye/Mask mode and display an eye diagram.
  3. Copy the following XML listing into a text editor. Save the XML file as Butterworth.xml in FlexDCA's user functions folder (\Documents\Keysight\FlexDCA\User Functions). Later, when this XML file is imported into the User Operator Setup dialog box, it identifies the Butterworth.py script, populates the dialog box, and creates the user operator as shown in these figures. Notice that the XML file defines three user-defined controls that are shown in the dialog box. You can make selections from these controls while your user operator is running.
    4. Butterworth.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Function xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Name>Butterworth</Name>
    • <Abbreviation>Butter</Abbreviation>
    • <Comments>Creates a Butterworth filter</Comments>
    • <Script>Butterworth.py</Script>
    • <FunctionType>1 Source</FunctionType>
    • <Control Name = "FilterType">
    • <Enumeration>
    • <Default>lowpass</Default>
    • <Selection>lowpass</Selection>
    • <Selection>highpass</Selection>
    • </Enumeration>
    • </Control>
    • <Control Name = "FilterOrder">
    • <Integer>
    • <Min>1</Min>
    • <Max>4</Max>
    • <Units>None</Units>
    • <Default>2</Default>
    • </Integer>
    • </Control>
    • <Control Name = "FilterCutoff">
    • <Double>
    • <Min>10e6</Min>
    • <Max>1000e9</Max>
    • <Resolution>1000</Resolution>
    • <Units>Hertz</Units>
    • <Default>7.5e9</Default>
    • </Double>
    • </Control>
      • </Function>

  4. Copy the following script into Anaconda's Python editor, Spyder. Save the script as Butterworth.py in FlexDCA's user operator folder (\Documents\Keysight\FlexDCA\User Functions). Color in the following script identifies:
    • output variables that are initialized.
    • Input variables that are assigned to local function variables.
    • User-defined control variables that are assigned to local function variables.
    • Filtered output waveform that is created.

    Note

    The algorithm function name must be written in title case. Naming the function Algorithm.m or ALGORITHM, for example, will break the script.

    Butterworth.py
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the Spyder editor!
    import math  # Import Python's standard math library.
import numpy as np
from scipy.fftpack import fft, ifft
from scipy.signal import butter, freqz, lfilter

# Argument "variables" is a dictionary from
# FlexDCA that maps from variable name to value.
def algorithm(variables):

    # Initialize the nine variables that are returned to FlexDCA.
    FiltData = []
    XOrg = 0.0
    XInc = 0.0
    Gain = 1.0
    FilterWidth = 0.0
    FilterDelay = 0.0
     XUnits = 'Same'
    YUnits = 'Same'
    ErrorMsg = ''

    # Gather system info from variables input dictionary
    SrcData = variables['SrcData']  # input waveform
    XOrg = variables['XOrg']
    XInc = variables['XInc']
    IsPeriodic = variables['IsPeriodic']
    # Gather custom controls from variables input dictionary
    N = variables['FilterOrder']   # filter order
    Fc = variables['FilterCutoff']   # filter cutoff frequency
    FType = variables['FilterType']   # filter type

    FilterDelay = N * 0.112 / Fc
    FilterWidth = N / Fc

    # create filter
    Wn = 2 * XInc * Fc   # calculate passband (-3 dB point)
    b, a = butter(N, Wn, FType)   # design Butterworth filter

    num_points = len(SrcData)
    if num_points > 0:
        if IsPeriodic:
            # Perform filtering circularly using FFTs
            fft_src_data = fft(SrcData)
            _unused, H = freqz(b, a, num_points, True)
            FiltData = ifft(fft_src_data * H).real

            # Rotate to remove FilterDelay.
            shift = int(round(FilterDelay / XInc))
            FiltData = np.roll(FiltData, -shift)
        else:   # not periodic
            start_index = int(math.ceil(FilterWidth / XInc))
            if start_index >= num_points:
                ErrorMsg = 'Too few points. Pipeline eats up entire waveform.'
            else:
                # Perform filtering
                FiltData = lfilter(b, a, SrcData)

                # Remove filter delay and pipeline
                FiltData = FiltData[start_index:]
                leading_pipeline = FilterWidth - FilterDelay
                XOrg = XOrg + leading_pipeline

    # Return dictionary of results to FlexDCA
    return { "FiltData" : FiltData,  Output waveform
             "XOrg" : XOrg,  # X-axis origin
             "XInc" : XInc,  # X-axis data spacing
             "Gain" : Gain,  # Gain
             "FilterWidth" : FilterWidth, # Width of the filter
             "FilterDelay" : FilterDelay, # Delay of the filter
             "XUnits" : XUnits, # x-axis units
             "YUnits" : YUnits, # y-axis units
             "ErrorMsg" : ErrorMsg  # Error message string
           }
  5. On FlexDCA's menu, click Measure > Waveform Signal Processing (Math).
  6. At the top of the Waveform Signal Processing dialog box, select the User tab and drag a single-input User operator icon into the operator construction area as shown in the following picture.
  7. Click on the user operator to open the User Operator Setup dialog box.
  8. In the dialog box, click Browse and select your XML configuration file, Butterworth.xml.
  9. In the Waveform Signal Processing dialog box, drag a Function Color to the User Operator as shown in the following picture.
  10. Click Autoscale and the input and output waveforms should be displayed.


Python Requirements

  • Requires Python version 2.7. Python version 3.x are not supported.
  • All Python scripts must begin with the algorithm function with is described in the lessons.
  • It is recommended that the Anaconda distribution of Python be downloaded and installed from CONTINUUM Analytics.


Troubleshooting Python scripts

You can add print statements to your Python scripts as a troubleshooting aid. The ouput of the print statement is written to the User Opterator Output dialog box as shown in the following picture. Each time that the script is executed, which is once per waveform acquisition, the print statements are executed. It is often helpful to set FlexDCA's data acquisition to Single mode and then click the Single button to control the output.

The following script was used to print the values of two local variables within the script. The above picture represent the output of one waveform acquisition.

OperatorTest.py
def algorithm(variables):
    …
    …
    …
    N = variables['FilterOrder']   # filter order
    Fc = variables['FilterCutoff']   # filter cutoff frequency
    FType = variables['FilterType']   # filter type
    FilterDelay = N * 0.112 / Fc
    FilterWidth = N / Fc
    # Write variables to Show Output
    print 'FilterDelay: ', FilterDelay
    print 'FilterWidth: ', FilterWidth
    …
    …

To view the output

  1. Add print statements to your script and create your user operator.
  2. On FlexDCA's menu, click Measure > Waveform Signal Processing (Math) to open the Waveform Signal Processing dialog box if you have closed it.
  3. Click on your operator to open the User Operator Setup dialog box, and click the Show Output button. This button only appears on the dialog box after the operator has been started.
  4. Click the Show Output button as seen in the following picture.
  5. The output of the print statements are shown the dialog box.


Accessing Variables in Python User-Operator Scripts

Input Variables

When FlexDCA starts a user-operator script, the following variables are passed to the script as key:value pairs in a dictionary. Any variables that you defined with the <Variable> XML element are also passed to the script as well as any user-defined control variables that you defined with the <Integer>, <Double>, <Enumeration>, <String>, or <File> XML elements. For example, your script will start with the function definition shown below. The input variables are passes in the variables dictionary. In the second line, the function uses the SrcData dictionary key to assign the value which is the input waveform to the SrcData variable.

def algorithm(variables):
    SrcData = variables['SrcData']
    …
    …

Note

Each input variables, except SoftwareVersion, listed in the following table has two forms. The one listed is for a single input waveform or the waveform 1 of a dual-waveform input measurement. If a second input waveform exists, its variable has the digit "2" appended. For example, SrcData becomes SrcData2 for the second waveform.

>
Input Variables
Dictionary keys | Type | Description
SrcData numpy.ndarray The input waveform. Values are in volts for electrical signals and Watts for optical signals.
Example key: value pair:
'SrcData': array([-2.24755, -0.246670, -0.251945, …, 0.24080, 0.24792, 0.2524])
Source string The source of the input waveform.
Example key: value pair: 'Source': 'Channel 1B'
SourceBw float The bandwidth of the input source.
Example key: value pair: 'SourceBw': 150000000000.0
XOrg float The time of the first x-axis value of the input waveform value of SrcData.
Example key: value pair: 'XOrg': 8.785e-11
XInc float The spacing of the x-axis input waveform values of SrcData.
Example key: value pair: 'XInc': 2.232e-13
XUnits string The X units associated with the input waveform. Refer to Valid Measurement Units.
Example key: value pair: 'XUnits': 'Second'
YUnits string The Y units associated with the input waveform. Refer to Valid Measurement Units.
Example key: value pair: 'YUnits': 'Volt'
BitRate float The current value of the 'Data Rate' control in the pattern lock tab of the trigger setup dialog. If pattern lock is not turned on, this value may not be correct.
Example key: value pair: 'BitRate': 9953280000.0
PatLength integer The current value of the 'Pattern Length' control in the pattern lock tap of the trigger setup dialog. If pattern lock is not turned on, this value may not be correct.
Example key: value pair: 'PatLength': 127
SrcClipped bolean Set to True if the source data was clipped high or low; otherwise set to False.
Example key: value pair: 'SrcClipped': True
ClipHigh float The maximum value that could be present in the source waveform. If SrcClipped is True, check to see which elements of SrcData are equal to ClipHigh to determine which elements were clipped.
Example key: value pair: 'ClipHigh': 0.51057
ClipLow float The minimum value that could be present in the source waveform. If SrcClipped is True, check to see which elements of SrcData are equal to ClipLow to determine which elements were clipped.
Example key: value pair: 'ClipLow': -0.510869
IsAvgComplete bolean Flag tells if waveform averaging is complete. Set to True if complete, otherwise False if not complete.
Example key: value pair: 'IsAvgComplete': True
IsPeriodic bolean Flag tells if waveform is periodic. Set to True if complete, otherwise False if not complete.
Example key: value pair: 'IsPeriodic': False
AvgAcqCount long The current value of the 'Number of Averages' control in the Averaging tab of the Acquistion dialog if averaging is enabled, otherwise its value is 1. The value is an unsigned long integer in Python 2.
Example key: value pair: 'AvgAcqCount': 1L
Markers | list of dictionaries | Marker information if markers are on source waveform. If a marker is not on, it is not included in the list.
Example key: value pair:
'Markers': [
{'Status': 'Correct','Source': 'Channel 1B','Name': 'X1,'Position': 1.01033e-10},
{'Status': 'Correct','Source': 'Channel 1B','Name': 'X2,'Position': 1.28445e-10},
{'Status': 'Correct','Source': 'Channel 1B','Name': 'X3,'Position': 1.50625e-10},
{'Status': 'Correct','Source': 'Channel 1B','Name': 'X4,'Position': 1.78664e-10}]
TdrAmplitude | float | The current amplitude of the TDR waveform.
TdrPolarity | string | The current polarity of the TDR waveform.
TdrRiseTime | float | The current rise time of the TDR waveform.
DielectricConstant | float | The dielectric constant of the TDR waveform. (If horizontal units are defined in distance instead of time.)
VelocityFactor | float | The velocity factor of the TDR waveform.(If horizontal units are defined in distance instead of time.)
SoftwareVersion | string | The FlexDCA software version that is being run.

Output Variables

This topic lists the variables whose values are returned to FlexDCA when your script completes. The top three variables listed in the table must be set in your script. The remaining variables may be used, if needed.

Variables Output From Script
Variable | Type | Description
Variables that must be returned by your script
FiltData | list | Output waveform.
XInc | float | The spacing of the x-axis values of FiltData.
XOrg | float | The time of the first x-axis value of FiltData.
Optional variables that can be returned by your script
ErrorMsg | string | Any generated FlexDCA error message.
FilterDelay | float | Filter delay.
FilterWidth | float | Filter width.
Gain | float | Signal gain of operators that have one input.
Gain2 | float | Signal gain of operators that have two inputs.
XUnits | string | The X units associated with the output waveform's x-axis. Refer to Valid Measurement Units.
YUnits | string | The Y units associated with the output waveform's y-axis. Refer to Valid Measurement Units.


User Operator Configuration XML File

To create an XML file for defining a user operators, use an ASCII editor, such as Notepad++. The following "clickable" list shows all valid XML elements. Be aware that XML is case sensitive. All content in the XML file must be enclosed by an element. Each element must begin with an opening tag and end with a closing tag. Opening tags are enclosed in < > characters, for example, <Name>. Closing tags are enclosed in </ > characters, for example </Name>. The root element is <Function>, and it is a required element. The file ends with the </Function> closing tag. The <Script> element identifies your script. Some of these elements are the same as those used in defining user measurements. Line indentation indicates element hierarchy, but is not required in your file. The indentation shows that the <Control> element is the child of the <Function> element and the parent of the <Integer> element. In the following list, click on the elements to learn about their use. The only elements that are required to create a valid file are <Function> and <Script>. All other elements are optional.

Click on these elements!

  • <Function> (required element)
  • <Name>content</Name>
  • <Abbreviation>content</Abbreviation>
  • <Comments>content</Comments>
  • <Script>content</Script> (required element)
  • <Icon>content</Icon>
  • <FunctionType>content</FunctionType>
  • <Variable attribute attribute />
  • <Control attribute >
  • <Integer>
  • <Min>content</Min>
  • <Max>content</Max>
  • <Units>content</Units>
  • <Default>content</Default>
  • </Integer>
  • </Control>
  • <Control attribute >
  • <Double>
  • <Min>content</Min>
  • <Max>content</Max>
  • <Resolution>content</Resolution>
  • <Units>content</Units>
  • <Default>content</Default>
  • </Double>
  • </Control>
  • <Control attribute >
  • <Enumeration>
  • <Default>content</Default>
  • <Selection>content</Selection>
  • </Enumeration>
  • </Control>
  • <Control attribute >
  • <String>
  • <Default>content</Default>
  • </String>
  • </Control>
  • <Control attribute >
  • <File>
  • </File>
  • </Control>
  • <Function>

XML Example File

  • <Function>
  • <Name>Eye Meas Filt</Name> <-- Labels measurement button. -->
  • <Abbreviation>EyeFilt</Abbreviation> <-- Labels result in measurement table. -->
  • <Comments>Filter with derating.</Comments> <-- Shown in user measurement setup dialog box. -->
  • <Script>Eye Meas Filt.m</Script> <-- File name of Matlab script without extension. -->
  • <Icon>EyeMeasBtn.png</Icon>
  • <FunctionType>2</FunctionType>
  • <Variable Name="Frequency" Value="10.125e9" />
  • <Control Name = "Selections">
  • <Enumeration>
  • <Default>Medium</Default>
  • <Selection>High</Selection>
  • <Selection>Medium</Selection>
  • <Selection>Low</Selection>
  • </Enumeration>
  • </Control>
  • </Function>

Comments

You can add comments to your XML files using the <!-- and --> delimiters as shown here. Comments can be on their own line, at the end of a line, or extend over several lines.

<!-- This is my comment! -->


<Abbreviation> Element

Use this element to specify an shortened user operator name to display on FlexDCA's measurement results table. The abbreviated name string is limited in length to 15 characters. If this element is missing in the XML file, the default abbreviation is the name specified by the <Name> element.

  • XML file elements

Parent Elements

  • <Function>

Child Elements

None

Attributes

None

Example

  • <Function>
  • <Name>3rd Order Fltr</Name>
  • <Abbreviation>3rdFltr</Abbreviation>
  • …
  • …
  • </Function>


<Comments> Element

Use this element to write a comment on the User Opterator Setup dialog box. The comment is typically used to describe the purpose of the measurement and is limited in length to 512 characters. To include line breaks, simply press the keyboard's Enter key as you would when typing in a word processor. For example:

  • <Comments>Before starting the measurement:
  • - Use ESD precautions!
  • - Use only approved cables.
  • - Warm up the DUT.
  • </Comments>
  • XML file elements

Parent Elements

  • <Function>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Comments>Before starting the measurement:
  • - Use ESD precautions!
  • - Use only approved cables.
  • - Warm up the DUT.
  • </Comments>
  • …
  • </Function>


<Control> Element

This element creates different types of user-defined controls in the User Operator Setup dialog box. With these controls, you can enter integers, doubles, enumerators, or strings that are passed to the script. Up to four controls can be defined in an XML file. Each control can be of any of the four types. The <Control> element is optional.

Note

Do not use spaces or hyphens when naming your user-defined controls.

  • <Control Name = "FilterType">
  • <Enumeration>
  • <Default>lowpass</Default>
  • <Selection>highpass</Selection>
  • <Selection>low</Selection>
  • <Selection>bandpass</Selection>
  • </Enumeration>
  • </Control>
  • XML file elements

Parent Elements

  • <Function>

Child Elements

  • <Integer>
  • <Double>
  • <Enumeration>
  • <String>
  • <File>

Attributes

Name
A string that declares the name of a user-defined control. The name is displayed in the User Measurement dialog box.

Example

  • <Function>
  • …
  • <Control name="N">
  • <Integer>
  • …
  • </Integer>
  • </Control>
  • <Control name="Fc">
  • <Double>
  • …
  • </Double>
  • </Control>
  • <Control name="FType">
  • <Enumeration>
  • …
  • </Enumeration>
  • </Control>
  • <Control name="String">
  • <String>
  • …
  • </String>
  • </Control>
  • <Control name="File">
  • <File>
  • </File>
  • </Control>
  • </Function>


<Default> Element

The <Default> element is used to pre-populate a User-Defined Control field in the User Operator Setup dialog box. A default value can be specified for <Integer>, <Double>, <Enumeration>, and <String> fields.

  • XML file elements

Parent Elements

  • <Integer>
  • <Double>
  • <Enumeration>
  • <String>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Fc">
  • <Double>
  • <Min>10e6</Min>
  • <Max>1000e9</Max>
  • <Resolution>1000</Resolution>
  • <Units>Hertz</Units>
  • <Default>7.5e9</Default>
  • </Double>
  • …
  • </Function>


<Double> Element

The <Double> element adds a User-Defined Control to the User Operator Setup dialog box. The control represents a floating-point number. In order for your script to access this setting, the "Name" attribute in the parent <Control> element must be the name of a float script variable. Use the <Min> and <Max> child elements to set limits to the setting. The <Units> child element specifies the units of measurement to show in the control. Although the units are not available or sent to the script, the units serve a reminder of the type of data represented by the control. The <Default> element selects a starting value to populate the setting.

The <Resolution> child element sets a resolution for the setting based on the unit of measurement (without multiplier). For example, in the following picture a "1000" resolution specifies that the value of Fc can be set to a minimum resolution of 1000 Hz. Therefore, using keyboard entry 7.500000 GHz can be changed to 7.500001 GHz. A setting of 1000000 would have limited the resolution to 1 MHz. <Resolution> does not affect the step sizes of the step buttons.

  • <Control Name = "Fc">
  • <Double>
  • <Min>10e6</Min>
  • <Max>1000e9</Max>
  • <Resolution>1000</Resolution>
  • <Units>Hertz</Units>
  • <Default>7.5e9</Default>
  • </Double>
  • </Control>
  • XML file elements

Parent Elements

  • <Control>

Child Elements

  • <Min>
  • <Max>
  • <Resolution>
  • <Units>
  • <Default>

Attributes

None.

Example

  • <Function>
  • …
  • <Control Name = "Fc">
  • <Double>
  • <Min>10e6</Min>
  • <Max>1000e9</Max>
  • <Resolution>1000</Resolution>
  • <Units>Hertz</Units>
  • <Default>7.5e9</Default>
  • </Double>
  • …
  • </Function>


<Enumeration> Element

The <Enumeration> element adds a User-Defined Control to the User Operator Setup dialog box. The type of control is an drop-down list. You can select one item from many selections as shown in the picture below. Selections in the drop-down list are arranged in the order of the <Selection> child elements in the XML file. A maximum of 10 selections can be defined. In order for your script to access this setting, the "Name" attribute in the parent <Control> element must be the name of a string script variable.

Note

Do not use spaces or hyphens when naming your user-defined controls.

  • <Control Name = "FilterType">
  • <Enumeration>
  • <Default>lowpass</Default>
  • <Selection>highpass</Selection>
  • <Selection>low</Selection>
  • <Selection>bandpass</Selection>
  • </Enumeration>
  • </Control>
  • XML file elements

Parent Elements

  • <Control>

Child Elements

  • <Default>
  • <Selection>

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Selections">
  • <Enumeration>
  • <Default>Medium</Default>
  • <Selection>High</Selection>
  • <Selection>Medium</Selection>
  • <Selection>Low</Selection>
  • </Enumeration>
  • </Control>
  • …
  • </Function>


<File> Element

The <File> element adds a User-Defined Control to the User Operator Setup dialog box. The control allows the user to browse and load a file. The file name and path is passed to the script.

  • <Control Name = "Test File">
  • <File></File>
  • </Control>
  • XML file elements

Parent Elements

  • <Control>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Text">
  • <File></File>
  • </Control>
  • </Function>


<Function> Element

This is the root element of user function XML files. This element is required and has no options. It declares that the XML file defines a user function and not a user measurement. Always place the <Function> element directly after the XML declaration line as shown in example below.

  • XML file elements

Parent Elements

None

Child Elements

All other elements are descendent elements.

Attributes

The attributes for this element should never be changed and should be copied from the example in this topic.

xmlns:xsi
"http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation
"Functions.xsd"

Example

  • <Function>
  • …
  • …
  • …
  • </Function>


<FunctionType> Element

Use this optional element to enter a digit (1 or 2) that specifies if the function script requires one or two source waveforms. If additional characters are added past the first character, they are ignored. Therefore, you can add additional characters to help you remember what these numbers represent. For example, you can specify strings like "1 eye", "2 waveforms", or "1 source". In the following line, only the character ("2") is read.

  • <FunctionType>2 signals</FunctionType>

In the User Operator Setup dialog box, the Type setting listing always labels the number as "Source". If this element is missing from the XML file, the user measurement defaults to using one source waveform.

  • <FunctionType>2 Source</FunctionType>
  • XML file elements

Parent Elements

  • <Function>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <FunctionType>2</FunctionType>
  • …
  • </Function>


<Icon> Element

When a user operator is created, the operator's symbol is placed on the Waveform Signal Processing dialog box. The optional <Icon> element allows you to display (overlay) a custom image on the button. This picture shows a custom icon.

  • <Icon>icons/EyeMeasBtn.png</Icon>

To create an icon, use a camera or drawing application and create a png, bmp, or jpg graphic. Although FlexDCA will scale the image, it is recommended that your graphic be 120 pixels wide by 80 pixels high (1.5 width to height ratio). The minimum size should be 60 pixels by 40 pixels. The 120 x 80 pixel high will ensure good quality icons for all display situations.

The default folder for icons is the same User Measurements folder where the XML file is placed. If you choose another folder, specify the path and name between the opening and closing elements. If, for example, you placed your graphic file (EyeMeasBtn.png) in a sub-folder called icons, the path-name specifier would be: <Icon>icons/EyeMeasBtn.png</Icon>. When entering the path you can use either the "/" or "\" character.

  • XML file elements

Parent Elements

  • <Function>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Icon>EyeMeasBtn.png</Icon>
  • …
  • </Function>


<Integer> Element

The <Integer> element adds a User-Defined Control to the User Operator Setup dialog box. Although the control represents an integer number, the number is converted to a float before it is sent to the script. In order for your script to access this setting, the "Name" attribute in the parent <Control> element must be the name of a script variable. Use the <Min> and <Max> child elements to set limits to the setting. The <Units> child element specifies the units of measurement to show in the control. Although the units are not available or sent to the script, the units serve a reminder of the type of data represented by the control. The <Default> element selects a starting value to populate the setting.

  • <Control Name = "N">
  • <Integer>
  • <Default>2</Default>
  • <Max>8</Max>
  • <Min>1</Min>
  • <Units>ratio</Units>
  • </Integer>
  • </Control>
  • XML file elements

Parent Elements

  • <Control>

Child Elements

  • <Min>
  • <Max>
  • <Units>
  • <Default>

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "N">
  • <Integer>
  • <Min>1</Min>
  • <Max>8</Max>
  • <Units>ratio</Units>
  • <Default>2</Default>
  • </Integer>
  • …
  • </Function>


<Max> Element

The <Max> element establishes the maximum value that can be entered into a <Integer> or <Double> User-Defined Control data-entry field. Use the <Min> element to establish the minimum value.

  • XML file elements

Parent Elements

  • <Integer>
  • <Double>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Fc">
  • <Double>
  • <Min>10e6</Min>
  • <Max>1000e9</Max>
  • <Resolution>1000</Resolution>
  • <Units>Hertz</Units>
  • <Default>7.5e9</Default>
  • </Double>
  • …
  • </Function>


<Min> Element

The <Min> element establishes the minimum value that can be entered into a <Integer> or <Double> User-Defined Control data-entry field. Use the <Max> element to establish the maximum value.

  • XML file elements

Parent Elements

  • <Integer>
  • <Double>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Fc">
  • <Double>
  • <Min>10e6</Min>
  • <Max>1000e9</Max>
  • <Resolution>1000</Resolution>
  • <Units>Hertz</Units>
  • <Default>7.5e9</Default>
  • </Double>
  • …
  • </Function>


<Name> Element

When a user operator is created, the operator's symbol is placed on the Waveform Signal Processing dialog box. The <Name> element writes a name on the displayed operator as shown in the following picture. The operator's name also appears on the User Opterator Setup dialog box. The name string is limited in length to 15 characters. Use the <Abbreviation> element to enter a shortened measurement name that appears on FlexDCA's measurement results table. Use the optional <Icon> element to place a custom picture on the button. If the <Name> element is missing from the XML file, the default name is the first 15 characters of the script file's name.

  • <Name>Butterworth</Name>
  • XML file elements

Parent Elements

  • <Function>

Child Elements

None

Attributes

None

Example

  • <Function>
  • <Name>3rd Order Fltr</Name>
  • <Abbreviation>3rdFltr</Abbreviation>
  • …
  • …
  • </Function>


<Resolution> Element

The <Resolution> element sets a resolution for a <Double> User-Defined Control to the User Operator Setup dialog box. The resolution is based on the unit of measurement (without multiplier). For example, in the following picture a "1000" resolution specifies that the value of Fc can be set to a minimum resolution of 1000 Hz. Therefore, using keyboard entry 7.500000 GHz can be changed to 7.500001 GHz. A setting of 1000000 would have limited the resolution to 1 MHz. <Resolution> does not affect the step sizes of the step buttons.

  • XML file elements

Parent Elements

  • <Double>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Fc">
  • <Double>
  • <Min>10e6</Min>
  • <Max>1000e9</Max>
  • <Resolution>1000</Resolution>
  • <Units>Hertz</Units>
  • <Default>7.5e9</Default>
  • </Double>
  • …
  • </Function>


<Script> Element

Use this element to specify the Matlab or Python script to run. A path is required if the script is located in a folder other than the default \User Measurements folder. The script can be based on any of the following file types that you create:

  • MATLAB scripts (*.m)
  • MATLAB Standalone Application (*.exe)
  • Python scripts (*.py)

Note

Do not use spaces or hyphens when selecting a filename for your script.

  • XML file elements

Parent Elements

<Function>

Child Elements

None

Attributes

  • <Function>

Example

  • <Function>
  • …
  • <Script>EyeMeasurement.m</Script>
  • …
  • </Function>


<Selection> Element

The <Selection> element adds an entry to the drop-down list of an <Enumeration> User-Defined Control. A maximum of 10 selections can be defined.

  • XML file elements

Parent Elements

  • <Enumeration>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Selections">
  • <Enumeration>
  • <Default>Medium</Default>
  • <Selection>High</Selection>
  • <Selection>Medium</Selection>
  • <Selection>Low</Selection>
  • </Enumeration>
  • </Control>
  • …
  • </Function>


<String> Element

The <String> element adds a User-Defined Control to the User Operator Setup dialog box. The control is a blank string-entry field, unless you include the optional <Default> element which allows you to pre-populate the string. The string can be up to 128 characters. Escape characters are not allowed. In order for your script to access this setting, the "Name" attribute in the parent <Control> element must be the name of a script string variable.

  • <Control Name = "Text">
  • <String>
  • <Default>Enter the DUT ID here!</Default>
  • </String>
  • </Control>
  • XML file elements

Parent Elements

  • <Control>

Child Elements

  • <Default>

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Text">
  • <String>
  • <Default>Enter the DUT ID here!</Default>
  • </String>
  • …
  • </Function>


<Units> Element

The <Units> element specifies the units of measurement for the selected <Integer> or <Double> User-Defined Control. The following table lists all of the valid measurement units with an abbreviated version, if supported. All unit names in the table are not case sensitive. For example, you can enter Ampere, ampere, or aMpErE. The units of measurement are show in the control field along with any multiplier. For example, 9.953 GHz. Although the units are not available or sent to the script, the units serve a reminder of the type of data entered in the control field.

Valid Measurement Units
Full Name | Abbreviation (if available)
none |
ampere | A
Bit Error Ratio | BER
bits |
b/s |
Cycle | c
dBm |
decibel | dB
division | div
inch | in
Farad | F
feet | ft
gain |
Henry | H
Hertz | Hz
hits | hits
hour |
meter | m
minute | min
Ohm |
percent | %
points | pts
ratio | ' : 1' Do not include apostophe (') characters as part of the elements contents. The apostophes show that a space character is required before and after the colon (:) character. For example, <Units>' : 1'</Units> is not valid and will cause an error. However, <Units> : 1</Units> is valid. It is easier and more reliable simply to use the full name "ratio".
reflect |
sample | Sa
second | s
Unit Amplitude | UA
Unit Interval | UI
Unknown | U
Volt | V
Watt | W
waveform | wfm
  • XML file elements

Parent Elements

  • <Integer>
  • <Double>

Child Elements

None

Attributes

None

Example

  • <Function>
  • …
  • <Control Name = "Fc">
  • <Double>
  • <Min>10e6</Min>
  • <Max>1000e9</Max>
  • <Resolution>1000</Resolution>
  • <Units>Hertz</Units>
  • <Default>7.5e9</Default>
  • </Double>
  • </Control>
  • …
  • </Function>


<Variable> Element

This element allows you to set a variable that is in the script. To pass a variable to the script, include both the Name attribute and the associated Value attribute. If multiple variables are needed, use a separate <Variable> element to define each variable. The variable name with value are shown in the User Measurement Setup dialog box. Any space character in the Name attribute is removed. When the XML file is loaded, FlexDCA does not confirm that the variable is in the script file.

Note

Do not use spaces or hyphens when naming your variables.

  • <Variable Name = "Frequency" Value = "10.125E9"/>

<Variable> is an empty element. It does not accept any content between the opening and closing tags. All information is included in the element's attributes. Because this is an empty element, you can write it using a closing tag:

  • <Variable Name = "Frequency" Value = "10.125E9"></Variable> <!-- Opening and closing tags -->

or with a self-closing opening tag:

  • <Variable Name = "Frequency" Value = "10.125E9" /> <!-- Self closing tag -->

Notice in the above example that the opening element must end with the "/>" characters instead of the usual ">" character. The following line will result in an error:

  • <Variable Name = "Frequency" Value = "10.125E9" > <!-- Illegal. Missing "/" character. No closing tag -->
  • XML file elements

Parent Elements

  • <Function>

Child Elements

None

Attributes

Enclose attributes values in double quotes.

Name
The name of a script variable that will be passed to the script when the measurement is run.
Value
The value of the variable given in the Name attribute.

Example

  • <Function>
  • …
  • <Variable Name="FType" Value="low" />
  • <Variable Name="Frequency" Value="10.125e9" />
  • <Variable Name="N" Value="42"></Variable>
  • …
  • </Function>


86100D Specifications

Specifications

  • Home
  • View Signal
  • Calibration
  • Hardware
  • Simulated
  • Specifications
  • Safety
  • What's New

Introduction

This section lists the specifications for the 86100D mainframe and modules.

  • Module Specifications
  • Regulatory Information and Instrument Markings
  • Environmental
  • Computer System and Storage
  • Display
  • Vertical (Channel)
  • Horizontal (Timebase)
  • Standard (Direct) Trigger (Option STR)
  • Enhanced Trigger (Option ETR)
  • Internal Precision Timebase (Option PTB)
  • Input and Output
  • Option 202 Enhanced Impedance and S-Parameter Software

Note

All specifications describe warranted performance over the temperature range +10°C to + 40°C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while self calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

86100D Options

Product Options
Option | Description | Licensed Software
86100D-061 | MATLAB. Basic Digital Analysis Package |
86100D-062 | MATLAB. Standard Digital Analysis Package |
86100D-090 | Removable hard drive |
86100D-092 | Standard instrument non-removable hard drive |
86100D-200 | Enhanced Jitter Analysis Software | ♦
86100D-201 | Advanced Waveform Analysis Software | ♦
86100D-202 | Enhanced Impedance and S-Parameter Software | ♦
86100D-300 | Advanced Amplitude Analysis/RIN/Q-Factor Software | ♦
86100D-401 | Advanced Eye Analysis Software | ♦
86100D-500 | Productivity Package | ♦
86100D-9FP | PAM-N Analysis Software, Fixed Perpetual License | ♦
86100DT-9TP | PAM-N Analysis Software, Transportable Perpetual License | ♦
86100D-AFP | One-slot filler panel (86101-60017). Width of standard module, for example 86112A. |
86100D-AX4 | Rack Mount Flange Kit |
86100D-AXE | Rack Mount Flange Kit with Handles |
86100D-ETR | Enhanced Trigger. 13 GHz Bandwidth, Pattern and Module Trigger |
86100D-GPI | GPIB Card Interface |
86100D-GPN | No GPIB Card Interface |
86100D-PTB | Internal Precision Timebase |
86100D-STR | Standard Trigger. 3.2 GHz Bandwidth |
86100D-SIM | Infimiium-DCA Waveform Transformation Toolset | ♦
86100D-UK6 | Commercial Cal Certificate with Test Data |


Enhanced Impedance and S-Parameter Software

The specifications in this topic apply to the Enhanced Impedance and S-Parameter software, which is available as Option 202.

Test Conditions

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in italics.

Note

Factory Calibration Cycle -For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

  • Mainframe and module have been turned on for at least one hour and have been calibrated.
  • TDR calibration has been performed using N1024A/B TDR Calibration Kit.
  • Internal measurements use 54754A as stimulus and either 54754A or 86112A as receiver.
  • External measurements use 54754A and Picosecond Pulse Labs Accelerator as stimulus and 86118A as receiver.
  • All characteristics apply to single-ended and differential.
  • Derived from measurements of wide range of devices compared to vector network analyzer measurements.
  • Averages of 256 except as noted in dynamic range.

Phase Uncertainty

  • Longer equipment warm-up times and careful calibration provide the best phase performance. Perform module and TDR calibrations again if temperatures change.
  • Phase uncertainty is the sum of the uncertainty from the desired graph plus the two additional components which are estimated below.
  • Sampling points. S-parameters are determined from 4096 sampling points over the time interval, which is time per division multiplied by ten divisions. The reference plane is determined to nearest sampling point with uncertainty given by this equation:

Where, uncertainty to the nearest sampling point, time per division is in seconds, and f is the frequency in Hertz.

  • Time base drift with temperature. The amount of drift can be observed by placing the calibration short at the reference plane and reading the amount of time difference in picoseconds. The phase uncertainty is given by this equation:

Where uncertainty is a result of temperature drift, time diff is in seconds, and f is the frequency in Hertz.

Frequency Range (Single-Ended and Differential)

Frequency Range
Stimulus | Frequency Range
54754A: | DC to 16 GHz (characteristic)
Other 0.35 / incident step speed: | DC to 16 GHz (characteristic)

Return Loss (Single-Ended and Differential)

Amplitude Uncertainty (Characteristic). Using TDR calibration and 256 averages.

Phase Uncertainty (Characteristic). Phase data is viewable in exported Touchstone files.

Insertion Loss (Single-Ended and Differential)

Amplitude Uncertainty (Characteristic). Using TDT calibration and 256 averages.

Phase Uncertainty (Characteristic). Phase data is viewable in exported Touchstone files.

S-Parameter Dynamic Range (Single-Ended and Differential)

S11 Dynamic Range (Characteristic). At typical amplitude accuracy after TDR calibration.

S21 Dynamic Range (Characteristic). At typical amplitude accuracy after TDT calibration.

S-Parameter Dynamic Range (External Stimulus, Single-Ended and Differential)

S11 Dynamic Range (Characteristic). At typical amplitude accuracy after TDR calibration.

S21 Dynamic Range (Characteristic). At typical amplitude accuracy after TDT calibration.


Computer System and Storage Specifications

Note

N1010A FlexDCA Remote Access is compatible with Windows XP and Windows 7. The N1010A is not compatible with Windows 8.
The N1010A is also compatible with the Keysight IO Library Suite version 16.2 but not version 16.3.

Item | Description
CPU
Serial Prefix MY5415 and Above |
Serial Prefix Below MY5415 | Intel Core 2 Duo 3.06 GHz
Operating System
Serial Prefix MY5415 and Above | Microsoft Windows Embedded Standard 7 (WES7 64 bit)
Serial Prefix Below MY5415 | Microsoft Windows XP Pro
Mass Storage | 80 GB internal SSD hard disk
File Types/Management
Setup Files | .setx
Waveforms | .wfmx (internal), .txt (verbose), .txt (Y values)
Pattern Waveforms | .wfmx (internal), .csv
Jitter Data | .jdx (internal), .csv
Color grade-Gray scale files | .cgsx
Mask Files | .mskx, .msk (opening only)
Images | .png, .bmp, .gif, .jpg, .tif
SCPI Recorder scripts | .scpi
Network Definitions (Option N1010A-SIM) | .tf2, .tf4, .s2p, .s4p, .cit
Waveform Storage | 1 Color Grade-Gray Scale memory 4 nonvolatile waveform memories Waveform memory setup (for each channel) (vertical scale, offset, horizontal scale, position)
Printer
Options | Waveform only Include instrument setup information Monochrome Invert waveform background color
Add Printer | Local Network


Display Specifications

Item | Description
Display Area | 210.4 mm x 157.8 mm 10.4 inch diagolnal color active matrix LCD module incorporating amorphous silicon TFTs.
Entire Display Resolution | 1024 pixels horizontally x 768 pixels vertically
Waveform Colors | Select from over 16 colors. User may change color assignment of all traces (channels, waveform memory, and signal processing functions).
Persistence Modes | Gray scale, color grade, infinite, variable
Waveform Overlap | When two waveforms overlap, a third color distinguishes the overlap area (classic DCA-J interface only).
Connect-the-dots | On/Off selectable
Persistence | Minimum, variable (100 ms to 40s), infinite
Graticule | On/Off
Grid Intensity | 0 to 100%
Backlight Saver | 2 to 8 hours, enable option
Dialog Boxes | Opaque or transparent
Supports External Display | Supports multiple display configurations via Windows 7 display utility.


Environmental Specifications

This instrument meets the Keysight Technologies environmental specifications for general-purpose instruments with exceptions as described for temperature. Contact you local field engineer for complete details.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Item | Description
Use | indoor
Temperature
Operating | 10°C to +40°C (50°F to +104°F)
Non-operating | –40°C to +70°C (–40°F to +158°F)
Altitude (Operating) | Up to 4,600 meters (15,000 ft)
Maximum relative humidity | 80% for temperatures up to 31°C decreasing linearly to 50% relative humidity at 40°C
Line Power | 100/120Vac 50/60/400 Hz
 | 220/240Vac 50/60 Hz
 | 700 Watts Maximum
 | The products can operate with mains supply voltage fluctuations up to ±10% of the nominal voltage.
Weight
Mainframe without modules (characteristic) | 20.5 kg (43 lb)
Module (characteristic) | 1.2 kg (2.6 lb)
Dimensions (excluding handle)
Without front connectors and rear feet | 221 mm H x 426 mm W x 530 mm D (8.7 inch x 16.76 inch x 20.9 inch)
With front connectors and rear feet | 234 mm H x 426 mm W x 601 mm D (9.23 inch x 16.76 inch x 23.67 inch)
With front cover and rear feet | 234 mm H x 426 mm W x 612 mm D (9.23 inch x 16.76 inch x 24.1 inch)

The Mains wiring and connectors shall be compatible with the connector used in the premise electrical system. Failure, to ensure adequate earth grounding by not using the correct components may cause product damage, and serious injury.

This product is designed for use in INSTALLATION CATEGORY II and POLLUTION DEGREE 2 environment.

Note

Only Keysight approved accessories shall be used.


Horizontal (Timebase) Specifications

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Item | Description
Scale Factor | Full scale is ten divisions.
Minimum | 100 fs/div with 86100D-PTB or 86107A
Maximum | 1 s/div (250 ns/div with pattern lock)
Delay | Time offset relative to the front panel trigger input on the instrument mainframe.
Minimum | 24 ns 40.1 ns default, 24 ns minimum (with Pattern Lock)
Maximum | 1000 screen diameters or 10s, whichever is smaller 1000 screen diameters or 2.5401 µs, whichever is smaller (with Pattern Lock)
Time Interval Accuracy Dual marker measurement performed at a temperature within ±5° C of horizontal calibration temperature. | 1 ps + 1.0% of Δ time interval or 8 ps, whichever is smaller. The maximum delay settings is = 100 ns and delta time does not span across (28 + N x 4) ns ±100 ps delay setting, where N = 0, 1, 2, … 18. If delta time measurement span exceeds this criteria, time interval accuracy is 8 ps + 0.1% of Δ time reading.
Jitter Mode Operation | Time interval accuracy – jitter mode operation 1 ps. Characteristic. Test configuration: PRBS of length 27–1 bits, Data and Clock 10 Gb/s.
Time Interval Resolution. The time interval resolution is the smallest time you can characterize between two points. | ≤ (screen diameter)/(record length) or 62.5 fs, whichever is larger
Display Units | Bits or Time
Record length | 16 to 65,536 samples. Increments of 1


Input and Output Specifications

Front-Panel Inputs and Outputs
Item | Description
Trigger | 2.92 mm (male). Serial Prefix MY5415 and Above 3.5 mm (male). Serial Prefix below MY5415 50Ω, 2 Vpp maximum Mainframe ships with female-female connector saver. Additional Specifications, Option STR Additional Specifications, Option ETR
Precision Timebase Input (Option 86100D-PTB only) | 2.92 mm (male), 50Ω, +1.3 Vpp maximum Mainframe ships with 2.92 mm female-female connector saver (P/N 1250-4105) Additional Specifications
Cal Output | BNC (female, banana plug) and test clip 5.0 mV default setting Range: –2.0V to +2.0V
USB | Three low-power USB 2.0 ports Voltage: 5.00V ±0.25V Current: 100 mA each
Ground Connection | Banana style
Rear-Panel Inputs and Outputs
Item | Description
Gated Trigger Input | TTL compatible
GP-IB | Fully programmable, complies with IEEE 488.2 The GPIB card interface is optional. To include this interface, order 86100D-GPI.
Connectors Shown in Following Picture
VGA Port | Analog, full color, 15 pin D-sub (female)
Serial Port (RS-232) | Serial Printer, 9 pin D-sub (male)
DVI Port | 24 pin DVI-D (dual link)
LAN | A keyboard must be used to setup LAN connectivity
USB | Four USB 2.0 ports Voltage: 5.00 ±0.25V Current: 500 mA each
Keyboard | PS/2
Mouse | PS/2
Audio Ports | Audio IN (blue connection) Audio OUT (green connection) Microphone IN (pink connection)


Internal Precision Timebase Specifications (Option PTB)

These specifications are for Option PTB, which is the 86100D internal precision timebase. These specifications refer to the signal input to the front-panel Precision Timebase Input connector.

Note

If Freerun trigger mode is not used, a trigger input must also be supplied. This is in addition to the reference clock input to the front-panel Precision Timebase connector. The trigger input must be synchronous to the reference clock but may be a sub-rate of the clock based on the required frequency range for the trigger input.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Specifications
Item | Description
Maximum Input Signal | 1.3 Vpp
Input DC Offset Range | ± 200 mV
Input Signal Type The internal precision timebase works with typical digital clock signals, such as a BERT output, as well as sine waves. If the rise time or fall time of the clock signal is less than 15% of the period of the clock (for example, less than 15 ps for a 10 GHz clock), reduce the edge speed by using an external low-pass filter or length of cable. For the lowest jitter, use a signal that is as close as possible to the maximum signal amplitude (1.3 Vpp) and minimize any sub-harmonics.
Timebase Jitter (RMS), Input ≥ 750 mVpp (sinusoidal) (Characteristic)
2.4 GHz — <4.0 GHz trigger (tested at 2.4 GHz, 750 mVpp) | ≤ 200 fs < 400 fs, with 54XXX, 8348X, or N1045A (non Option LOJ) module
4 GHz — 9.0 GHz trigger (tested at 2.4 GHz, 750 mVpp) | ≤ 120 fs < 400 fs, with 54XXX, 8348X, or N1045A (non Option LOJ) module
>9.0 GHz — 44.0 GHz trigger (tested at 10, 20, and 40 GHz, 500 mVpp) | ≤ 90 fs < 200 fs, with 54XXX, 8348X, or N1045A (non Option LOJ) module
Precision Timebase Input
Nominal Impedance | 50Ω
Connector Type | 2.92 mm (male)


Regulatory Information and Instrument Markings

EMC: Complies with the essential requirements of the European EMC Directive as well as current editions of the following standards (dates and editions are cited in the Declaration of Conformity):

  • IEC/EN 61326-1
  • CISPR Pub 11 Group 1, Class A
  • AS/NZS CISPR 11
  • ICES/NMB-001

This ISM device complies with Canadian ICES-001.

Cet appareil ISM est conforme a la norme NMB-001 du Canada.

South Korean Class A EMC Declaration: This equipment is Class A suitable for professional use and is for use in electromagnetic environments outside of the home.

SAFETY: Complies with the essential requirements of the European Low Voltage Directive as well as current editions of the following standards (dates and editions are cited in the Declaration of Conformity):

  • IEC/EN 61010-1
  • Canada: CSA C22.2 No. 61010-1
  • USA UL std no. 61010-1

Acoustic Statement: (European Machinery Directive)

  • Acoustic noise emission
  • LpA < 70 dB
  • Operator position
  • Normal operation mode per iSO 7779

Declaration of Conformity

To find a current Declaration of Conformity for a specific Keysight product, go to:

  • http://www.keysight.com/go/conformity

Mainframe Instrument Markings

Table of Instrument Markings
Marking | Description
 | The instruction documentation symbol. The product is marked with this symbol when it is necessary for the user to refer to the instructions in the documentation.
 | The STANDBY symbol. This symbol indicates that the power line switch is in the STANDBY position. The STANDBY symbol is used to mark the positions of the instrument power line switch.
 | The AC symbol. The symbol indicates that the instrument requires alternating current (ac) input. The AC symbol is used to indicate the required nature of the line module input power.
 | The chassis ground symbol. The chassis ground symbol is used to indicate a chassis connection.
 | The CE mark of the European Community.
 | The CSA mark.
 | The Regulatory Compliance Mark of the Australian Communications and Media Authority.
ISM 1-A | This text denotes the instrument is an Industrial Scientific and Medical Group 1 Class A product.
ICES/NMB 001 | This is a marking to indicate product compliance with the Canadian Interference-Causing Equipment Standard.
 | This symbol indicates the Environmental Protection Use Period (EPUP) for the product’s toxic substances for the China RoHS requirements.
 | South Korean Class A EMC Declaration.
 | This product complies with the WEEE Directive (2002/96/EC) marking requirements. The affixed label indicates that you must not discard this electrical/electronic product in domestic household waste. Product Category: With reference to the equipment types in the WEEE Directive Annex I, this product is classed as a “Monitoring and Control instrumentation” product. Do not dispose in domestic household. To return unwanted products, contact your local Keysight office, or refer to www.keysight.com for more information.
 | Packaging recycling symbol.
 | Representative rear-panel AC LINE label.


Enhanced Trigger Specifications (Option ETR)

The specifications listed in this topic are for Option ETR (enhanced trigger) and supplement the Option STR specifications. The Option STR specifications still apply to instruments with Option ETR. These specifications refer to the signal input to the front-panel Trigger Input connector.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Item | Description
Trigger Modes
External Divided Trigger | 50 MHz to 32 GHz, effective divide-by-one, (with Option PTB) 50 MHz to 13 GHz (15 GHz characteristic)
Pattern Lock | 50 MHz to 32 GHz (with Option PTB) 50 MHz to 13 GHz (15 GHz characteristic)
Jitter. Slew rate ≥ 2 V/ns
Serial Prefix MY5415 and Above | 1.2 ps rms for time delays less than 100 ns (Maximum) 750 fs rms for time delays less than 100 ns, characteristic
Serial Prefix Below MY5415 | 1.7 ps rms for time delays less than 100 ns (Maximum) 1.2 ps rms for time delays less than 100 ns, characteristic
Trigger Sensitivity
Serial Prefix MY5415 and Above | 200 mV p-p (50 MHz to 32 GHz)
Serial Prefix Below MY5415 | 200 mV p-p (50 MHz to 8 GHz) 400 mV p-p (8 GHz to 13 GHz) 600 mV p-p (13 GHz to 15 GHz characteristic)


Standard Trigger Specifications (Option STR)

These specifications are for Option STR which is the standard, default trigger.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Item | Description
Maximum Trigger Signal | 2V peak-to-peak
Trigger Modes
Internal Trigger | Freerun Freerun trigger mode internally generates an asynchronous trigger that allows viewing the sampled signal amplitude without an external trigger signal but provides no timing information. Freerun is useful in troubleshooting external trigger problems.
External Direct Trigger | The sampled input signal timing is recreated by using an externally supplied trigger signal that is synchronous with the sampled signal input. Limited Bandwidth: DC to 100 MHz. The DC to 100 MHz mode is used to minimize the effect of high frequency signals or noise on a low frequency trigger signal. Full Bandwidth: DC to 3.2 GHz
External Divided Trigger | Not available
Pattern Lock | Not available
Jitter. Measured at 2.5 GHz with the triggering level adjusted for optimum trigger. | < 1.0 ps rms + 5*10E–5 delay setting (Characteristic) 1.5 ps rms + 5*10E–5 delay setting (Maximum)
Trigger Sensitivity | 200 mV p-p (sinusoidal input or 200 ps minimum pulse width)
Trigger Configuration
Triggering Level Adjustment | –1V to +1V
Edge Select | Positive or negative
Hysteresis | Normal or high sensitivity High Sensitivity Hysteresis mode improves the high frequency trigger sensitivity but is not recommended when using noisy, low frequency signals that may result in false triggers without normal hysteresis enabled.
Trigger Gating
Gating Input Levels (TTL compatible) | Disable: 0 to 0.6V Enable: 3.5 to 5V Pulse width > 500 ns, period > 1µs
Gating Delay | Disable: 27 µs + trigger period + maximum time displayed Enable: 100 ns
Trigger Input
Nominal Impedance | 50Ω
Reflection | 10% for 100 ps rise time
Connector Type | 2.92 mm (male). Serial Prefix MY5415 and Above 3.5 mm (male). Serial Prefix below MY5415


Vertical (Channel) Specifications

Radio-Frequency Electromagnetic Field Immunity - IEC 61000-4-3: 1995 passes criterion B.

According to IEC 61000-4-3: 1995, degradation of system noise performance may be observed on vertical channels in some narrow frequency ranges when a 3 V/m radio-frequency electromagnetic field is applied to the instrument.

Radio-Frequency Electromagnetic Field Immunity - IEC 61000-4-3: 1995 passes criterion C.

According to IEC 61000-4-3: 1995, the degradation of normal performance within the specification limits may be observed in the 86100A/B/C mainframe with an 86107A module installed. The instrument software recognizes this temporary signal degradation and warns the user that the data is suspect. The warning prompts the user to press the Clear Display button. The user can then resume data acquisition. This required operator intervention results in a criterion C classification.

Item | Description
Number of Channels | 4 (Simultaneous acquisition)
Vertical Resolution | 14 bit A/D converter (up to 15 bits with averaging)
Full Resolution Channel Scales | Adjusts in a 1-2-5-10 sequence for coarse adjustment or fine adjustment resolution from the front panel knob.
Adjustments | Scale, offset, activate filter, sampler bandwidth, attenuation factor, transducer conversion factors


Modules Specifications

Module specifications and characteristics apply when a module is installed in the 86100D. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Hardware Extended Modules

  • N1092A/B/D DCA-M
  • N1090A DCA-M

TDR/TDT Modules

  • N1055A Module
  • 54754A Module
  • 54753A Module

Electrical and Optical Modules

  • 86118A Module
  • 86117B Module
  • 86117A Module
  • 86116C Module
  • 86116B Module
  • 86116A Module
  • 86115D Module
  • 86115B Module
  • 86113A Module
  • 86112A Module
  • 86111U Module
  • 86111A Module
  • 86109B Module
  • 86109A Module
  • 86108B Module
  • 86108A Module
  • 86107A Module
  • 86106B Module
  • 86106A Module
  • 86105D Module
  • 86105C Module
  • 86105B Module
  • 86105A Module
  • 86103B Module
  • 86103A Module
  • 86102U Module
  • 86102A Module
  • 86101A Module

83490-Series Modules

  • 83491A Module
  • 83492A Module
  • 83493A Module
  • 83494A Module
  • 83495A Module
  • 83496A Module
  • 83496B Module

83480-Series Modules

  • 83481A Module
  • 83482A Module
  • 83483A Module
  • 83484A Module
  • 83485A Module
  • 83485B Module
  • 83486A Module
  • 83487A Module


54753A Module Specifications

54753A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

54753 Specifications
Item | Description
Channels (user selectable) | dc to 12.4 or 18.0 GHz DC to 12.4 or 20.0 GHz
The 20.0 GHz bandwidth is channel 2/4 only. Channel 1/3 is the TDR input located on the upper left of the module. Channel 2/4 is the electrical input located on the lower left of the module.
Bandwidth (-3 dB) | dc to 12.4 or 18.0 GHz DC to 12.4 or 20.0 GHz
The above bandwidths are user selectable. The input sampler is biased differently for increased bandwidth in the 18 GHz bandwidth mode.
dc Accuracy (single marker when driven from a 0 ohm source) |
12.4 GHz | ±0.4% of full scale ±2 mV ±1.2% of reading - channel offset
18 GHz | ±0.4% of full scale ±2 mV ±0.6% of reading - channel offset
20 GHz | ±0.4% of full scale ±2 mV ±0.6% of reading - channel offset
The above is the DC accuracy when operated within ±2°C (±3.6°F) of the temperature of the last plug-in module calibration. When operated within ±5°C (±9°F) of the temperature of the last module calibration, the final term in the DC accuracy specification is 2.5 times higher.
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
18 GHz | 19.4 ps
20 GHz | 17.5 ps
RMS Noise (Typical) |
12.4 GHz | 0.25 mV
18 GHz | 0.5 mV
20 GHz | 0.5 mV
Maximum |
12.4 GHz | 0.5 mV
18 GHz | 1.0 mV
20 GHz | 1.0 mV
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
Display Resolution | 256 points
Offset Range (referenced two divisions from screen bottom) | ±500 mV
An effective offset of ±900 mV can be achieved using the ±500 mV of channel offset and adding ±400 mV of offset using the signal processing math Add function with a constant operand.
Nominal Impedance | 50 ohm
Connectors (channel and trigger) | 3.5 mm (m)
Input Reflection/Return Loss | ≤ 5% for 30 ps rise time
Number of Channels | 2
Dynamic Range/Maximum Specified Input Power | ±400 mV relative to channel offset
Maximum Safe Input | ±2 V + peak AC (+16 dBm)


54754A Module Specifications

Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this topic.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

54754A
Item | Description
Channels (user selectable) | dc to 12.4 or 18.0 GHz
Bandwidth (-3 dB) | dc to 12.4 or 18.0 GHz
The above bandwidths are user selectable. The input sampler is biased differently for increased bandwidth in the 18 GHz bandwidth mode. Channel 1/3 is the TDR input located on the upper left of the module. Channel 2/4 is the electrical input located on the lower left of the module.
dc Accuracy (single marker when driven from a 0 ohm source) |
12.4 GHz | ±0.4% of full scale ±2 mV ±0.6% of reading - channel offset
18 GHz | ±0.4% of full scale ±2 mV ±1.2% of reading - channel offset
The above is the DC accuracy when operated within ±2°C (±3.6°F) of the temperature of the last plug-in module calibration. When operated within ±5°C (±9°F) of the temperature of the last module calibration, the final term in the DC accuracy specification is 2.5 times higher.
dc Difference (two marker accuracy on the same channel) |
12.4 GHz | ±0.8% full scale ±1.2% of delta reading
18 GHz | ±0.8% full scale ±1.2% of delta reading
The above is the DC difference when operated within ±2°C (±3.6°F) of the temperature of the last plug-in module calibration. When operated within ±5°C (±9°F) of the temperature of the last module calibration, the final term in the DC difference specification is 2.5 times higher.
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
18 GHz | 19.4 ps
RMS Noise Typical |
12.4 GHz | 0.25 mV
18 GHz | 0.5 mV
Maximum |
12.4 GHz | 0.5 mV
18 GHz | 1.0 mV
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
Display Resolution | 256 points
dc Offset Range (referenced two divisions from screen bottom) | ±500 mV
An effective offset of ± 900 mV can be achieved using the ±500 mV of channel offset and adding ±400 mV of offset using the signal processing math Add function with a constant operand.
Nominal Impedance | 50 ohm
Connectors (channel and trigger) | 3.5 mm (m)
Input Reflection/Return Loss | ≤ 5% for 30 ps rise time
Number of Channels | 2
Dynamic Range/Maximum Specified Input Power | ±400 mV relative to channel offset
Maximum Safe Input | ±2 V + peak AC (+16 dBm)

TDR System

Normalized information is a characteristic, not a specification. The information is presented here for comparison purposes only. Normalization characteristics are achieved only with the use of the TDR calibration using the firmware routines. Rise time is measured in the Averaged Display mode with best flatness on (default in TDR mode). The rise time of the generator is less than 35 ps, as calculated by:

Note

Flatness is measured in the Averaged Display mode with best flatness on (default in TDR mode).

54754A TDR System
Item | Description
Rise Time |
Combined Oscilloscope and TDR Performance | < 45 ps
Normalized Characteristic | Adjustable: allowable values based on time base setting. (characteristic) Minimum: 17 ps or 0.08 x time/div, whichever is greater. (characteristic) Maximum: 5 x time/div. (characteristic)
Flatness |
Combined Oscilloscope and TDR Performance | < ± 1% after 1 ns from edge. < +5%, –5% to 1 ns from edge.
Normalized Characteristic | < 0.1% (characteristic)
Step Levels |
Combined Oscilloscope and TDR Performance | Low: 0.00V ± 2 mV High: +200 mV ± 2 mV
Normalized Characteristic | Low: 0.00V ± 2 mV (characteristic) High: +200 mV ± 2 mV (characteristic)


83481A Module Specifications

83481A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Unfiltered Bandwidth | dc to 2.85 GHz (dc to 3 GHz characteristic)
Maximum Specified Peak Input Power |
Continuous wave | 0.6 mW (–2.2 dBm)
Modulated | 0.4 mW (–4 dBm)
Exceeding the specified input power level will cause waveform distortion.
Wavelength Range | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Filters/Data Rates (MB/s) | STM-1/OC-3 (155) STM-4/OC-12 (622)
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | ≤ 245 ps (characteristic)
RMS Noise 2 GHz or filtered mode |
Characteristic | < 1.5 µW
Maximum | < 2.5 µW
Scale Factor |
Minimum | 5 µW/division
Maximum | 100 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±0.4% of full scale ±6 µW ±3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW,
Average Power Monitor (specified operating range) | –30 dBm to –4 dBm (1 µW to 400 µW)
Factory Calibrated Accuracy (20°C to 30°C) | ±5% of reading ± 100 nW ± connector uncertainty
User Calibrated Accuracy < 5°C change | ±2% of reading ± 100 nW ± power meter uncertainty
Maximum Safe Input Power | 10 mW peak
Fiber Input | 9/125µ m
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 33 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps (characteristic)
20 GHz | 17.5 ps (characteristic)
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
dc Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 Ω
Reflections (for 30 ps rise time) | ≤ 5%
Electrical Input | 3.5 mm


83482A Module Specifications

83482A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Unfiltered Bandwidth | 30 GHz
Wavelength Range (Characteristic) | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Sensitivity (Characteristic - smallest average power for mask test) | –8 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 13 ps
RMS Noise |
Characteristic | 15 µW
Maximum | 30 µW
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±50 mW ±4% of (reading– channel offset) ±2%/°C ( Δ Tcal) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration.
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW,
Average Power Monitor (specified operating range) | –27 dBm to +3 dBm (2 µW to 2 mW)
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 9/125µ m
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 30 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 18 and 40 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
18 GHz | 19.5 ps
40 GHz | 9 ps
RMS Noise |
Characteristic | 0.25 mV, 18 GHz 0.5 mV, 40 GHz
Maximum | 0.5 mV, 18 GHz 1 mV, 40 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
18 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)
40 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading –channel offset) ±2%/°C ( Δ Tcal) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration.
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 2.4 mm


83483A Module Specifications

83483A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


83484A Module Specifications

83484A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Electrical Channel Bandwidth | 26.5 and 50 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
26.5 GHz | 13.2 ps
50 GHz | 7 ps
RMS Noise |
Characteristic | 0.46 mV, 12.4 GHz 0.75 mV, 50 GHz
Maximum | 0.75 mV, 26.5 GHz 1.5 mV, 50 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
26.5 GHz | ±0.4% of full scale ±2 mV ± 1.2% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)
50 GHz | ±0.4% of full scale ±2 mV ± 2% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration.
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 2.4 mm


83485A Module Specifications

83485A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Unfiltered Bandwidth | 12.4/20 GHz (Unfiltered)
Wavelength Range | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm/1550 nm
Filters/Data Rates (MB/s) | OC-3/STM-1 (155) OC-12/STM-4 (622) OC-48/STM-16 (2488) OC-192/STM-64 (9953)
Sensitivity (Characteristic - smallest average power for mask test) | –10 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | < 25 ps
RMS Noise |
Characteristic | 8 µW, 12.4 GHz 15 µW, 20 GHz
Maximum | 12 µW, 12.4 GHz 25 µW, 20 GHz
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor)
12.4 GHz | ±25 µW ±2% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
20 GHz | ±25 µW ±4% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW,
Average Power Monitor |
Specified Operating Range | –30 dBm to +3 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
To guarantee that waveforms with large overshoot do not saturate the channel, average power should be kept below –10 dBm.
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 33 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
dc Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


83485B Module Specifications

Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth | 30 GHz, high sensitivity
Wavelength Range | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Filters/Data Rates (MB/s) | OC-192/STM-64 (9953)
Sensitivity (Characteristic - smallest average power for mask test) | –8 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | < 25 ps
RMS Noise |
Characteristic | 15 µW
Maximum | 30 µW
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±50 mW ±4% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration.
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW
Average Power Monitor (specified operating range) | –27 dBm to +3 dBm (2 µW to 2 mW)
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 30 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 18 and 40 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
18 GHz | 19.5 ps
40 GHz | 9 ps
RMS Noise |
Characteristic | 0.25 mV, 18 GHz 0.5 mV, 40 GHz
Maximum | 0.5 mV, 18 GHz 1 mV, 40 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
18 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading
40 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration.
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 2.4 mm


83486A Module Specifications

83486A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Unfiltered Bandwidth | 2.85 GHz (3 GHz typical)
Wavelength Range (Characteristic) | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm/1550 nm
Filters/Data Rates (MB/s) | OC-3/STM-1 (155) OC-12/STM-4 (622) Fibre Channel (1066) Gigabit Ethernet (1250)
Sensitivity (Characteristic - smallest average power for mask test) | –20 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | < 160 ps
RMS Noise |
Characteristic | 1 µW, opt 201, 301 1.5 µW, opt 202, 302
Maximum | 1.5 µW, opt 201, 301 2.5 µW, opt 202, 302
Scale Factor |
Minimum | 5 µW/division
Maximum | 100 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±0.4% of full scale ±6 µW ±3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW,
Average Power Monitor |
Specified Operating Range | –30 dBm to 0 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 0.4 mW (–4 dBm)
Maximum Non-destruct Peak | 10 mW
To guarantee that waveforms with large overshoot do not saturate the channel, average power should be kept below –10 dBm.
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
dc Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


83487A Module Specifications

83487A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical channel specifications are warranted for muti-mode inputs only.

Optical Channel Specifications
Item | Description
Optical Channel Unfiltered Bandwidth | 2.85 GHz (3 GHz typical)
Wavelength Range | 750 to 860 nm
Calibrated Wavelengths | 850 nm
Filters/Data Rates (MB/s) | OC-3/STM-1 (155) OC-12/STM-4 (622) Fibre Channel (1066) Gigabit Ethernet (1250)
Sensitivity (Characteristic - smallest average power for mask test) | –17 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 160 ps
RMS Noise |
Characteristic | 1.5 µW
Maximum | 2.5 µW
Scale Factor |
Minimum | 5 µW/division
Maximum | 100 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±0.4% of full scale ±6 µW ±3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW,
Average Power Monitor |
Specified Operating Range | –30 dBm to –2.2 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 0.4 mW (–4 dBm)
Maximum Non-destruct Peak | 10 mW
To guarantee that waveforms with large overshoot do not saturate the channel, average power should be kept below –10 dBm.
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset) ±2%/°C ( Δ Tcal) (reading)–0.4%/hr ( Δ Time) (reading)
Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration. Δ Time represents the time since the last user module calibration. The uncertainty due to time typically stabilizes after 24 hours. This term goes to zero upon execution of a module calibration.
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


83491A Module Specifications

83491A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

The following table lists the specifications and characteristics of the 83491A plug-in module when it is installed in the instrument mainframe.

Specification
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Electrical
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | 50 to 70 kHz
External Output | 4 to 5 MHz
Data Rates (MB/s) | 155, 622, 1060, 1250, 2125, 2488, 2500
Tracking/Acquisition Range | ± 0.1%
Internal Splitter | 50/50
Output Jitter | < 0.0125 UI rms
Operating Input Power Level |
Source extinction ratio ≥ 8.2 dB when measured per TIA/EIA OFSTP-4A. Operating power level applies over temperature range 25°C ± 5°.
Triggering operation, all rates | –10 dBm to + 3 dBm
> 10E 10 BER, all rates, when tested with 2E 23 1 PRBS pattern | –10 dBm to + 3 dBm
Input/Output Connectors | APC 3.5 mm, 50 ohm
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters
Input Return Loss | dc – 1250 MHz, 20 dB 1250 – 2500 MHz, 15 dB
Input Insertion Loss | dc – 1250 MHz, 7 dB 1250 – 2500 MHz, 15 dB


83492A Module Specifications

83492A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

The following table lists the specifications and characteristics of the 83492A plug-in module when it is installed in the instrument mainframe.

Specifications
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Multimode Optical
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | 50 to 70 kHz
External Output | 4 to 5 MHz
Data Rates (MB/s) | 155, 622, 1060, 1250, 2125, 2488, 2500
Tracking/Acquisition Range | ± 0.1%
Internal Splitter | 50/50
Output Jitter | < 0.0125 UI rms
Operating Input Power Level |
Source extinction ratio 8.2 dB when measured per TIA/EIA OFSTP-4A. Operating power level applies over temperature range 25°C ± 5°.
750 to 860 nm Triggering operation, all rates | –10 dBm to + 3 dBm
10E–10 BER, all rates, when tested with 2E 23 – 1 PRBS pattern | –10 dBm to + 3 dBm
1000 nm to 1600 nm Triggering operation, all rates | –13 dBm to + 3 dBm
10E –10 BER, all rates, when tested with 2E 23–1 PRBS pattern | –13 dBm to + 3 dBm
Input/Output Fiber (characteristic) | 62.5/125 µm
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters
Input Return Loss | 28 dB
Single-mode back-reflection tested with FC/PC adapter and single-mode fiber. Optical output terminated with > 33 dB return loss. Return loss with fully filled 62.5 µm core multimode fiber may be slightly lower.
Input Insertion Loss (minimum loss in 850 nm window) | 5 dB Maximum


83493A Module Specifications

83493A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

The following table lists the specifications and characteristics of the 83493A plug-in module when it is installed in the instrument mainframe.

Specifications
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Single Mode Optical (9/125 µ m)
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | 50 to 70 kHz
External Output | 4 to 5 MHz
Data Rates (MB/s) | 155, 622, 1250, 2488, 2500
Tracking/Acquisition Range | ± 0.1%
Internal Splitter | 10/90
Output Jitter | < 0.0125 UI rms
Operating Input Power Level, 1000 nm to 1600 nm Source extinction ratio ≥ 8.2 dB when measured per TIA/EIA OFSTP-4A. Operating power level applies over temperature range 25°C ± 5°.
Triggering operation, all rates | –20 dBm to + 3 dBm
>10E 10 BER, all rates, when tested with 2E 23 1 PRBS pattern | –17 dBm to + 3 dBm
Input/Output Fiber (characteristic) | 9/125 µm
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters
Input Return Loss | 28 dB
Tested with FC/PC adapter. Optical output terminated with > 33 dB return loss.
Input Insertion Loss | 1.5 dB Maximum


83494A Module Specifications

83494A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

The following tables lists the specifications and characteristics of the 83494A plug-in module when it is installed in the instrument mainframe.

Specifications (Standard)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Single Mode Optical (9/125 µm)
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | 90 kHz
External Output | 4 to 5 MHz
Data Rates (MB/s) | 155, 622, 2488, 9953
Tracking/Acquisition Range | ± 0.01% for 155, 622, 2488 ± 0.03% for 9953
Internal Splitter | 10/90
Output Jitter | 0.01 UI rms at 155, 622, 2488 (typical) 0.02 UI rms at 155, 622, 2488, 9953
Input Power for Clock Recovery, 1200 nm to 1600 nm Source extinction ratio 8.2 dB when measured per TIA/EIA OFSTP-4A. Operating power level applies over temperature range 25°C ± 5°.
Triggering operation, 9953 Mb/s | –8 dBm to + 3 dBm
Triggering operation, all other rates | –12 dBm to + 3 dBm –14 dBm to 3 dBm, typical
> 10E–10 BER, all rates, when tested with 2E 23 –1 PRBS pattern | 0 dBm
Input/Output Fiber (characteristic) | 9/125 µm
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters
Input Return Loss | ≥ 28 dB
Tested with FC/PC adapter. Optical output terminated with > 33 dB return loss.
Input Insertion Loss | 1.5 dB
Specifications (Option 103)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Single Mode Optical (9/125 µm)
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | 90 kHz
External Output | 4 to 5 MHz
Data Rates (MB/s) | 155, 622, 2488, 10312.5 Mb/s
Tracking/Acquisition Range | ± 0.01% for 155, 622, 2488 ± 0.03% for 10312.5 Mb/s
Internal Splitter | 10/90
Output Jitter | 0.01 UI rms at 155, 622, 2488 (typical) 0.02 UI rms at 155, 622, 2488, 9953
Input Power for Clock Recovery, 1200 nm to 1600 nm Source extinction ratio 8.2 dB when measured per TIA/EIA OFSTP-4A. Operating power level applies over temperature range 25°C ± 5°.
Triggering operation, 10312.5 Mb/s | –8 dBm to + 3 dBm
Triggering operation, all other rates | –12 dBm to + 3 dBm –14 dBm to 3 dBm, typical
> 10E–10 BER, all rates, when tested with 2E 23– 1 PRBS pattern | 0 dBm
Input/Output Fiber (characteristic) | 9/125 µm
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters
Input Return Loss | ≥28 dB
Tested with FC/PC adapter. Optical output terminated with > 33 dB return loss.
Input Insertion Loss | 1.5 dB
Specifications (Option 106)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Single Mode Optical (9/125 µm)
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | 90 kHz
External Output | 4 to 5 MHz
Data Rates (MB/s) | 155, 622, 2488, 2666, 10664
Tracking/Acquisition Range | ± 0.01% for 155, 622, 2488, 2666 ± 0.03% for 10664
Internal Splitter | 10/90
Output Jitter (all rates) | 0.02 UI rms 0.01 UI rms (typical)
Input Power for Clock Recovery, 1200 nm to 1600 nm Source extinction ratio ≥ 8.2 dB when measured per TIA/EIA OFSTP-4A. Operating power level applies over temperature range 25°C ± 5°.
Triggering operation, 10664 Mb/s | –8 dBm to + 3 dBm
Triggering operation, all other rates | –12 dBm to + 3 dBm –14 dBm to 3 dBm, typical
> 10E–10 BER, all rates, when tested with 2E 23 – 1 PRBS pattern | 0 dBm
Input/Output Fiber (characteristic) | 9/125 µm
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters
Input Return Loss | ≥28 dB
Tested with FC/PC adapter. Optical output terminated with > 33 dB return loss.
Input Insertion Loss | 1.5 dB
Specifications (Option 107)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Single Mode Optical (9/125 µm)
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | 90 kHz
External Output | 4 to 5 MHz
Data Rates (MB/s) | 155, 622, 2488, 2666, 10709 Mb/s
Tracking/Acquisition Range | ± 0.01% for 155, 622, 2488 ± 0.03% for 10709 Mb/s
Internal Splitter | 10/90
Output Jitter | 0.01 UI rms at 155, 622, 2488 (typical) 0.02 UI rms at 155, 622, 2488, 9953
Input Power for Clock Recovery, 1200 nm to 1600 nm Source extinction ratio ≥ 8.2 dB when measured per TIA/EIA OFSTP-4A. Operating power level applies over temperature range 25°C ± 5°.
Triggering operation, 10709 Mb/s | –8 dBm to + 3 dBm
Triggering operation, all other rates | –12 dBm to + 3 dBm –14 dBm to 3 dBm, typical
> 10E–10 BER, all rates, when tested with 2E 23– 1 PRBS pattern | 0 dBm
Input/Output Fiber (characteristic) | 9/125 µm
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters
Input Return Loss | ≥ 28 dB
Tested with FC/PC adapter. Optical output terminated with > 33 dB return loss.
Input Insertion Loss | 1.5 dB


83495A Module Specifications

83495A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

The following table lists the specifications and characteristics of the 83495A plug-in module when it is installed in the instrument mainframe.

Specification (Option 100)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Single Mode Optical and electrical
Wavelength Range | 1000 to 1600 nm
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | < 300 kHz (characteristic), or < 4 MHz (3.5 MHz characteristic; achieved with input power ≥ –8 dBm). User selectable. The loop BW transfer function is guaranteed to be less than a low-pass response with the specified corner frequency rolling off –20 dB/dec.
External Output | < 300 kHz (characteristic), or < 4 MHz (3.5 MHz characteristic; achieved with input power ≥ –8 dBm). User selectable. The loop BW transfer function is guaranteed to be less than a low-pass response with the specified corner frequency rolling off –20 dB/dec.
Data Rates (Gb/s) |
High Loop Bandwidth Mode (4 MHz) | 9.953 to 11.32 Gb/s
Low Loop Bandwidth Mode (300 kHz) | 9.95328, 10.3125, 10.51875, 10.66423, 10.709225, 11.0957, 11.317 Gb/s
Acquisition Range |
High Loop Bandwidth Mode (4 MHz) | Continuous within the data rate range
Low Loop Bandwidth Mode (300 kHz) | ±10 MHz
Tracking Range | ±30 MHz
Internal Splitter Ratio | 20/80
Clock Output Level (front panel) | 250 mVp-p characteristic
Clock Output Jitter | 0.008 UI RMS (0.006 UI RMS characteristic.) Measured with a PRBS 223 –1 pattern. For total scope jitter, RSS clock output jitter with mainframe jitter.
Input Level for Clock Recovery | –12 dBm (–14 dBm characteristic) to + 0 dBm optical. 0.20 to 2.0 Vp-p electrical
For optical input power, source extinction ratio ≥ 8.2 dB when measured per TIA/EIA OFSTP-4A. For extinction ratio equal to 8.2 dB, OMA is defined as (P1–P0) and is equal to average input power (dBm) ÷ 1.68 dB.
Input/Output Connectors | FC/PC, 9/125 µ m and type N
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters (no data output)
Input Return Loss | optical: 28 dB maximum electrical (DC to 2.5 GHz): 20 dB electrical (2.5 GHz to 11.32 GHz): 15 dB
Input Insertion Loss | 2.0 dB maximum optical
Specification (Option 101)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Multimode Optical and electrical
Wavelength Range | 750 to 860 nm
Clock Recovery Phase Locked Loop Bandwidth |
Internal Path Triggering | < 300 kHz (characteristic), or < 4 MHz (3.5 MHz characteristic; achieved with input power ≥ –5 dBm.) User selectable. The loop BW transfer function is guaranteed to be less than a low-pass response with the specified corner frequency rolling off –20 dB/dec.
External Output | < 300 kHz (characteristic), or < 4 MHz (3.5 MHz characteristic; achieved with input power ≥ –5 dBm.) User selectable. The loop BW transfer function is guaranteed to be less than a low-pass response with the specified corner frequency rolling off –20 dB/dec.
Data Rates (Gb/s) |
High Loop Bandwidth Mode (4 MHz) | 9.953 to 11.32 Gb/s
Low Loop Bandwidth Mode (300 kHz) | 9.95328, 10.3125, 10.51875, 10.66423, 10.709225, 11.0957, 11.317 Gb/s
Acquisition Range |
High Loop Bandwidth Mode (4 MHz) | Continuous within the data rate range
Low Loop Bandwidth Mode (300 kHz) | ±10 MHz
Tracking Range | ±30 MHz
Internal Splitter Ratio | 30/70
Clock Output Level (front panel) | 250 mVp-p characteristic
Clock Output Jitter | 0.008 UI RMS (0.006 UI RMS characteristic.) Measured with a PRBS 223 –1 pattern. For total scope jitter, RSS clock output jitter with mainframe jitter.
Input Level for Clock Recovery | –9 dBm (–11 dBm characteristic) to + 0 dBm optical. Input is a fully filled multimode signal. 0.20 to 2.0 Vp-p electrical
For optical input power, source extinction ratio ≥ 8.2 dB when measured per TIA/EIA OFSTP-4A. For extinction ratio equal to 8.2 dB, OMA is defined as (P1–P0) and is equal to average input power (dBm) ÷ 1.68 dB.
Input/Output Connectors | FC/PC, 62.5/125 µm and type N
Auxiliary Recovered Clock and Regenerated Data Outputs | Type N with SMA adapters (no data output)
Input Return Loss | optical: 28 dB maximum electrical (DC to 2.5 GHz): 20 dB electrical (2.5 GHz to 11.32 GHz): 15 dB
Input Insertion Loss | 2.5 dB maximum optical


83496A Module Specifications

83496A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications (Option 100)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Differential or single-ended electrical
Maximum Input (characteristic) |
Electrical (ac coupled) | 6 Vpp differential 3 Vpp single-ended
Data Rates |
Standard Option 200 | 50 Mb/s – 7.1 Gb/s continuous tuning. 50 Mb/s – 13.5 Gb/s continuous tuning.
Output Random Jitter (RMS), Internal Recovered Clock Trigger
50 Mb/s – 4.2 Gb/s: | < 3 mUI 700 fs (0.9 mUI) at 1.25 Gb/s, characteristic)
4.2 Gb/s – 7.2 Gb/s: | < 700 fs (400 fs at 4.25 Gb/s, 500 fs at 2.5 Gb/s, characteristic)
7.2 Gb/s – 11.4 Gb/s: | < 500 fs (300 fs at 10 Gb/s, characteristic)
11.4 Gb/s – 13.5 Gb/s: | < 700 fs
Verified with PRBS7 pattern, electrical inputs > 150 mVp-p to acquire lock. Output jitter verification results of the 83496A can be affected by jitter on the input test signal.
The 83496A will track jitter frequencies inside the loop bandwidth, and the jitter will appear on the recovered clock output. Vertical noise on the input signal will be converted to jitter by the limit amplifier stage on the input of the clock recovery. These effects can be reduced, by lowering the loop bandwidth setting.
Output Random Jitter (RMS), Front Panel Recovered Clock
50 Mb/s – 4.2 Gb/s: | < 4 mUI 700 fs (0.9 mUI) at 1.25 Gb/s, characteristic)
4.2 Gb/s – 7.2 Gb/s: | < 900 fs (400 fs at 4.25 Gb/s, 500 fs at 2.5 Gb/s, characteristic)
7.2 Gb/s – 11.4 Gb/s: | < 700 fs (300 fs at 10 Gb/s, characteristic)
11.4 Gb/s – 13.5 Gb/s: | < 900 fs
Verified with PRBS7 pattern, electrical inputs > 150 mVp-p to acquire lock. Output jitter verification results of the 83496A can be affected by jitter on the input test signal.
The 83496A will track jitter frequencies inside the loop bandwidth, and the jitter will appear on the recovered clock output. Vertical noise on the input signal will be converted to jitter by the limit amplifier stage on the input of the clock recovery. These effects can be reduced, by lowering the loop bandwidth setting.
Clock Recovery Adjustable Loop Bandwidth Range (user selectable)
Standard | 270 kHz or 1.5 MHz (characteristic). At rates below 1 Gb/s, loop bandwidth is fixed at 30 kHz when Option 300 is not installed.
Option 300: | 15 kHz – 10 MHz continuous tuning (fixed value or constant data rate/N ratio). Without Option 200, loop bandwidth is adjustable from 15 kHz – 6 MHz. Available loop bandwidth settings also depend on the data rate of the input signal.
Option 300 Loop Bandwidth Range Chart Depending on the firmware revision in the mainframe, select one of the following two charts. The instrument automatically calculates the minimum and maximum loop bandwidths to ensure that the module operates within specifications.
Mainframe Firmware Revision A.7.00 and Above. Chart of Selectable Loop Bandwidth Range Versus Data Rate (0.25 ≤ Transition Density ≤ 1) |
Mainframe Firmware Revision A.6.01 and Below. Chart of Selectable Loop Bandwidth Range Versus Data Rate (0.5 ≤ Transition Density ≤ 1) |
Loop Bandwidth Accuracy |
Standard | ± 30%, characteristic
Option 300 | ± 25% for 0.5 transition density, 155 Mb/s to 11.4 Gb/s data rate, and loop bandwidth ≤ (data rate)/1667. For firmware revisions A.06.01 and below: ± 30% for 0.25 ≤ transition density ≤ 1.0 and all data rates, characteristic. For firmware revisions A.07.00 and above: ± 30% for 0.5 ≤ transition density ≤ 1.0 and all data rates, characteristic.
Tracking Range | ±1000 ppm of user-entered data rate
Acquisition Range | ±5000 ppm of user-entered data rate
Internal Splitter Ratio | 50/50 (characteristic)
Minimum Input Level to Acquire Lock | 150 mVpp
Input Return Loss |
DC to 12 GHz: | 22 dB minimum, characteristic
12 to 20 GHz | 16 dB minimum, characteristic
Input Insertion Loss. DC to 20 GHz | 7.8 dB maximum, characteristic
Electrical Through-path Digital Amplitude Attenuation | 7.5 dB 20 log (Vamp out/Vamp in) measured with PRBS 23 at 13.5 Gb/s.
Front-Panel Recovered Clock Output Amplitude | Maximum: 1 Vpp Minimum: 220 mVpp (300 mVpp, characteristic)
Maximum Consecutive Identical Digits (CID) to Acquire Lock | 150 characteristic
Front-Panel Recovered Clock Output Divide Ratio (User Selectable). Minimum frequency of divided front-panel clock output is 25 MHz.
50 Mb/s to 7.1 Gb/s data rates: 7.1 to 13.5 Gb/s data rates: | N = 1 to 16 N = 2 to 16
Data Input/Output Connectors | 3.5 mm, male
Front-Panel Recovered Clock Output Connector | SMA
Specifications (Option 101)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Single-mode and multimode optical; Differential or single-ended electrical (input only, no internal electrical dividers)
Maximum Input (characteristic) |
Electrical (ac coupled) | 6 Vpp differential 3 Vpp single-ended
Optical (input damage level) | 1.5 mW average 15 mW peak
Wavelength Range |
Single-mode, optical: Multimode, optical: | 1250 nm to 1650 nm 750 nm to 1330 nm
If the multimode optical input signal does not have all modes excited in the fiber, the coupling ratio will be reduced and the clock recovery may not acquire lock at minimum specified input levels. It is recommended that an optical mode scrambler be used in such a case.
Data Rates |
Standard: Option 200: | 50 Mb/s – 7.1 Gb/s continuous tuning. 50 Mb/s – 13.5 Gb/s continuous tuning.
Output Random Jitter (RMS), Internal Recovered Clock Trigger
50 Mb/s – 4.2 Gb/s: | < 3 mUI 700 fs (0.9 mUI) at 1.25 Gb/s, characteristic)
4.2 Gb/s – 7.2 Gb/s: | < 700 fs (400 fs at 4.25 Gb/s, 500 fs at 2.5 Gb/s, characteristic)
7.2 Gb/s – 11.4 Gb/s: | < 500 fs (300 fs at 10 Gb/s, characteristic)
11.4 Gb/s – 13.5 Gb/s: | < 700 fs
Verified with PRBS7 pattern, electrical inputs > 150 mVp-p, and optical inputs > 3 dB above specification for minimum input level to acquire lock. Output jitter verification results of the 83496A can be affected by jitter on the input test signal.
The 83496A will track jitter frequencies inside the loop bandwidth, and the jitter will appear on the recovered clock output. Vertical noise (such as laser RIN) on the input signal will be converted to jitter by the limit amplifier stage on the input of the clock recovery. These effects can be reduced, by lowering the loop bandwidth setting.
Output Random Jitter (RMS), Front Panel Recovered Clock
50 Mb/s – 4.2 Gb/s: | < 4 mUI 700 fs (0.9 mUI) at 1.25 Gb/s, characteristic)
4.2 Gb/s – 7.2 Gb/s: | < 900 fs (400 fs at 4.25 Gb/s, 500 fs at 2.5 Gb/s, characteristic)
7.2 Gb/s – 11.4 Gb/s: | < 700 fs (300 fs at 10 Gb/s, characteristic)
11.4 Gb/s – 13.5 Gb/s: | < 900 fs
Verified with PRBS7 pattern, electrical inputs > 150 mVp-p, and optical inputs > 3 dB above specification for minimum input level to acquire lock. Output jitter verification results of the 83496A can be affected by jitter on the input test signal.
The 83496A will track jitter frequencies inside the loop bandwidth, and the jitter will appear on the recovered clock output. Vertical noise (such as laser RIN) on the input signal will be converted to jitter by the limit amplifier stage on the input of the clock recovery. These effects can be reduced, by lowering the loop bandwidth setting.
Clock Recovery Adjustable Loop Bandwidth Range (user selectable)
Standard: | 270 kHz or 1.5 MHz (characteristic). At rates below 1 Gb/s, loop bandwidth is fixed at 30 kHz when Option 300 is not installed.
Option 300: | 15 kHz – 10 MHz continuous tuning (fixed value or constant data rate/N ratio). Without Option 200, loop bandwidth is adjustable from 15 kHz – 6 MHz. Available loop bandwidth settings also depend on the data rate of the input signal. For input data transition density from 0.25 to 1, refer to the Selectable Loop Bandwidth Range Versus Data Rate Chart.
Option 300 Loop Bandwidth Range Chart. Depending on the firmware revision in the mainframe, select one of the following two charts. The instrument automatically calculates the minimum and maximum loop bandwidths to ensure that the module operates within specifications.
Mainframe Firmware Revision A.7.00 and Above. Chart of Selectable Loop Bandwidth Range Versus Data Rate (0.25 ≤ Transition Density ≤ 1) |
Mainframe Firmware Revision A.6.01 and Below. Chart of Selectable Loop Bandwidth Range Versus Data Rate (0.5 ≤ Transition Density ≤ 1) |
Loop Bandwidth Accuracy |
Standard | ±30%, characteristic
Option 300 | ±25% for 0.5 transition density, 155 Mb/s to 11.4 Gb/s data rate, and loop bandwidth ≤ (data rate)/1667. For firmware revisions A.06.01 and below: ± 30% for 0.25 ≤ transition density ≤ 1.0 and all data rates, characteristic For firmware revisions A.07.00 and above: ± 30% for 0.5 ≤ transition density ≤ 1.0 and all data rates, characteristic
Tracking Range | ± 1000 ppm of user-entered data rate
Acquisition Range | ± 5000 ppm of user-entered data rate
Internal Optical Splitter Ratio (tapped/passed through) |
Single-mode | 20/80 (characteristic) 50/50 (characteristic, 83496AU-102 modules)
Multimode | 30/70 (characteristic) Electrical signals have inputs only (no internal power dividers)
Minimum Input Level to Acquire Lock, Voltage or Optical Modulation Amplitude (OMA)
Electrical: | 75 mVpp
Single-mode 1310 nm / 1550 nm (OMA): 7.1 Gb/s – 13.5 Gb/s (with Option 200) 1 Gb/s – 7.1 Gb/s 50 Mb/s – 1 Gb/s | –11 dBm, 50 Mb/s to 11.4 Gb/s. –8 dBm, > 11.4 Gb/s –12 dBm, characteristic –14 dBm, characteristic –15 dBm, characteristic
Multimode 1310 nm (OMA): 7.1 Gb/s – 13.5 Gb/s (with Option 200) 1 Gb/s – 7.1 Gb/s 50 Mb/s – 1 Gb/s | –10 dBm, 50 Mb/s to 11.4 Gb/s. –7 dBm, > 11.4 Gb/s –11 dBm, characteristic –13 dBm, characteristic –14 dBm, characteristic
Multimode 850 nm (OMA): 7.1 Gb/s – 13.5 Gb/s (with Option 200) 1 Gb/s – 7.1 Gb/s 50 Mb/s – 1 Gb/s | –8 dBm, 50 Mb/s to 11.4 Gb/s. –7 dBm, > 11.4 Gb/s –9 dBm, characteristic –11 dBm, characteristic –12 dBm, characteristic
To convert from OMA to average power with an extinction ratio of 8.2 dB: Pavg dBm = OMA dBm – 1.68 dB
Input Return Loss |
Single-mode, optical Multimode, optical DC to 12 GHz, electrical 12 to 20 GHz, electrical | 20 dB 16 dB 22 dB minimum, characteristic 16 dB minimum, characteristic
Input Insertion Loss |
Single-mode, optical: Multimode, optical: | 2.5 dB maximum 3 dB maximum
Front-Panel Recovered Clock Output Amplitude | Maximum: 1 Vpp Minimum: 220 mVpp (300 mVpp, characteristic)
Maximum Consecutive Identical Digits (CID) to Acquire Lock | 150 characteristic
Front-Panel Recovered Clock Output Divide Ratio (User Selectable) Minimum frequency of divided front-panel clock output is 25 MHz.
50 Mb/s to 7.1 Gb/s data rates: 7.1 to 13.5 Gb/s data rates: | N = 1 to 16 N = 2 to 16
Data Input/Output Connectors |
Electrical, input only: Single-mode optical: Multimode optical: | 3.5 mm, male FC/PC 9/125 µm FC/PC 62.5/125 µm Additional optical connector adapter types are also available.
Front-Panel Recovered Clock Output Connector | SMA


83496B Module Specifications

83496B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications (Option 100, Electrical Inputs)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Differential or single-ended electrical
Maximum Input (characteristic). Electrical (ac coupled) | 6 Vpp differential 3 Vpp single-ended
Data Rates |
Standard: | 50 Mb/s – 7.1 Gb/s continuous tuning
Option 200: | 50 Mb/s – 14.2 Gb/s continuous tuning
Option 201: | 7.1 Gb/s – 14.2 Gb/s continuous tuning
Output Random Jitter (RMS), Internal Recovered Clock Trigger |
50 Mb/s – 4.2 Gb/s: | < 3 mUI 700 fs (0.9 mUI at 1.25 Gb/s, characteristic)
4.2 Gb/s – 7.2 Gb/s: | < 700 fs (400 fs at 4.25 Gb/s, 500 fs at 2.5 Gb/s, characteristic)
7.2 Gb/s – 11.4 Gb/s: | Serial number US47120106 and below: < 500 fs (300 fs at 10 Gb/s, characteristic) Serial number above US49180101: < 600 fs (400 fs, 250 fs at 10 Gb/s, characteristic)
11.4 Gb/s – 13.5 Gb/s: | < 700 fs
14.2 Gb/s: | < 800 fs, characteristic
For data rates ≤ 13.5 Gb/s, verif ied with PRBS7 pattern, electrical inputs > 150 mVp-p, and optical inputs > 3 dB above specification for minimum input level to acquire lock. For 14.2 Gb/s data rates, verified with 1100 pattern. Output jitter verification results of the 83496B can be affected by jitter on the input test signal.
The 83496B will track jitter frequencies inside the loop bandwidth, and the jitter will appear on the recovered clock output. Vertical noise on the input signal will be converted to jitter by the limit amplifier stage on the input of the clock recovery. These effects can be reduced, by lowering the loop bandwidth setting.
Output Random Jitter (RMS), Front Panel Recovered Clock |
50 Mb/s – 4.2 Gb/s:: | < 4 mUI 700 fs (0.9 mUI) at 1.25 Gb/s, characteristic
4.2 Gb/s – 7.2 Gb/s | < 900 fs (400 fs at 4.25 Gb/s, 500 fs at 2.5 Gb/s, characteristic)
7.2 Gb/s – 11.4Gb/s: | < 700 fs (300 fs at 10 Gb/s, characteristic)
11.4 Gb/s – 13.5 Gb/s: | < 900 fs
For data rates ≤ 13.5 Gb/s, verified with PRBS7 pattern, electrical inputs > 150 mVp-p, and optical inputs > 3 dB above specification for minimum input level to acquire lock. For 14.2 Gb/s data rates, verified with 1100 pattern. Output jitter verification results of the 83496B can be affected by jitter on the input test signal.
The 83496B will track jitter frequencies inside the loop bandwidth, and the jitter will appear on the recovered clock output. Vertical noise on the input signal will be converted to jitter by the limit amplifier stage on the input of the clock recovery. These effects can be reduced, by lowering the loop bandwidth setting.
Clock Recovery Adjustable Loop Bandwidth Range (user selectable)
Standard | 270 kHz or 1.5 MHz (characteristic). At rates below 1 Gb/s, loop bandwidth is fixed at 30 kHz when Option 300 is not installed.
Option 300: | 15 kHz – 10 MHz continuous tuning (fixed value or constant data rate/N ratio). Without Option 200 or Option 201, loop bandwidth is adjustable from 15 kHz – 6 MHz. Available loop bandwidth settings also depend on the data rate of the input signal. For information on input data transition density, refer to the Selectable Loop Bandwidth Range Versus Data Rate Chart.
Option 300 Loop Bandwidth Range Chart. Depending on the firmware revision in the mainframe, select one of the following two charts. The instrument automatically calculates the minimum and maximum loop bandwidths to ensure that the module operates within specifications.
Mainframe Firmware Revision A.7.00 and Above. Chart of Selectable Loop Bandwidth Range Versus Data Rate (0.25 ≤ Transition Density ≤ 1) |
Mainframe Firmware Revision A.6.01 and Below. Chart of Selectable Loop Bandwidth Range Versus Data Rate (0.5 ≤ Transition Density ≤ 1) |
Loop Bandwidth Accuracy |
Standard | ±30%, characteristic
Option 300 | ±25% for 0.5 transition density, 155 Mb/s to 11.4 Gb/s data rate, and loop bandwidth ≤ (data rate)/1667. ±30% for 0.5 ≤ transition density ≤ 1.0 and all data rates, characteristic
Tracking Range | ±1000 ppm of user-entered data rate
Acquisition Range | ±5000 ppm of user-entered data rate
Internal Splitter Ratio | 50/50 (characteristic)
Minimum Input Level to Acquire Lock | 150 mVpp
Tested with a PRBS7 pattern for data rates < 155 Mb/s, with a PRBS23 for data rates between (and including) 155 Mb/s through 13.5 Gb/s, and with an 1100 pattern at 14.2 Gb/s.
Input Return Loss |
DC to 12 GHz: 12 to 20 GHz: | 22 dB minimum, characteristic 16 dB minimum, characteristic
Input Insertion Loss. DC to 20 GHz: | 7.8 dB maximum, characteristic
Electrical Through-path Digital Amplitude Attenuation | 7.5 dB 20 log (Vamp out/Vamp in) measured with PRBS 23 at 13.5 Gb/s.
Front-Panel Recovered Clock Output Amplitude | Maximum: 1 Vpp Minimum: 220 mVpp (300 mVpp, characteristic)
Maximum Consecutive Identical Digits (CID) to Acquire Lock | 150 characteristic
Front-Panel Recovered Clock Output Divide Ratio (User Selectable). Minimum frequency of divided front-panel clock output is 25 MHz.
50 Mb/s to 7.1 Gb/s data rates: 7.1 to 13.5 Gb/s data rates: | N = 1 to 16 N = 2 to 16
Data Input/Output Connectors | 3.5 mm, male
Front-Panel Recovered Clock Output Connector | SMA
Specifications (Option 101, Optical and Electrical Inputs)
Item | Description
Use | Indoor
Temperature |
Operating Non-operating | 0 °C to +55 °C –40 °C to +70 °C
Altitude |
Operating | 4600 m (15,000 ft)
Non-Operating | 15,300 m (50,000 ft)
Humidity |
Operating Non-Operating | Up to 90% relative humidity at < 35 °C Up to 90% relative humidity at < 35 °C
Net weight | Approximately 1.2 kg (2.6 lb)
Shipping weight | Approximately 2.1 kg (4.6 lb)
Power requirements | Supplied by mainframe
Channel Type | Single-mode and multimode optical; Differential or single-ended electrical (input only, no internal electrical dividers)
Maximum Input (characteristic) |
Electrical (ac coupled) | 6 Vpp differential 3 Vpp single-ended
Optical (input damage level) | 1.5 mW average 15 mW peak
Wavelength Range |
Single-mode, optical: | 1250 nm to 1650 nm (characteristic operating range)
Multimode, optical: | 750 nm to 1100 nm and 1200 nm to 1350 nm (characteristic operating range)
If the multimode optical input signal does not have all modes excited in the fiber, the coupling ratio will be reduced and the clock recovery may not acquire lock at minimum specified input levels. It is recommended that an optical mode scrambler be used in such a case.
Data Rates |
Standard: | 50 Mb/s – 7.1 Gb/s continuous tuning
Option 200: | 50 Mb/s – 14.2 Gb/s continuous tuning
Option 201: | 7.1 Gb/s – 14.2 Gb/s continuous tuning
Output Random Jitter (RMS), Internal Recovered Clock Trigger
50 Mb/s – 4.2 Gb/s: | < 3 mUI 700 fs (0.9 mUI at 1.25 Gb/s, characteristic)
4.2 Gb/s – 7.2 Gb/s | < 700 fs (400 fs at 4.25 Gb/s, 500 fs at 2.5 Gb/s, characteristic)
7.2 Gb/s – 11.4 Gb/s: | Serial number US47120106 and below: < 500 fs (300 fs at 10 Gb/s, characteristic) Serial number above US49180101: < 600 fs (400 fs, 250 fs at 10 Gb/s, characteristic)
11.4 Gb/s – 13.5 Gb/s: | < 700 fs
14.2 Gb/s: | < 800 fs, characteristic
For data rates ≤ 13.5 Gb/s, verified with PRBS7 pattern, electrical inputs > 150 mVp-p, and optical inputs > 3 dB above specification for minimum input level to acquire lock. For 14.2 Gb/s data rates, verified with 1100 pattern. Output jitter verification results of the 83496B can be affected by jitter on the input test signal.
The 83496B will track jitter frequencies inside the loop bandwidth, and the jitter will appear on the recovered clock output. Vertical noise on the input signal will be converted to jitter by the limit amplifier stage on the input of the clock recovery. These effects can be reduced, by lowering the loop bandwidth setting.
Output Random Jitter (RMS), Front Panel Recovered Clock
50 Mb/s – 4.2 Gb/s: | < 4 mUI. (700 fs (0.9 mUI) at 1.25 Gb/s, characteristic)
4.2 Gb/s–7.2 Gb/s: | < 900 fs. (400 fs at 4.25 Gb/s, 500 fs at 2.5 Gb/s, characteristic)
7.2 Gb/s – 11.4Gb/s: | < 700 fs (300 fs at 10 Gb/s, characteristic)
11.4 Gb/s – 13.5 Gb/s | < 900 fs
For data rates ≤ 13.5 Gb/s, verified with PRBS7 pattern, electrical inputs > 150 mVp-p, and optical inputs > 3 dB above specification for minimum input level to acquire lock. For 14.2 Gb/s data rates, verified with 1100 pattern. Output jitter verification results of the 83496B can be affected by jitter on the input test signal.
The 83496B will track jitter frequencies inside the loop bandwidth, and the jitter will appear on the recovered clock output. Vertical noise on the input signal will be converted to jitter by the limit amplifier stage on the input of the clock recovery. These effects can be reduced, by lowering the loop bandwidth setting.
Clock Recovery Adjustable Loop Bandwidth Range (user selectable)
Standard: | 270 kHz or 1.5 MHz (characteristic). At rates below 1 Gb/s, loop bandwidth is fixed at 30 kHz when Option 300 is not installed.
Option 300: | 15 kHz – 10 MHz continuous tuning (fixed value or constant data rate/N ratio). Without Option 200 or Option 201, loop bandwidth is adjustable from 15 kHz – 6 MHz. Available loop bandwidth settings also depend on the data rate of the input signal. For input data transition density from 0.25 to 1, refer to the Selectable Loop Bandwidth Range Versus Data Rate Chart.
Option 300 Loop Bandwidth Range Chart. Depending on the firmware revision in the mainframe, select one of the following two charts. The instrument automatically calculates the minimum and maximum loop bandwidths to ensure that the module operates within specifications.
Mainframe Firmware Revision A.7.00 and Above. Chart of Selectable Loop Bandwidth Range Versus Data Rate (0.25 ≤ Transition Density ≤ 1) |
Mainframe Firmware Revision A.6.01 and Below. Chart of Selectable Loop Bandwidth Range Versus Data Rate (0.5 ≤ Transition Density ≤ 1) |
Loop Bandwidth Accuracy |
Standard: | ± 30%, characteristic
Option 300 | ± 25% for 0.5 transition density, 155 Mb/s to 11.4 Gb/s data rate, and loop bandwidth ≤ (data rate)/1667. ±30% for 0.5 ≤ transition density ≤ 1.0 and all data rates, characteristic
Tracking Range | ±1000 ppm of user-entered data rate
Acquisition Range | ±5000 ppm of user-entered data rate
Internal Optical Splitter Ratio (tapped/passed through). 83496B-101(Serial Prefix Break 4823 and Above), 83496AU-102, and 83496BU-102 modules
Single-mode | 50/50 (characteristic)
Multimode | 30/70 (characteristic)
Electrical | Signals have inputs only (no internal power dividers)
Internal Optical Splitter Ratio (tapped/passed through). Serial Prefix Break below 4823
Single-mode | 20/80 (characteristic)
Multimode | 30/70 (characteristic)
Electrical | Signals have inputs only (no internal power dividers)
Minimum Input Level to Acquire Lock, Voltage or Optical Modulation Amplitude (OMA) Tested with a PRBS7 pattern for data rates < 155 Mb/s, with a PRBS23 for data rates between (and including) 155 Mb/s through 13.5 Gb/s, and with an 1100 pattern at 14.2 Gb/s.>
Electrical: | 75 mVpp
Single-mode 1310 nm / 1550 nm (OMA) 7.1 Gb/s – 13.5 Gb/s (with Option 200) 1 Gb/s – 7.1 Gb/s 50 Mb/s – 1 Gb/s | –11 dBm, 50 Mb/s to 11.4 Gb/s. –8 dBm, > 11.4 Gb/s –12 dBm, characteristic –14 dBm, characteristic –15 dBm, characteristic
Multimode 1310 nm (OMA) 7.1 Gb/s – 13.5 Gb/s (with Option 200) 1 Gb/s – 7.1 Gb/s 50 Mb/s – 1 Gb/s | –10 dBm, 50 Mb/s to 11.4 Gb/s. –7 dBm, > 11.4 Gb/s –11 dBm, characteristic –13 dBm, characteristic –14 dBm, characteristic
Multimode 850 nm (OMA) 7.1 Gb/s – 13.5 Gb/s (with Option 200) 1 Gb/s – 7.1 Gb/s 50 Mb/s – 1 Gb/s | –8 dBm, 50 Mb/s to 11.4 Gb/s. –7 dBm, > 11.4 Gb/s –9 dBm, characteristic –11 dBm, characteristic –12 dBm, characteristic
To convert from OMA to average power with an extinction ratio of 8.2 dB: Pavg dBm = OMA dBm – 1.68 dB
Input Return Loss |
Single-mode, optical Multimode, optical DC to 12 GHz, electrical 12 to 20 GHz, electrical | 20 dB 16 dB 22 dB minimum, characteristic 16 dB minimum, characteristic
Input Insertion Loss 83496B-101 (serial prefix break 4823 and above), 83496AU-102, and 83496BU-102 modules
Single-mode, optical: Multimode, optical: | 4 dB maximum, characteristic 4 dB maximum, characteristic
Input Insertion Loss 83496B-101 (serial prefix break below 4823)
Single-mode, optical: Multimode, optical: | 2.5 dB maximum 3 dB maximum
Front-Panel Recovered Clock Output Amplitude | Maximum: 1 Vpp Minimum: 220 mVpp (300 mVpp, characteristic)
Maximum Consecutive Identical Digits (CID) to Acquire Lock | 150 characteristic
Front-Panel Recovered Clock Output Divide Ratio (User Selectable). Minimum frequency of divided front-panel clock output is 25 MHz. Maximum frequency is 7.1 GHz.
Divide ratios | 8:1 (x8), 4:1 (x4), 2:1 (x2), 1:1, 1:2, 1:4, 1:8, 1:16, 1:32 Ratios 8:1, 4:1, 2:1, and 1:32 requires firmware revision A.10.50.
Data Input/Output Connectors |
Electrical, input only: Single-mode optical: Multimode optical: | 3.5 mm, male FC/PC 9/125 µm FC/PC 62.5/125 µm Additional optical connector adapter types are also available.
Front-Panel Recovered Clock Output Connector | SMA


86101A Module Specifications

86101A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical channel specifications are warranted for muti-mode inputs only.
Optical Channel Unfiltered Bandwidth | 2.85 GHz (3 GHz typical)
Wavelength Range | 750 to 860 nm
Calibrated Wavelengths | 850 nm
Filters/Data Rates (MB/s) | OC-3/STM-1 (155) OC-12/STM-4 (622) Fibre Channel (1063) Gigabit Ethernet (1250)
Sensitivity (Characteristic -smallest average power for mask test) | –17 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | < 160 ps
RMS Noise |
Characteristic | 1.5 µW
Maximum | 2.5 µW
Scale Factor |
Minimum | 5 µW/division
Maximum | 100 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±6 µW ±0.4% of full scale ±3% of (reading – channel offset)
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW
Average Power Monitor. Specified Operating Range | –30 dBm to –2.2 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 0.4 mW (–4 dBm)
Maximum Non-destruct Peak | 10 mW
To guarantee that waveforms with large overshoot do not saturate the channel, average power should be kept below –10 dBm.
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


86102A Module Specifications

86102A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical channel specifications are warranted for muti-mode inputs only.
Optical Channel Unfiltered Bandwidth | 10 GHz
Bandwidth is measured at 250 mW CW power (DC offset). Overshoot and peaking will increase as CW power increases which may increase the bandwidth.
Wavelength Range | 750 – 860 nm
Calibrated Wavelengths | 850 nm
Filters/Data Rates (Mb/s) | FC-2125 (2125) FC-3187 (3187.5) 2xGb Ethernet (2500) XAUI (3125) 40 GVSR (2720)
Sensitivity (Characteristic - smallest average power for mask test) | –13.5 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 48 ps
RMS Noise |
Characteristic | 3.4 µW, 10 GHz
Maximum | 5.5 µW, 10 GHz
Scale Factor |
Minimum | 5 µW/division
Maximum | 100 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±6 µW ±0.4% of full scale ±3% of (reading – channel offset)
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW
Average Power Monitor. Specified Operating Range | –30 dBm to –2.2 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, ± connector uncertainty <5°C change
Maximum Non-destruct Input Power |
Average | 0.8 mW (–1 dBm) peak
Peak | 5 mW (+7 dBm)
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
DC Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading –channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ±2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


86102U Module Specifications

86102U Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical channel specifications are warranted for muti-mode inputs only.
Optical Channel Unfiltered Bandwidth | 15 GHz
Wavelength Range | 750 to 860 nm
Calibrated Wavelengths | 850 nm
Filters/Data Rates (Mb/s) | Gigabit Ethernet (1250) STM-16/OC-48 (2488) XAUI (3125)
STM-16/OC-48 is also applicable to 2xGb Ethernet.
Sensitivity (Characteristic, smallest average power for mask test) | –7.5 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 32 ps
RMS Noise |
Characteristic | 14 µW, 15 GHz
Maximum | 20 µW, 15 GHz
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
dc Accuracy (single marker, referenced to average power monitor) | ±25 mW ±2% of (reading–channel offset), 15 GHz
dc Offset (referenced two divisions from screen bottom) | +1 mW to –3 mW,
Average Power Monitor. Specified Operating Range | –27 dBm to +3 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
DC Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


86103A Module Specifications

86103A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Unfiltered Bandwidth | 2.85 GHz (3 GHz typical)
Wavelength Range | 1000 – 1600 nm
Calibrated Wavelengths | 1310 nm/1550 nm
Filters/Data Rates (MB/s) | OC-3/STM-1 (155) OC-12/STM-4 (622) Fibre Channel (1066) Gigabit Ethernet (1250)
Sensitivity (Characteristic, smallest average power for mask test) | –20 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 160 ps
RMS Noise |
Characteristic 86103A-201 86103A-202 | 1 µW 1.5 µW
Maximum 86103A-201 86103A-202 | 1.5 µW 2.5 µW
Scale Factor |
Minimum | 5 mW/division
Maximum | 100 mW/division
CW Accuracy (single marker, referenced to average power monitor) | ±6 mW ±0.4% of full scale ±3% of (reading –channel offset)
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW,
Average Power Monitor. Specified Operating Range | –30 dBm to 0 dBm
Factory Calibrated Accuracy |
Single mode | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
Multimode | ±10% ± 100 nW ± connector uncertainty,20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty,<5°C change
Maximum Input Power |
Maximum Non-destruct Average | 0.4 mW (–4 dBm)
Maximum Non-destruct Peak | 10 mW
To guarantee that waveforms with large overshoot do not saturate the channel, average power should be kept below –10 dBm.
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ±2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


86103B Module Specifications

86103B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Unfiltered Bandwidth | 10 GHz
 | Bandwidth is measured at 250 mW CW power (DC offset). Overshoot and peaking will increase as CW power increases which may increase the bandwidth.
Wavelength Range | 1000 – 1600 nm
Calibrated Wavelengths | 1310 nm/1550 nm
Filters/Data Rates (MB/s) | STM-4/OC-12 (622) STM-16/OC-48 (2488) FC-1063 (1063) Gigabit Ethernet (1250) FC-2125 (2125) 2xGb Ethernet (2500)
Sensitivity (Characteristic - smallest average power for mask test) | –15 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 48 ps
RMS Noise |
Characteristic | 2.2 m W, 10 GHz
Maximum | 3.7 µW, 10 GHz
Scale Factor |
Minimum | 5 µW/division
Maximum | 100 mW/division
CW Accuracy (single marker, referenced to average power monitor) | ±6 mW ±2.4% of full scale ±3% of (reading – channel offset)
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW
Average Power Monitor, Specified Operating Range | –30 dBm to 0 dBm
Factory Calibrated Accuracy |
Single Mode | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
Multimode | ±10% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, ± connector uncertainty, < 5°C change
Maximum Non-destruct Input Power |
Specified | 0.8 mW (–1dBm)
Peak | 3.5 mW (+5.5 dBm)
Fiber Input | 62.5/125 µ m
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


86105A Module Specifications

86105A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth | 12.4 GHz 20 GHz (Unfiltered)
Wavelength Range | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm/1550 nm
Filters/Data Rates (MB/s) | OC-3/STM-1 (155) OC-12/STM-4 (622) OC-48/STM-16 (2488) OC-192/STM-64 (9953)
Sensitivity (Characteristic - smallest average power for mask test) | –8 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 25 ps
RMS Noise |
Characteristic | 8 µW, 12.4 GHz 15 µW, 20 GHz
Maximum | 12 µW, 12.4 GHz 25 µW, 20 GHz
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±25 µW ±2% of (reading– channel offset), 12.4 GHz ±25 µW ±4% of (reading– channel offset), 20 GHz
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW,
Average Power Monitor |
Specified Operating Range | –30 dBm to +3 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, <5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 9/125 µm single-mode
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 33 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
DC Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ±2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


86105B Module Specifications

86105B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth | 10 GHz 15 GHz (unfiltered)
Unfiltered Bandwidth |
86105B-101 | 18 GHz
86105B-102 | 15 GHz
86105B-103 | 15 GHz
Wavelength Range | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm/1550 nm
Filters/Data Rates (Mb/s) (Select one filter package option) |
86105B-101 | OC-192/STM-64 (9953) 10 Gb Ethernet (10312.5) 10x Fibre Channel (10518.75) OC-192/STM-64 FEC (10664) OC-192/STM-64 FEC (10709)
86105B-102 | OC-3/STM-1 (155) OC-12/STM-4 (622) OC-48/STM-16 (2488) 2 Gb Ethernet (2500) InfiniBand (2500) OC-48/STM-16 FEC (2666) OC-192/STM-64 (9953) 10Gb Ethernet (10312.5) 10x Fibre Channel (10518.75) OC-192/STM-64 FEC (10664) OC-192/STM-64 FEC (10709)
86105B-103 | 1x Fibre Channel (1063) Gigabit Ethernet (1250) 2x Fibre Channel (2125) OC-48/STM-16 (2488) 2Gb Ethernet (2500) InfiniBand (2500) OC-192/STM-64 (9953) 10Gb Ethernet (10312.5) 10x Fibre Channel (10518.75) OC-192/STM-64 FEC (10664) OC-192/STM-64 FEC (10709)
86105B-111 | Includes all of the receiver filters provided in Option 86105B-101 plus additional FEC filters for 11.096 Gb/s and 11.317 Gb/s.
86105B-112 | Includes all of the receiver filters provided in Option 86105B-102 plus additional FEC filters for 11.096 Gb/s and 11.317 Gb/s.
86105B-113 | Includes all of the receiver filters provided in Option 86105B-103 plus additional FEC filters for 11.096 Gb/s and 11.317 Gb/s.
Sensitivity (Characteristic - smallest average power for mask test) | –12 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 32 ps
RMS Noise |
Characteristic | 5 µW, 10 GHz 10 µW, 15 GHz
Maximum | 7.5 µW, 10 GHz 15 µW, 15 GHz
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±25 µW ±2% of (reading– channel offset), 12.4 GHz ±25 µW ±4% of (reading– channel offset), 20 GHz
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW,
Average Power Monitor, Specified Operating Range | –30 dBm to +3 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 33 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV, 12.4 GHz 0.5 mV, 20 GHz
Maximum | 0.5 mV, 12.4 GHz 1 mV, 20 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
DC Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2V DC (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


86105C Module Specifications

86105C Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth (–3 dBo, unfiltered) | 8.5 GHz (9 GHz characteristic)
Nominal Wavelength Range | 750 to 1650 nm
Calibrated Wavelengths (OE conversion gains) | 850 nm/1310 nm/1550 nm (±20 nm)
Option 86105C-100 Series Low-Rate Receiver Filters/Data Rates (Four series-100 options installed in 86105C with 86105C-100)
86105C-110 | OC-3/STM-1, 155 Mb/s
86105C-120 | OC-12/STM-4, 622 Mb/s, (Also covers 614 Mb/s)
86105C-130 | 1x Fibre Channel, 1.063 Gb/s
86105C-140 | GPON, 1.244Gb/s and Gigabit Ethernet, 1.250 Gb/s (Also covers 1.229 Mb/s)
86105C-150 | 2x Fibre Channel, 2.125 Gb/s
86105C-160 | OC-48/STM-16, 2.488 Gb/s and 2 Gb Ethernet, 2.500 Gb/s (Also covers 2.458 Gb/s)
86105C-170 | OC-48/STM-16 FEC, 2.666 Gb/s
86105C-180 | 10 Gb Ethernet LX-4, 3.125 Gb/s (Also covers 3.072 Gb/s)
86105C-190 | 4x Fibre Channel, 4.25 Gb/s
86105C-193 | PCIe-2/2x InfiniBand, 5.000 Gb/s
86105C-195 | 2x XAUI, 6.250 Gb/s (Also covers 6.144 Gb/s)
86105C-197 | 8x Fibre Channel, 8.500 Gb/s
Option 86105C-200 Receiver Filters/Data Rates (Includes all of the following multiple 10 Gb/s Receiver Filters) | OC-192/STM-64, 9.953 Gb/s 10Gb Ethernet, 10.3125 Gb/s 10x Fibre Channel, 10.51875 Gb/s OC-192/STM-64 FEC, 10.664 Gb/s OC-192/STM-64 FEC, 10.709 Gb/s 10 Gb Ethernet FEC, 11.0957 Gb/s 10x Fibre Channel FEC, 11.317 Gb/s
Option 300 Receiver Filters/Data Rates |
Option 86105C-300 is a combination of four series 86105C-100 low-rate receiver filters and the 86105C-200 10 Gb/s receiver filters.
Measured frequency response data during recertification falls within Performance Test line limits with allowance for system-to-system measurement uncertainty.
Sensitivity at 850 nm. (Characteristic - smallest average power for mask test) |
≤ 2.666 Gb/s > 2.666 Gb/s to ≤ 4.25 Gb/s > 4.25 Gb/s to 11.3 Gb/s | –20 dBm –19 dBm –16 dBm
Sensitivity at 1310 nm / 1550 nm. (Characteristic - smallest average power for mask test) |
≤ 2.666 Gb/s > 2.666 Gb/s to ≤ 4.25 Gb/s > 4.25 Gb/s to 11.3 Gb/s | –21 dBm –20 dBm –17 dBm
Transition Time (10% to 90% calculated from TR = 0.48/BW optical) | 56 ps
RMS Noise at 850 nm |
≤ 2.666 Gb/s > 2.666 Gb/s to ≤ 4.25 Gb/s > 4.25 Gb/s to 11.3 Gb/s | 1.3 µW (Characteristic) 1.5 µW (Characteristic) 2.5 µW (Characteristic)
≤ 2.666 Gb/s > 2.666 Gb/s to ≤ 4.25 Gb/s > 4.25 Gb/s to 11.3 Gb/s | 2.0 µW (Maximum) 2.5 µW (Maximum) 4.0 µW (Maximum)
RMS Noise at 1310 nm / 1550 nm |
≤ 2.666 Gb/s > 2.666 Gb/s to ≤ 4.25 Gb/s > 4.25 Gb/s to 11.3 Gb/s | 0.8 µW (Characteristic) 1.0 µW (Characteristic) 1.4 µW (Characteristic)
≤ 2.666 Gb/s > 2.666 Gb/s to ≤ 4.25 Gb/s > 4.25 Gb/s to 11.3 Gb/s | 1.3 µW (Maximum) 1.5 µW (Maximum) 2.5 µW (Maximum)
Scale Factor (per division) |
Minimum | 2 µW
Maximum | 100 µW
CW Accuracy (single marker, referenced to average power monitor) |
Single Mode | ±25 µW ±3%
Multimode | ±25 µW ±10%
CW Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW
Average Power Monitor | –30 dBm to 0 dBm
Average Power Monitor Accuracy |
Single Mode | ±5% ± 200 nW ± connector uncertainty
Multimode (characteristic) | ±10% ± 200 nW ± connector uncertainty
Due to variations in mode-filling conditions, the measured power in multimode fiber will vary more than the measured power in single-mode fiber. For users needing the most accurate power measurements, use an optical power meter for multimode power measurements.
User Calibrated Accuracy (Assumes connector is continually attached)
Single Mode | ±3% ± 200 nW ± power meter uncertainty, < 5°C change
Multimode (characteristic) | ±10% ± 200 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 0.5 mW (–3 dBm)
Maximum Non-destruct Peak | 5 mW (+7 dBm)
Input Return Loss (HMS-10 connector fully filled fiber) |
850 nm | > 13 dB
1310 nm / 1550 nm | > 24 dB
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV (12.4 GHz) 0.5 mV (20 GHz)
Maximum | 0.5 mV (12.4 GHz) 1 mV (20 GHz)
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
DC Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ± 2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
DC Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ±2 V DC (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm (male)


86105D Module Specifications

86105D Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth (-3 dBo, unfiltered) | 20 GHz (dBo), characteristic 34 GHz (dBo), characteristic (Option 281)
Nominal Wavelength Range | 750 to 1650 nm
Calibrated Wavelengths (OE conversion gains) | 850 nm/1310 nm/1550 nm (±20 nm)
Receiver Filters/Data Rates | 8x Fibre Channel (8.500 Gb/s), per T11 FC-PI-4 OC-192/STM-64 (9.953 Gb/s) 10Gb Ethernet (10.3125 Gb/s) 10x Fibre Channel (10.51875 Gb/s) OC-192/STM-64 FEC (10.664 Gb/s) OC-192/STM-64 FEC (10.709 Gb/s) 10 Gb Ethernet FEC (11.0957 Gb/s) 10x Fibre Channel FEC (11.317 Gb/s) 16x Fibre Channel (14.025 Gb/s) 15 Gb (Option 281) 25 Gb Ethernet (25.78125 Gb/s) (Option 281) 25 Gb Ethernet FEC (27.7393 Gb/s) (Option 281) OTU4 FEC / ITU-T G.959.1 (27.952 Gb) (Option 281) 32x Fibre Channel (28.05 Gb/s) (Option 281)
Optical Sensitivity (smallest average power for mask test) Characteristic | 850 nm | 1310 nm | 1550 nm
8.5 Gb/s to 11.317 Gb/s | –9 dBm | –12 dBm | –12 dBm
14.025 Gb/s | –6 dBm | –9 dBm | –9 dBm
15.0 Gb/s (Option 281) | –9 dBm | –8 dBm | –8 dBm
25.78125 Gb/s (Option 281) | –6 dBm | –7 dBm | –8 dBm
27.7393 Gb/s to 28.05 Gb/s (Option 281) | –5 dBm | –6 dBm | –7 dBm
Transition Time (10% to 90% calculated from TR = 0.48/BW optical in unfiltered BW) | 24 ps 15 ps (Option 281)
RMS Noise (Characteristic) | 850 nm | 1310 nm | 1550 nm
8.5 Gb/s to 11.317 Gb/s | 10 µW | 5 µW | 5 µW
14.025 Gb/s | 16 µW | 8 µW | 8 µW
15.0 Gb/s (Option 281) | 9 µW | 7 µW | 8 µW
25.78125 Gb/s (Option 281) | 17 µW | 13 µW | 15 µW
27.7393 Gb/s (Option 281) | 18 µW | 15 µW | 17 µW
27.952 Gb/s (Option 281) | 18 µW | 15 µW | 17 µW
28.05 Gb/s (Option 281) | 18 µW | 15 µW | 17 µW)
Unfiltered (Option 281) | 25 µW | 18 µW | 21 µW
RMS Noise (Maximum) | 850 nm | 1310 nm | 1550 nm
8.5 Gb/s to 11.317 Gb/s | 12 µW | 7 µW | 7 µW
14.025 Gb/s | 24 µW | 12 µW | 12 µW
Scale Factor (per division) | 20 µW minimum 500 µW maximum
CW Accuracy over Temperature Range +20 °C to + 30 °C (single marker, referenced to average power monitor)
8.5 Gb/s to 11.317 Gb/s | ±25 µW ±2%
14.025 Gb/s | ±25 µW ±4%
Unfiltered | ±25 µW ±4%
15.0 Gb/s (Option 281) (characteristic) | ±25 µW ±4%
25.78125 Gb/s (Option 281) (characteristic) | ±25 µW ±6%
27.7393 Gb/s to 28.05 Gb/s (Option 281) (characteristic) | ±25 µW ±6%
Unfiltered (Option 281) (characteristic) | ±25 µW ±6%
CW Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW
Average Power Monitor Operating Range (characteristic) | –30 dBm to +3 dBm
Average Power Monitor Range Accuracy for Factory Calibrations (characteristic) Due to variations in mode-filling conditions, the measured power in multimode fiber will vary more than the measured power in single-mode fiber. For users needing the most accurate power measurements, use an optical power meter for multimode power measurements.
1550 nm single mode | ±5% ± 200 nW ± connector uncertainty
1550 nm single mode (Option 281) | ±5% ± 200 nW ± connector uncertainty
1310 nm single mode | ±5% ± 200 nW ± connector uncertainty
1310 nm single mode (Option 281) | ±5% ± 200 nW ± connector uncertainty
850 nm multimode | ±10% ± 200 nW ± connector uncertainty
850 nm multimode (Option 281) | ±10% ± 200 nW ± connector uncertainty
Average Power Monitor Range Accuracy for User Calibrations (characteristic). (Assumes connector is continually attached)
1550 nm single mode | ±3% ± 200 nW ± power meter uncertainty
1550 nm single mode (Option 281) | ±3% ± 200 nW ± connector uncertainty
1310 nm single mode | ±3% ± 200 nW ± power meter uncertainty
1310 nm single mode (Option 281) | ±3% ± 200 nW ± connector uncertainty
850 nm multimode | ±10% ± 200 nW ± power meter uncertainty
850 nm multimode (Option 281) | ±10% ± 200 nW ± connector uncertainty
Maximum Input Power Maximum Non-destruct Average | 850 nm | 1310 nm | 1550 nm
Standard Option 281 | 5 mW (7 dBm) 3 mW (5 dBm) | 5 mW (7 dBm) 6 mW (8 dBm) | 5 mW (7 dBm) 6 mW (8 dBm)
Maximum Input Power Maximum Non-destruct Peak (<10 ns duration, maximum 50% duty cycle) | 850 nm | 1310 nm | 1550 nm
Standard Option 281 | 10 mW (10 dBm) 5 mW (7 dBm) | 10 mW (10 dBm) 10 mW (10 dBm) | 10 mW (10 dBm) 10 mW (10 dBm)
Polarization Dependent Loss at 1550 nm | 0.2 dB (characteristic)
Input Return Loss (HMS-10 connector fully filled fiber) (characteristic) | 850 nm | 1310 nm | 1550 nm
Standard Option 281 | > 14 dB > 13 dB | > 24 dB > 24 dB | > 24 dB > 24 dB
Fiber Input | 62.5/125 µm
Fiber Input Connector | User selectable
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 25 GHz and 35 GHz (characteristic) 25 GHz and 50 GHz (characteristic) (Option 281)
Transition Time (10% to 90% calculated from TR = 0.35/BW)
35 GHz | 10.0 ps
25 GHz | 17.5 ps
25 GHz (Option 281) | 17.5 ps
50 GHz (Option 281) | 7 ps
RMS Noise
35 GHz BW setting | 1 mV (0.5 mV characteristic)
25 GHz BW setting | 0.5 mV (0.25 mV characteristic)
25 GHz BW setting (Option 281) | 0.7 mV (0.4 mV characteristic)
50 GHz BW setting (Option 281) | 1.0 mV (0.6 mV characteristic)
Scale Factor (full height is eight divisions)
Minimum | 1 mV/division
Maximum | 100 mV/division
DC Accuracy (single marker)
35 GHz BW setting | ±0.4% of full scale ± 2 mV ±3% of (reading – channel offset)
25 GHz BW setting | ±0.4% of full scale ±2 mV ±1.5% of (reading – channel offset)
25 GHz BW setting (Option 281) | ±0.4% of full scale ±2 mV ±1.5% of (reading – channel offset)
50 GHz BW setting (Option 281) | ±0.4% of full scale ±2 mV ± 2% of (reading – channel offset)
DC Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2V DC (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5% (characteristic) 5% (characteristic) (Option 281)
Electrical Input | 3.5 mm (male) 2.4 mm (male) (Option 281)


86106A Module Specifications

86106A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth (Characteristic) | 30 GHz, high sensitivity
Wavelength Range (Characteristic) | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Filters/Data Rates (MB/s) | OC-192/STM-64 (9953)
Sensitivity (Characteristic - smallest average power for mask test) | –8 dBm
Transition Time (Characteristic - 10%to 90% calculated from TR = 0.48/BW optical) | < 25 ps, filtered mode
RMS Noise |
Characteristic | 15 µW
Maximum | 30 µW
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±50 µW ±4% of (reading- channel offset)
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW,
Average Power Monitor (specified operating range) | –27 dBm to +3 dBm (2 mW to 2 mW)
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, <5°C change
Maximum Non-destruct Power |
Average | 2 mW
Characteristic | 10 mW
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 30 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 18 and 40 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
18 GHz | 19.5 ps
40 GHz | 9 ps
RMS Noise |
Characteristic | 0.25 mV, 18 GHz 0.5 mV, 40 GHz
Maximum | 0.5 mV, 18 GHz 1 mV, 40 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
18 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
40 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Electrical Input | 2.4 mm


86106B Module Specifications

86106B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth (-3 dBo) | 22 and 28 GHz (characteristic)
Wavelength Range | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Filters/Data Rates (MB/s) |
Standard | STM-64/OC-192 (9953)
Option 86106B-410 | STM-64/OC192 (9953) 10Gb Ethernet (10312.5) STM-64/OC-192 FEC (10664) STM-64/OC-192 FEC (10709)
Sensitivity (Characteristic - smallest average power for mask test) | –7 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 18 ps
RMS Noise |
22 GHz | 10 µW 15 µW (maximum)
28 GHz | 18 µW 30 µW (maximum)
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±50 µW ±4% of (reading– channel offset)
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW
Average Power Monitor (specified operating range) | –27 dBm to +3 dBm (2 µW to 2 mW)
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, <5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 30 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 18 and 40 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
18 GHz | 19.5 ps
40 GHz | 9 ps
RMS Noise |
Typical | 0.25 mV, 18 GHz 0.5 mV, 40 GHz
Maximum | 0.5 mV, 18 GHz 1 mV, 40 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
18 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
40 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 2.4 mm


86107A Module Specifications

86107A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Module Specifications (all software revisions)
Item | Description
Maximum Input Signal | ± 2 Vdc (+16 dBm)
DC Offset Range (referenced to center of display graticule) | ± 200 mV
For 86107A-020, it is recommended to use the 11742A blocking capacitor to prevent DC offset if the DC offset magnitude is greater than ±200mV.
Timebase Linearity Error (Characteristic) | < 200 fs
Required Trigger Signal-to-Noise Ratio | ≥ 200 : 1
Trigger Gating Input Levels (TTL compatible) | Disable: 0 to 0.6V Enable: 3.5 to 5V Pulse width > 500 ns, period > 1 µs
Trigger Impedance | 50 ohm (nominal)
Electrical Input Connector |
86107A-010 | 3.5 mm (m)
86107A-020 | 3.5 mm (m)
86107A-040 | 3.5 mm (m) for 2.4—25 GHz 2.4 mm (m) for 25—48 GHz
Software Revision: A.04.10 and above
Item | Description
Timebase Jitter (RMS) (Characteristic) | Mainframe: 86100D (with an 861XX Series module) | Mainframe: 86100C/D (with 54XXX, 8348X, and N1045A modules)
86107A-010
2.0 GHz—4.0 GHz trigger (0.5 to 1.0 V p-p input signal level), tested at 2.4 GHz | < 150 fs | < 280 fs
4.0 GHz—15.0 GHz trigger (1.0 to 1.5 V p-p input signal level), tested at 10 GHz | < 100 fs | < 200 fs
86107A-020
2.4 GHz —4.0 GHz trigger (0.5 to 0.8 V p-p input signal level), tested at 2.4 GHz | < 150 fs | < 280 fs
4.0 GHz —25.0 GHz trigger (1.0 to 1.5 V p-p input signal level), tested at 10 GHz and 20 GHz | < 100 fs | < 200 fs
86107A-040
2.4 GHz —4.0 GHz trigger (1.0 to 1.5 V p-p input signal level), tested at 2.4 GHz | < 150 fs | < 280 fs
4.0 GHz —48.0 GHz trigger (1.0 to 1.5 V p-p input signal level), tested at 10, 20, and 40 GHz | < 100 fs | < 200 fs
The 86107A provides internal filtering for reference clock signals in the frequency bands listed below. In these bands, you may use a typical digital clock signal, for example, a square wave, BERT output, as well as a sine wave. External filtering is required for non-sinusoidal clock signals that are outside of these bands. External filtering is used to provide a clean sine wave for the reference clock. If the reference clock signal varies from a sinusoid, the precision of the timebase will have some error. Thus harmonics and subharmonics should be kept at a minimum.
Input Signal Type: 86107A-010 2.4— 4.0 GHz 9.0 —12.6 GHz | Synchronous clock. Square wave to sine wave
Input Signal Type: 86107A-020 9.0—12.6 GHz 18.0 —25.0 GHz | Synchronous clock. Square wave to sine wave.
Input Signal Type: 86107A-040 9.0 —12.6 GHz 18.0 —25.0 GHz 39.0 — 48.0 GHz | Synchronous clock. Square wave to sine wave.
Input Signal Type: All other clock frequencies | Synchronous clock. Clean sine wave
Software Revision: A.04.01 and earlier
Item | Description
Timebase Jitter (RMS) (Characteristic) |
86107A-010 | < 280 fs (2.4 GHz – 4.0 GHz trigger) < 200 fs (9 GHz – 12.6 GHz trigger)
86107A-020 | < 200 fs
86107A-040 | < 250 fs (9 GHz – 12.6 GHz, 18 GHz – 25 GHz trigger bands) < 200 fs (39 GHz – 45 GHz trigger)
Trigger Bandwidth (must fall into the following ranges) |
86107A-010 | 2.4 — 4.0 GHz 9.0 — 12.6 GHz
86107A-020 | 9.0 — 12.6 GHz 18.0— 25.0 GHz
86107A-040 | 9.0 — 12.6 GHz 18.0— 25.0 GHz 39.0 — 45.0 GHz
Input Signal Type | Synchronous clock, square wave to sine wave waveform shape
Input Signal Level | 0.5 — 1.0 V p-p 0.2 —1.5 V p-p (characteristic)


86108A Module Specifications

86108A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings
  • 86108A Block Diagram

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Bandwidth | 16 GHz, characteristic and 32 GHz (35 GHz characteristic)
Derived from time domain analysis. |
Transition time (10% to 90%, calculated from TR = 0.35/BW) | 10 ps (characteristic)
RMS noise |
Characteristic | 240 µV (16 GHz) 420 µV (32 GHz)
Maximum | 350 µV (16 GHz) 700 µV (32 GHz)
Scale Factor (per division) |
Minimum | 2 mV/division
Maximum | 100 mV/division
DC accuracy (single marker) | ±0.7% of full scale ±2 mV ± 1.5% of (reading – channel offset) (16 GHz) ±0.7% of full scale ±2 mV ± 3% of (reading – channel offset) (32 GHz)
CW offset range (referenced from center of screen) | ±500 mV
Input dynamic range (relative to channel offset) | ±400 mV
Maximum input signal | ± 2 Vdc (+16 dBm)
Characteristic jitter (clock recovery and precision timebase configuration) | < 60 fs (characteristic)
Verified with maximum input signal (approximately 800 mVpp) |
Maximum jitter (clock recovery and precision timebase configuration) | < 90 fs
Verified with maximum input signal (approximately 800 mVpp) |
Characteristic jitter (clock recovery without precision timebase active) | < 1.25 ps (characteristic)
Effective trigger-to-sample delay (clock recovery and precision timebase configuration) | < 200 ps characteristic)
Characteristic jitter (trigger signal applied to precision timebase input) | < 60 fs (characteristic)
Verified with maximum input signal (approximately 800 mVpp) |
Maximum jitter (trigger signal applied to precision timebase input) | < 90 fs
Verified with maximum input signal (approximately 800 mVpp) |
Precision timebase reference input | 2 to 13.5 GHz 1 to 18 GHz (characteristic)
Precision timebase reference input amplitude | 1.0 to 1.6 Vpp (characteristic)
Precision timebase input signal type The precision timebase performs optimally with a sinusoidal input. Non-sinusoidal signals will operate with some degradation in timebase linearity. | Sinusoid
Precision timebase maximum input level | ±2V (16 dBm)
Precision timebase maximum DC offset level | ±200 mV
Precision timebase input impedance | 50 ohm
Precision timebase connector type | 3.5 mm male
Timebase resolution (with precision timebase active) | 0.5 ps/div
Timebase resolution (precision timebase disabled) | 2 ps/div
Nominal impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm (male)
CH1 to CH2 skew | < 12 ps (characteristic)
Clock Recovery Specifications
Item | Description
Data rates input range | Continuous tuning 0.05 to 14.2 Gb/s
Clock frequency input range | Continuous tuning 0.025 to 7.10 GHz
Minimum input level to acquire lock | 175 mVpp
Recovered clock random jitter Used as internal trigger or at clock output port. This is not taking advantage of the 86108A precision timebase. With precision timebase enabled, system jitter approaches 60 fs for best performance. At 7.1 Gb/s residual jitter is approximately 700 fs. | < 500 fs @ 2 Gb/s < 400 fs @ 5 Gb/s < 400 fs @ 10 Gb/s
Clock recovery adjustable loop bandwidth range (user selectable) | 0.015 to 10 MHz
Clock recovery loop peaking range | Up to 4 settings (dependent on loop BW)
Loop bandwidth accuracy | ± 30%, characteristic
Tracking range (includes spread-spectrum tracking) | ± 2500 ppm ± 0.25%, characteristic
Acquisition range | ± 5000 ppm, characteristic
Maximum consecutive identical digits to lock | 150, characteristic
Auto relocking | If signal lock is lost, system can automatically attempt to regain phase-lock. User selectable to enable or disable.
Residual spread spectrum | –72 ±3 dB @ 33 kHz, characteristic
Front panel recovered clock amplitude | 0.15 to 1.0 Vpp (0.3 to 1.0 Vpp, characteristic)
Front panel recovered clock divide ratio (user selectable) | 8:1 (x8), 4:1 (x4), 2:1 (x2), 1:1, 1:2, 1:4, 1:8, 1:16, 1:32 Ratios 8:1, 4:1, 2:1, and 1:32 require firmware revision A.10.50.
Rear panel recovered clock divide ratio (user selectable) | 1, 2, 4, 8, 16
Recovered clock front panel connector type | SMA
Internal frequency counter accuracy | ± 10 ppm


86108B Module Specifications

86108B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings
  • 86108B Block Diagram

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Option LBW | Option HBW
Bandwidth (two user settings) | 20 GHz (characteristic) and 35 GHz | 35 GHz (characteristic) and 50 GHz
Risetime (10% to 90%) | 10 ps (characteristic) | 7 ps (characteristic)
RMS noise
Characteristic | 300 µV (20 GHz) 500 µV (35 GHz) | 600 µV (35 GHz) 800 µV (50 GHz)
Maximum | 350 µV (20 GHz) 700 µV (35 GHz) | 750 µV (35 GHz) 0.98 mV (50 GHz)
Scale Factor (per division)
Minimum | 1 mV/division
Maximum | 140 mV/division
DC accuracy (single marker) | ±0.7% of full scale ±2 mV ± 1.5% of (reading – channel offset) (20 GHz) ±0.7% of full scale ±2 mV ± 3% of (reading – channel offset) (35 GHz) | ±0.7% of full scale ±2 mV ± 1.5% of (reading – channel offset) (35 GHz) ±0.7% of full scale ±2 mV ± 3% of (reading – channel offset) (50 GHz)
CW offset range (referenced from center of screen) | ±560 mV
Input dynamic range (relative to channel offset) | ±560 mV
Maximum input signal | ±2.5 Vdc (+18 dBm)
Random jitter (clock recovery and precision timebase configuration) | < 60 fs (characteristic), < 90 fs maximum Verified with maximum input signal (approximately 1 Vpp at 8 GHz) | < 45 fs (characteristic), < 70 fs maximum Verified with maximum input signal (approximately 1 Vpp at 16 GHz)
Random jitter (clock recovery without precision timebase active) | < 1.25 ps (characteristic)
Effective trigger-to-sample delay (clock recovery and precision timebase configuration) | < 200 ps characteristic), < 350 ps maximum
Characteristic jitter (trigger signal applied to precision timebase input) Verified with maximum input signal (approximately 1.2 Vpp @ 12 GHz) | 60 fs (characteristic)
Maximum jitter (trigger signal applied to precision timebase input) Verified with maximum input signal (approximately 1.2 Vpp @ 12 GHz) | < 100 fs
Precision timebase reference input | 2 to 13.5 GHz 1 to 18 GHz (characteristic)
Precision timebase reference input amplitude | 1.0 to 1.6 Vpp (characteristic)
Precision timebase input signal type The precision timebase performs optimally with a sinusoidal input. Non-sinusoidal signals will operate with some degradation in timebase linearity. | Sinusoid
Precision timebase maximum input level | ±2V (16 dBm)
Precision timebase maximum DC offset level | ±200 mV
Precision timebase input impedance | 50 ohm
Precision timebase connector type | 3.5 mm male
Timebase resolution (with precision timebase active) | 0.5 ps/div
Timebase resolution (precision timebase disabled) | 2 ps/div
Nominal impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm (male) | 2.4 mm (male)
CH1 to CH2 skew | < 10 ps (characteristic)
Clock Recovery Specifications
Item | Option LBW | Option HBW
Data rates input range | Continuous tuning 0.05 to 16 Gb/s | Continuous tuning 0.05 to 32 Gb/s
Clock frequency input range | Continuous tuning 0.025 to 8 GHz | Continuous tuning 0.025 to 16 GHz
Minimum input level to acquire lock | 175 mVpp to 28 Gb/s, 150 mVpp to 32 Gb/s (typical)
Recovered clock random jitter Used as internal trigger or at clock output port. This is not taking advantage of the 86108B precision timebase. With precision timebase enabled, system jitter approaches 60 fs for best performance. | 300 fs @ <2 Gb/s (characteristic) 200 fs @ ≥2 Gb/s (characteristic)
Clock recovery adjustable loop bandwidth range (user selectable) | 0.015 to 20 MHz
Clock recovery loop peaking range | Up to 4 settings (dependent on loop BW)
Loop bandwidth accuracy | ± 30%, characteristic
Tracking range (includes spread-spectrum tracking) | ± 2500 ppm ± 0.25%, characteristic
Acquisition range | ± 5000 ppm, characteristic
Maximum consecutive identical digits to lock | 150, characteristic
Auto relocking | If signal lock is lost, system can automatically attempt to regain phase lock. User selectable to enable or disable.
Residual spread spectrum | –84 dB ±3 dB at 33 kHz, characteristic
Phase noise accuracy | 30%, characteristic
Front panel recovered clock amplitude | 420 mV @ 1.25 GHz, (characteristic)
Front panel recovered clock divide ratio (user selectable) | 1, 2, 4, 8, 16
Rear panel recovered clock divide ratio (user selectable) | 1, 2, 4, 8, 16
Recovered clock front panel connector type | SMA
Internal frequency counter accuracy | ± 10 ppm


86109A Module Specifications

86109A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth (Characteristic) | 30 GHz, unfiltered
Wavelength Range (Characteristic) | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Sensitivity (Characteristic - smallest average power for mask test) | –8 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 13 ps
RMS Noise |
Characteristic | 15 µW
Maximum | 30 µW
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±50 µW ±4% of (reading– channel offset)
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW,
Average Power Monitor (specified operating range) | –27 dBm to +3 dBm (2 µW to 2 mW)
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 30 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 18 and 40 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
18 GHz | 19.5 ps
40 GHz | 9 ps
RMS Noise |
Characteristic | 0.25 mV, 18 GHz 0.5 mV, 40 GHz
Maximum | 0.5 mV, 18 GHz 1 mV, 40 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
18 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
40 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 2.4 mm


86109B Module Specifications

86109B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth (user selectable) | 26 GHz / 40 GHz
Optical Channel Frequency Response |
Best Signal Integrity Mode | 30 GHz (–2.5 dB) 40 GHz (–3.5 dB) 50 GHz (–4.5 dB)
Best Noise Performance Mode | 26 GHz (–3 dB)
High-band setting only. Specified with 8 point moving average. The frequency sweeping step is 200 MHz.
Wavelength Range | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Optical Conversion |
1550 nm | 11 V/W
1310 nm | 12 V/W
Impulse Risetime (10% to 90% measured from impulse response) | 8.5 ps
Impulse Pulsewidth (FWHM measured from impulse response) | 12 ps
Measured with optical pulses with 5 ps FWHM, 10 Gb/s repetition rate, and 2 mW peak power.
Impulse Aberrations (characteristic) | < 10% peak-to-peak
Polarization Dependent Loss (PDL) | < 0.5 dB
RMS Noise |
Characteristic | 50 µW (best pulse integrity mode) 20 µW (best noise performance mode)
Maximum | 70 µW (best pulse integrity mode) 30 µW (best noise performance mode)
Measured with modules set at 1310 nm O/E conversion (responsivity) mode.
Scale Factor |
Minimum | 20 µW/division
Maximum | 1.0 mW/division
CW Accuracy (single marker, referenced to average power monitor) | ±50 µW ±4% of (reading– channel offset)
Offset Range (referenced two divisions from screen bottom) | –6 mW to +2 mW
Average Power Monitor (specified operating wavelength range) | –23 dBm to +9 dBm (5 µW to 8 mW)
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2.5% ± 100 nW ± power meter uncertainty, ± connector uncertainty, <5°C change
Maximum Input Power |
Maximum Displayed Peak | 8 mW (+9 dBm)
Maximum Non-destruct Peak | 50 mW (+17 dBm), or 0.25 pJ per pulse
Maximum Non-destruct average | 10 mW (+10 dBm)
Maximum non-destruct power is related to the fill factor (duty cycle) of the RZ waveform. The factory specification is defined by using a 20% filled 40 Gb/s pulse train (in other words, 5 ps FWHM and 25 ps period). This concept can also be specified as maximum non-destruct pulse energy. The factory specification is specified with 5 ps FWHM optical pulses and maximum non-destruct power providing that the individual pulse shape is square.
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 30 dB
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth | 26 GHz / 50 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW) |
26 GHz | < 14 ps
50 GHz | 7 ps
RMS Noise |
Characteristic | 0.25 mV, 26 GHz 0.60 mV, 50 GHz
Maximum | 0.5 mV, 26 GHz 1 mV, 50 GHz
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
26 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
50 GHz | ±0.4% of full scale ±2 mV ± 2% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 2.4 mm


86111A Module Specifications

86111A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Each channel of a dual optical module meets the published specifications. There is no specification of relative performance between the two channels. However, characteristics of individual channels may vary.
Optical Channel Unfiltered Bandwidth | 2.85 GHz, high sensitivity (3 GHz typical)
Wavelength Range | 750 to 860 nm
Calibrated Wavelengths | 850 nm
Filter/Data Rates (Mb/s) |
86111A-201 | OC-3/STM-1 (155) OC-12/STM-4 (622)
86111A-202 | Fibre Channel (1063) Gigabit Ethernet(1250)
Optical channel specifications are warranted for muti-mode inputs only.
Sensitivity (Characteristic - smallest average power for mask test) | –17dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 160 ps
RMS Noise |
Characteristic | 1.5 µW
Maximum | 2.5 µW
Scale Factor |
Minimum | 5 µW/division
Maximum | 100 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±6 µW ±0.4% of full scale ±3% of (reading – channel offset)
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to -0.6 mW,
Average Power Monitor, Specified Operating Range | –30 dBm to –2.2 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 0.4 mW (–4 dBm)
Maximum Non-destruct Peak | 10 mW
To guarantee that waveforms with large overshoot do not saturate the channel, average power should be kept below –10 dBm.
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB


86111U Module Specifications

86111U Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Each channel of a dual optical module meets the published specifications. There is no specification of relative performance between the two channels. However, characteristics of individual channels may vary.
Optical Channel Unfiltered Bandwidth | 15 GHz
Wavelength Range | 750 to 860 nm
Calibrated Wavelengths | 850 nm
Filters/Data Rates (Mb/s) |
86111U-201 | Gigabit Ethernet (1250) OC-48/STM-16 (2488)
86111U-202 | OC-48/STM-16 (2488) XAUI (3125)
Filters/Data Rates (Mb/s) |
86111U-201 | Gigabit Ethernet (1250) OC-48/STM-16 (2488)
86111U-202 | OC-48/STM-16 (2488) XAUI (3125)
OC-48/STM-16 also applicable to 2xGb Ethernet. Optical channel specifications are warranted for muti-mode inputs only.
Sensitivity (Characteristic - smallest average power for mask test) | –7.5 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 32 ps
RMS Noise |
Characteristic | 14 µW, 15 GHz
Maximum | 20 µW, 15 GHz
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±25 µW ±2% of (reading – channel offset), 15 GHz
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW,
Average Power Monitor, Specified Operating Range | –27 dBm to +3 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB


86112A Module Specifications

86112A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Electrical Channel Bandwidth
Standard | ≥12.4 GHz and ≥ 20 GHz
Option HBW | ≥12.4 GHz and ≥ 30 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW)
12.4 GHz | ≤ 28.2 ps
20 GHz | ≤ 17.5 ps
30 GHz (Option HBW) | ≤ 11.7 ps
RMS Noise
12.4 GHz | 0.5 mV, maximum 0.25 mV, characteristic
20 GHz | 1.0 mV, maximum 0.5 mV, characteristic
30 GHz (Option HBW) | 1.0 mV, maximum 0.5 mV, characteristic
Scale Factor (full height is eight divisions)
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker)
12.4 GHz | ±0.4% of full scale ±2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
30 GHz (Option HBW) | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input | 3.5 mm


86113A Module Specifications

86113A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Each channel of a dual optical module meets the published specifications. There is no specification of relative performance between the two channels. However, characteristics of individual channels may vary.
Optical Channel Unfiltered Bandwidth | 2.85 GHz (3 GHz, high sensitivity)
Wavelength Range (Characteristic) | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Filter/Data Rates |
86113A-201 | OC-3/STM-1 (155) OC-12/STM-4 (622)
86113A-202 | Fibre Channel (1063) Gigabit Ethernet (1250)
86113A-301 | OC-3/STM-1 (155) OC-12/STM-4 (622) OC-48/STM-16 (2488)
Optical channel specifications are warranted for single mode inputs only.
Sensitivity (Characteristic - smallest average power for mask test) | –20 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 160 ps
RMS Noise |
Characteristic | 1 µW, opt 201, 301 1.5 µW, opt 202
Maximum | 1.5 µW, opt 201, 301 2.5 µW, opt 202
Scale Factor |
Minimum | 5 µW/division
Maximum | 100 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±6 µW ±0.4% of full scale ±3% of (reading – channel offset)
Offset Range (referenced two divisions from screen bottom) | +0.2 mW to –0.6 mW,
Average Power Monitor, Specified Operating Range | –30 dBm to 0 dBm
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C (single mode) ±10% ± 100 nW ± connector uncertainty, 20°C to 30°C (multimode)
Factory calibrated accuracy is specified with a single mode input source.
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 0.4 mW (–4 dBm)
Maximum Non-destruct Peak | 10 mW
To guarantee that waveforms with large overshoot do not saturate the channel, average power should be kept below –10 dBm.
Fiber Input | 62.5/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB


86115B Module Specifications

86115B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Each channel of a dual optical module meets the published specifications. There is no specification of relative performance between the two channels. However, characteristics of individual channels may vary.
Optical Channel Bandwidth (-3 dBo) (Characteristic) | 28 GHz 22 GHz
The 86115B has two bandwidth settings, filtered and unfiltered. Both settings provide 22 GHz and 28 GHz.
Wavelength Range (Characteristic) | 1000 to 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Filters/Data Rates (Mb/s) |
86115B-101 | OC-192/STM-64 (9953)
86115B-401 | STM-64/OC192 (9953) 10Gb Ethernet (10312.5) STM-64/OC-192 FEC (10664) STM-64/OC-192 FEC (10709)
Sensitivity (Characteristic - smallest average power for mask test) | –7 dBm
Transition Time (10%to 90% calculated from TR = 0.48/BW optical) | 18 ps
RMS Noise |
Filtered or 22 GHz | 10 µW 15 µW (maximum)
28 GHz | 18 µW 30 µW (maximum)
Scale Factor |
Minimum | 20 µW/division
Maximum | 500 µW/division
CW Accuracy (single marker, referenced to average power monitor) | ±50 µW ±4% of (reading– channel offset)
Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW,
Average Power Monitor (specified operating range) | –27 dBm to +3 dBm (2 µW to 2 mW)
Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
User Calibrated Accuracy | ±2% ± 100 nW ± power meter uncertainty, < 5°C change
Maximum Input Power |
Maximum Non-destruct Average | 2 mW
Maximum Non-destruct Peak | 10 mW
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 30 dB


86115D Module Specifications

86115D Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Optical Channel Bandwidth (-3 dBo, unfiltered) | 20 GHz (dBo), characteristic 34 GHz (dBo), characteristic (Option 282)
Nominal Wavelength Range | 750 to 1650 nm
Calibrated Wavelengths (OE conversion gains) | 850 nm/1310 nm/1550 nm (±20 nm)
Receiver Filters/Data Rates | 8x Fibre Channel (8.500 Gb/s), per T11 FC-PI-4 OC-192/STM-64 (9.953 Gb/s) 10Gb Ethernet (10.3125 Gb/s) 10x Fibre Channel (10.51875 Gb/s) OC-192/STM-64 FEC (10.664 Gb/s) OC-192/STM-64 FEC (10.709 Gb/s) 10 Gb Ethernet FEC (11.0957 Gb/s) 10x Fibre Channel FEC (11.317 Gb/s) 16x Fibre Channel (14.025 Gb/s) 15 Gb (Option 282) 25 Gb Ethernet (25.78125 Gb/s) (Option 282) 25 Gb Ethernet FEC (27.7393 Gb/s) (Option 282) OTU4 FEC / ITU-T G.959.1 (27.952 Gb) (Option 282) 32x Fibre Channel (28.05 Gb/s) (Option 282)
Optical Sensitivity (smallest average power for mask test) Characteristic | 850 nm | 1310 nm | 1550 nm
8.5 Gb/s to 11.317 Gb/s (Option 002) 8.5 Gb/s to 11.317 Gb/s (Option 004) | –9 dBm –8 dBm | –12 dBm –11 dBm | –12 dBm –11 dBm
14.025 Gb/s (Option 002) 14.025 Gb/s (Option 004) | –6 dBm –5 dBm | –9 dBm –8 dBm | –9 dBm –8 dBm
15.0 Gb/s (Option 282) | –9 dBm | –8 dBm | –8 dBm
25.78125 Gb/s (Option 282) | –6 dBm | –7 dBm | –8 dBm
27.7393 Gb/s to 28.05 Gb/s (Option 282) | –5 dBm | –6 dBm | –7 dBm
Transition Time (10% to 90% calculated from TR = 0.48/BW optical in unfiltered BW) | 24 ps 15 ps (Option 282)
RMS Noise (Characteristic) | 850 nm | 1310 nm | 1550 nm
8.5 Gb/s to 11.317 Gb/s (Option 002) 8.5 Gb/s to 11.317 Gb/s (Option 004) | 10 µW 12 µW | 5 µW 6 µW | 5 µW 6 µW
14.025 Gb/s (Option 002) 14.025 Gb/s (Option 004) | 16 µW 20 µW | 8 µW 10 µW | 8 µW 10 µW
15.0 Gb/s (Option 282) | 9 µW | 7 µW | 8 µW
25.78125 Gb/s (Option 282) | 17 µW | 13 µW | 15 µW
27.7393 Gb/s (Option 282) | 18 µW | 15 µW | 17 µW
27.952 Gb/s (Option 282) | 18 µW | 15 µW | 17 µW
28.05 Gb/s (Option 282) | 18 µW | 15 µW | 17 µW
Unfiltered (Option 282) | 25 µW | 18 µW | 21 µW
RMS Noise (Maximum) | 850 nm | 1310 nm | 1550 nm
8.5 Gb/s to 11.317 Gb/s (Option 002) 8.5 Gb/s to 11.317 Gb/s (Option 004) | 12 µW 14 µW | 7 µW 8.5 µW | 7 µW 8.5 µW
14.025 Gb/s (Option 002) 14.025 Gb/s (Option 004) | 24 µW 30 µW | 12 µW 14 µW | 12 µW 14 µW
Scale Factor (per division) | 20 µW minimum 500 µW maximum
CW Accuracy over Temperature Range +20 °C to + 30 °C (single marker, referenced to average power monitor)
8.5 Gb/s to 11.317 Gb/s | ±25 µW ±2%
14.025 Gb/s | ±25 µW ±4%
Unfiltered | ±25 µW ±4%
15.0 Gb/s (Option 282) (characteristic) | ±25 µW ±4%
25.78125 Gb/s (Option 282) (characteristic) | ±25 µW ±6%
27.7393 Gb/s to 28.05 Gb/s (Option 282) (characteristic) | ±25 µW ±6%
Unfiltered (Option 282) (characteristic) | ±25 µW ±6%
CW Offset Range (referenced two divisions from screen bottom) | +1 mW to –3 mW
Average Power Monitor Operating Range (characteristic) | –30 dBm to +3 dBm
Average Power Monitor Range Accuracy for Factory Calibrations (characteristic) Due to variations in mode-filling conditions, the measured power in multimode fiber will vary more than the measured power in single-mode fiber. For users needing the most accurate power measurements, use an optical power meter for multimode power measurements.
1550 nm single mode (Option 002) | ±5% ± 200 nW ± connector uncertainty
1550 nm single mode (Option 004) | ±5% ± 200 nW ± connector uncertainty ± 0.1% * (ambient temperature – 25°C)
1550 nm single mode (Option 282) | ±5% ± 200 nW ± power meter uncertainty ± connector uncertainty
1310 nm single mode (Option 002) | ±5% ± 200 nW ± connector uncertainty
1310 nm single mode (Option 004) | ±5% ± 200 nW ± connector uncertainty ± 0.1% * (ambient temperature – 25°C)
1310 nm single mode (Option 282) | ±5% ± 200 nW ± power meter uncertainty ± connector uncertainty
850 nm multimode (Option 002) | ±10% ± 200 nW ± connector uncertainty
850 nm multimode (Option 004) | ±10% ± 200 nW ± connector uncertainty ± 0.1% * (ambient temperature – 25°C)
850 nm multimode (Option 282) | ±10% ± 200 nW ± power meter uncertainty ± connector uncertainty
Average Power Monitor Range Accuracy for User Calibrations (characteristic). (Assumes connector is continually attached)
1550 nm single mode (Option 002) | ±3% ± 200 nW ± power meter uncertainty ± connector uncertainty
1550 nm single mode (Option 004) | ±3% ± 200 nW ± power meter uncertainty ± connector uncertainty ± 0.1% * (ambient temperature – 25°C)
1550 nm single mode (Option 282) | ±3% ± 200 nW ± connector uncertainty
1310 nm single mode (Option 002) | ±3% ± 200 nW ± power meter uncertainty ± connector uncertainty
1310 nm single mode (Option 004) | ±3% ± 200 nW ± power meter uncertainty ± connector uncertainty ± connector uncertainty ± 0.1% * (ambient temperature – 25°C)
1310 nm single mode (Option 282) | ±3% ± 200 nW ± connector uncertainty
850 nm multimode (Option 002) | ±10% ± 200 nW ± power meter uncertainty ± connector uncertainty
850 nm multimode (Option 004) | ±10% ± 200 nW ± power meter uncertainty ± connector uncertainty ± 0.1% * (ambient temperature – 25°C)
850 nm multimode (Option 282) | ±10% ± 200 nW ± connector uncertainty
Maximum Input Power Maximum Non-destruct Average | 850 nm | 1310 nm | 1550 nm
Standard Option 282 | 5 mW (7 dBm) 3 mW (5 dBm) | 5 mW (7 dBm) 6 mW (8 dBm) | 5 mW (7 dBm) 6 mW (8 dBm)
Maximum Input Power Maximum Non-destruct Peak (<10 ns duration, maximum 50% duty cycle) | 850 nm | 1310 nm | 1550 nm
Standard Option 282 | 10 mW (10 dBm) 5 mW (7 dBm) | 10 mW (10 dBm) 10 mW (10 dBm) | 10 mW (10 dBm) 10 mW (10 dBm)
Polarization Dependent Loss at 1550 nm | 0.2 dB (characteristic)
Input Return Loss (HMS-10 connector fully filled fiber) (characteristic) | 850 nm | 1310 nm | 1550 nm
Standard Option 282 | > 14 dB > 13 dB | > 24 dB > 24 dB | > 24 dB > 24 dB
Fiber Input | 62.5/125 µm
Fiber Input Connector | User selectable


86116A Module Specifications

86116A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Wavelength Range | 1000 - 1600 nm
Calibrated Wavelengths | 1310 nm and 1550 nm
Optical Channel Bandwidth |
Best Pulse Fidelity Mode - (characteristic) | 53 GHz
Best Sensitivity Mode - (characteristic) | ~50 GHz
Default Optical Channel Setting | 50 GHz (Best Sensitivity Mode)
Calculated from optical impulse pulse width measurements on an optical impulse: BW = 0.48/FWHM.
Impulse Rise Time (characteristic, 10% to 90% measured from impulse response) | 7.4 ps
Impulse Pulse Width (characteristic, FWHM measured from impulse response for Best Pulse Fidelity Mode) | 9.0 ps
Measured with optical impulse with a pulse of 700 fs FWHM, 5 MHz repetition rate, and 10 mW peak power.
System jitter less than 800 fs RMS.
Impulse Distortion (characteristic) | < 15%
Impulse distortion (%) = [(distortion peak-to-peak)/impulse height] x 100%.
RZ Pattern Dependency: One Level Distortion (characteristic) | < 15%
Pattern Dependency: One Level Distortion (%) = [One Level variation/Max One Level] x 100%; measured with 40 Gb/s RZ pattern (32 consecutive bits of RZ "1's") with 6 ps FWHM input pulses resulting in a fill factor of 24%.
RZ Pattern Dependency: Zero Level Distortion (characteristic) | < 20%
Pattern Dependency: Zero Level Distortion (%) = [Zero Level variation/Max One Level] x 100%; measured with 40 Gb/s RZ pattern (16 bits "Zero" followed by 16 bits "One") with 6 ps FWHM pulses resulting in a fill factor of 24%.
Average Input Power for Linear Operation using 40 Gb/s RZ Signals (characteristic) | < 4 mW
Tested with 40 Gb/s RZ signals with pulses of 6 ps (FWHM).
Polarization Dependent Loss (PDL) (characteristic) | < 0.5 dB
RMS Noise |
Characteristic | 160 µW (best pulse fidelity mode: 53 GHz setting ) 60 µW (best sensitivity mode: ~50 GHz setting)
Maximum | 260 µW (best pulse fidelity mode: 53 GHz setting) 90 µW (best sensitivity mode: ~50 GHz setting)
Measured one standard deviation from mean, with modules set at 1310 nm O/E conversion (responsivity) mode.
Scale Factor (full height is eight divisions) |
Minimum | 200 µW/division
Maximum | 2.5 mW/division
CW Optical Power Accuracy (single marker, referenced to average power monitor) | ±150 µW ±4% of (reading – channel offset)
CW Optical Power Offset (referenced two divisions from screen bottom) | –15 mW to +5 mW
Average Optical Power Monitor (1000 – 1600 nm) | –23 dBm to +9 dBm (5 µW to 8 mW)
Average Optical Power Factory Calibrated Accuracy | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
Conditions: CW optical power only (no modulation).
Average Optical Power User Calibrated Accuracy | ±2.5% ± 100 nW ± power meter uncertainty, ± connector uncertainty, < 5°C change
Conditions: CW optical power only (no modulation).
Maximum Input Average Optical Power |
Maximum Displayed Peak | 20 mW (+13 dBm)
Maximum Linear Peak - (characteristic) | 30 mW (+14.8 dBm), or 0.15 pJ per pulse, whichever is less
Maximum Non-destruct Peak - (characteristic) | 50 mW (+17 dBm), or 0.25 pJ per pulse, whichever is less
Maximum Non-destruct average - (characteristic) | 10 mW (+10 dBm)
Maximum non-destruct power is related to the fill factor (duty cycle) of the RZ waveform. The factory specification is defined by using a 20% filled 40 Gb/s pulse train (in other words, 5 ps FWHM and 25 ps period). This concept can also be specified as maximum non-destruct pulse energy. The factory specification is specified with 5 ps FWHM optical pulses and maximum non-destruct power providing that the individual pulse shape is square.
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 30 dB
Proper connector care is required to maintain this specification.
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth |
Best Pulse Fidelity (characteristic) | 63 GHz
Best Sensitivity (characteristic) | ~43 GHz
Default Electrical Channel Setting (characteristic) | 63 GHz (Best Fidelity Mode)
Specified with a 3.2 GHz moving average.
Transition Time (10% to 90%) |
63 GHz setting (characteristic) | 5.6 ps
43 GHz setting (characteristic) | 8.1 ps
Calculated from tr = 0.35 / BW.
RMS Noise |
Characteristic | 0.6 mV (best sensitivity setting: ~43 GHz setting) 1.7 mV (best pulse fidelity setting: 63 GHz setting)
Maximum | 0.9 mV (best sensitivity setting: ~43 GHz setting) 2.5 mV (best pulse fidelity setting: 63 GHz setting)
Measured one standard deviation from mean.
Scale Factor (full height is eight divisions) |
Electrical Minimum | 2 mV/division
Electrical Maximum | 100 mV/division
dc Accuracy (single marker) |
43 GHz Setting | ±0.8% of full scale ±2 mV ± 1.5% of (reading – channel offset)
63 GHz Setting | ±2.5% of full scale ±2 mV ± 2% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 30 ps rise time) | 5%
Electrical Input Connector | 1.85 mm, Male


86116B Module Specifications

86116B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications
Item | Description
Wavelength Range | 1480 – 1620 nm
Calibrated Wavelength | 1550 nm
Optical Channel Bandwidth |
Best Pulse Fidelity Mode (characteristic-calculated) | 65 GHz
Better Sensitivity Mode (characteristic-calculated) | ~ 60 GHz
Best Sensitivity Mode (characteristic-calculated) | ~ 55 GHz
Default Optical Channel Setting | 65 GHz (best pulse fidelity mode)
Calculated from optical impulse pulse width measurements on an optical impulse: BW = 0.48/FWHM.
Impulse Rise Time (characteristic - 10% to 90% measured from impulse response) | 5.4 ps
Impulse Pulse Width (characteristic ). Measured with optical impulse (Best Pulse Fidelity Mode) with a pulse of 700 fs FWHM, 5 MHz repetition rate, and 10 mW peak power. System jitter less than 800 fs RMS. Refer to following graphic. | 7.4 ps (characteristic )
Impulse Distortion (characteristic) | < 10%
Impulse distortion (%) = [(distortion peak-to-peak)/impulse height] x 100%.
Average Input Power for Linear Operation using 40 Gb/s RZ Signals (characteristic) | < 5 mW
Tested with 40 Gb/s RZ signals with pulses of 6 ps (FWHM).
Polarization Dependent Loss (PDL) (characteristic) | < 0.8 dB
RMS Noise |
65 GHz Setting (best pulse fidelity) | 250 µW, maximum 140 µW, characteristic
60 GHz Setting (better sensitivity) | 150 µW, maximum 70 µW, characteristic
55 GHz Setting (best sensitivity) | 85 µW, maximum 50 µW, characteristic
Measured one standard deviation from mean, with modules set at 1310 nm O/E conversion (responsivity) mode.
Scale Factor (full height is eight divisions) |
Minimum | 200 µW/division
Maximum | 5 mW/division
CW Optical Power Accuracy (single marker, referenced to average power monitor) | ±150 µW ±4% of (reading – channel offset)
CW Optical Power Offset (referenced two divisions from screen bottom) | –12 mW to + 8 mW
Average Optical Power Monitor (1480 – 1620 nm) | –23 dBm to +9 dBm (5 µW to 8 mW)
Average Optical Power Factory Calibrated Accuracy Conditions: CW optical power only (no modulation). | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
Average Optical Power User Calibrated Accuracy Conditions: CW optical power only (no modulation). | ±3.5% ± 100 nW ± power meter uncertainty, ± connector uncertainty, < 5°C change
Maximum Input Average Optical Power |
Maximum Displayed Peak | 40 mW (+16 dBm)
Maximum Linear Peak - (characteristic) | 30 mW (+14.8 dBm), or 0.15 pJ per pulse, whichever is less
Maximum Non-destruct Peak - (characteristic) | 50 mW (+17 dBm), or 0.25 pJ per pulse, whichever is less
Maximum Non-destruct average - (characteristic) | 10 mW (+10 dBm)
Maximum non-destruct power is related to the fill factor (duty cycle) of the RZ waveform. The factory specification is defined by using a 20% filled 40 Gb/s pulse train (in other words, 5 ps FWHM and 25 ps period). This concept can also be specified as maximum non-destruct pulse energy. The factory specification is specified with 5 ps FWHM optical pulses and maximum non-destruct power providing that the individual pulse shape is square.
Fiber Input | 9/125 µm
Connector for fiber input is user-selectable.
Input Return Loss (HMS-10 connector fully filled fiber) | 20 dB
Proper connector care is required to maintain this specification.
Electrical Channel Specifications
Item | Description
Electrical Channel Bandwidth |
Best Pulse Fidelity - (warranted) | 80 GHz (90 GHz characteristic)
Better Sensitivity - (characteristic) | ~55 GHz
Best Sensitivity - (characteristic) | ~30 GHz
Default Electrical Channel Setting | 80 GHz (Best Fidelity Mode)
Specified with a 3.2 GHz moving average.
Transition Time (10% to 90%) Calculated from tr = 0.35 / BW. |
80 GHz setting - (characteristic-calculated) Refer to following graphic. | 4.4 ps
55 GHz setting - (characteristic-calculated) | 6.4 ps
30 GHz setting - (characteristic-calculated) | 11.7 ps
The blue curve is the unfiltered data, the red curve is the filtered data, and the black curve is a curve fit.
RMS Noise |
80 GHz Setting (best pulse fidelity) | 2.2 mV, maximum 1.1 mV, characteristic
55 GHz Setting (better sensitivity) | 1.4 mV, maximum 0.6 mV, characteristic
30 GHz Setting (best sensitivity) | 0.8 mV, maximum 0.5 mV, characteristic
Measured one standard deviation from mean.
Scale Factor (full height is eight divisions) |
Electrical Minimum | 2 mV/division
Electrical Maximum | 100 mV/division
dc Accuracy (single marker) |
80 GHz Setting | ±0.4% of full scale ± 3 mV ± 4% of (reading – channel offset) ±2% of offset
55 GHz Setting | ±0.4% of full scale ± 3 mV ± 2% of (reading – channel offset) ±2% of offset
30 GHz Setting | ±0.4% of full scale ± 3 mV ± 2% of (reading – channel offset) ±2% of offset
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Return Loss (characteristic) | > 10 dB from DC to 70 GHz > 7 dB from 70 to 100 GHz
Electrical Input Connector | 1.85 mm, Male


86116C Module Specifications

86116C Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Optical Channel Specifications (without Option 025 or 040)
Item | Description
Wavelength Range | 1480 – 1620 nm
Fiber Input | 9/125 µm, straight. Connector for fiber input is user-selectable.
Filter/Data Rates | 39.813 Gb/s OC-768/STM-256 43.018 Gb/s OC-768/STM-256 FEC
Calibrated Wavelength | 1550 nm
Optical Bandwidth Calculated from optical impulse pulse width measurements on an optical impulse: BW = 0.48/FWHM. | 65, 45, 40 GHz (characteristic) 39.81 and 43.02 Gb/s reference receivers (characteristic)
Impulse Risetime (10% to 90% measured from impulse response) | 5.4 ps (characteristic)
Optical FWHM at 65 GHz BW. Measured with optical impulse with a pulse of 700 fs FWHM, 5 MHz repetition rate, and 10 mW peak power. System jitter less than 800 fs RMS. Description: 7.4 ps (characteristic)
Impulse Distortion Impulse distortion (%) = [(distortion peak-to-peak)/impulse height] x 100%. | < 10% (characteristic)
Average Input Power for Linear Operation using 40 Gb/s RZ Signals Tested with 40 Gb/s RZ signals with pulses of 6 ps (FWHM). | < 5 mW (characteristic)
Polarization Dependent Loss (PDL) | < 0.8 dB (characteristic)
Optical Noise The noise specification is over the full temperature range of +10° C to +40° C.
65 GHz Setting | < 200 µW, maximum < 125 µW, characteristic
45 GHz Setting | < 120 µW, maximum < 48 µW, characteristic
39.8 Gb/s and 43.0 Gb/s reference receivers | < 68 µW, maximum < 36 µW, characteristic
Scale Factor (full height is eight divisions)
Maximum Minimum | 5 mW/division 200 µW/division
CW Optical Power Accuracy (single marker, referenced to average power monitor) | ±150 µW ±4% of (reading – channel offset)
CW Optical Power Offset (referenced two divisions from screen bottom) | –12 mW to + 8 mW
Average Optical Power Monitor (1480 – 1620 nm) | –23 dBm to +9 dBm (5 µW to 8 µW)
Average Optical Power Factory Calibrated Accuracy Conditions: CW optical power only (no modulation). | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
Average Optical Power User Calibrated Accuracy Conditions: CW optical power only (no modulation). | ±5% ± 100 nW ± connector uncertainty, 20° C to 30° C ±2% ± 100 nW power meter uncertainty, < 5° C change
Maximum Input Average Optical Power
Maximum Displayed Peak | 40 mW (+16 dBm)
Maximum Linear Peak | 30 mW (+14.8 dBm), or 0.15 pJ per pulse, whichever is less (characteristic)
Maximum Non-destruct Peak | 400 mW (+16 dBm), or 0.25 pJ per pulse, whichever is less (characteristic)
Maximum Non-destruct average | 10 mW (+10 dBm) (characteristic)
Maximum non-destruct power is related to the fill factor (duty cycle) of the RZ waveform. The factory specification is defined by using a 20% filled 40 Gb/s pulse train (in other words, 5 ps FWHM and 25 ps period). This concept can also be specified as maximum non-destruct pulse energy. The factory specification is specified with 5 ps FWHM optical pulses and maximum non-destruct power providing that the individual pulse shape is square.
Input Return Loss (HMS-10 connector fully filled fiber) Proper connector care is required to maintain this specification. | 20 dB
Electrical Channel Specifications (without Option 025 or 040)
Item | Description
Channel Bandwidth | 80 GHz (see the following picture), 55 GHz, and 30 GHz
This graph shows the electrical channel frequency response (characteristic) at the 80 GHz setting. The blue curve is the unfiltered data, the red curve is the filtered data, and the black curve is a curve fit.
Risetime (10% to 90%). Calculated from tr = 0.35 / BW.
80 GHz | 4.4 ps (characteristic)
55 GHz | 6.4 ps (characteristic)
30 GHz | 11.7 ps (characteristic)
Noise. Measured one standard deviation from mean.
80 GHz Setting (best pulse fidelity) | 2.2 mV, maximum 1.1 mV, characteristic
55 GHz Setting (better sensitivity) | 1.3 mV, maximum 0.6 mV, characteristic
30 GHz Setting (best sensitivity) | 0.8 mV, maximum 0.5 mV, characteristic
Scale Factor (full height is eight divisions)
Electrical Maximum | 100 mV/division
Electrical Minimum | 2 mV/division
dc Accuracy (single marker) | ± 0.4% of full scale ± 3 mV ± 2% of (reading – channel offset) ± 2% of offset (all bandwidths)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 20 ps rise time) | 10% (DC to 70 GHz) 20% (70 to 100 GHz)
Input Connector | 1.85 mm, male
Optical Channel Specifications (Option 025)
Item | Description
Wavelength Range | 1300 nm to 1620 nm
Fiber Input | 9/125 µm, straight. Connector for fiber input is user-changeable.
Reference Receiver Data Rates | 17.0, 25.8, 27.7 Gb/s
Calibrated Wavelength (DC Responsivity) | 1310 nm and 1550 nm
Optical Bandwidth (Unfiltered) –3 dB optical (–6 dB electrical). Calculated from optical impulse pulse width measurements on a 1550 nm optical impulse: BW = 0.48/FWHM. | > 40 GHz 45 GHz (characteristic)
Sensitivity at 27.7 Gb/s
1310 nm 1550 nm | –7 dBm (characteristic) –8 dBm (characteristic)
Sensitivity at 25.8 Gb/s
1310 nm 1550 nm | –8 dBm (characteristic) –9 dBm (characteristic)
Sensitivity at 17 Gb/s
1310 nm 1550 nm | –9 dBm (characteristic) –10 dBm (characteristic)
Peak Amplitude
Non-destructive | 10 mW average
Displayed peak | 4 mW
Impulse Rise Time at 40 GHz BW (10% to 90% measured from impulse response) | 9 ps (characteristic)
Optical FWHM at 40 GHz BW. Measured with 1550 nm optical impulse with a pulse of 700 fs FWHM, 5 MHz repetition rate, and 4 mW peak power. System jitter less than 800 fs RMS. Description: 12 ps (characteristic)
Polarization Dependent Loss (PDL) | < 0.8 dB (characteristic)
Optical Noise (1310 nm) The noise specification is over the full temperature range of +10° C to +40° C.
40 GHz Setting | 120 µW 60 µW), characteristic
27.7 Gb/s Setting | 30 µW 20 µW, characteristic
25.8 Gb/s Setting | 20 µW 17 µW, characteristic
17.0 Gb/s Setting | 18 µW 13 µW, characteristic
Optical Noise (1550 nm) The noise specification is over the full temperature range of +10° C to +40° C.
40 GHz Setting | 80 µW 40 µW), characteristic
27.7 Gb/s Setting | 21 µW 14 µW, characteristic
25.8 Gb/s Setting | 18 µW 12 µW, characteristic
17.0 Gb/s Setting | 15 µW 10 µW, characteristic
Scale Factor (full height is eight divisions)
Maximum Minimum | 500 µW/division 20 µW/division
CW Optical Power Accuracy (single marker, referenced to average power monitor) | ±150 µW ±4% of (reading – channel offset)
CW Optical Power Offset (referenced two divisions from screen bottom) | –3 mW to + 1 mW
Average Optical Power Monitor (1300 nm — 1330 nm, 1480 nm — 1620 nm) | –23 dBm to +6 dBm (5 µW to 4 mW)
Average Optical Power Factory Calibrated Accuracy Conditions: CW optical power only (no modulation). | ±5% ± 100 nW ± connector uncertainty, 20°C to 30°C
Average Optical Power User Calibrated Accuracy Conditions: CW optical power only (no modulation). | ±5% ± 100 nW ± connector uncertainty, 20° C to 30° C ±2% ± 100 nW power meter uncertainty, < 5° C change
Maximum Input Average Optical Power
Maximum Displayed Peak | 4 mW (+6 dBm)
Maximum Linear Peak | 3 mW (+4.8 dBm) (characteristic)
Maximum Non-destruct Peak | 40 mW (+16 dBm), or 0.25 pJ per pulse, whichever is less (characteristic)
Maximum Non-destruct average | 10 mW (+10 dBm) (characteristic)
Maximum non-destruct power is related to the fill factor (duty cycle) of the RZ waveform. The factory specification is defined by using a 20% filled 40 Gb/s pulse train (in other words, 5 ps FWHM and 25 ps period). This concept can also be specified as maximum non-destruct pulse energy. The factory specification is specified with 5 ps FWHM optical pulses and maximum non-destruct power providing that the individual pulse shape is square.
Input Return Loss (HMS-10 connector fully filled fiber) Proper connector care is required to maintain this specification. | 20 dB
Electrical Channel Specifications (Option 025)
Item | Description
Channel Bandwidth | 80 GHz (93 GHz characteristic, see following figure), 55 GHz, and 30 GHz
This graph shows the electrical channel frequency response (characteristic) at the 80 GHz setting. The blue curve is the unfiltered data, the red curve is a curve fit.
Risetime 10% to 90%. Calculated from tr = 0.35/BW.
80 GHz Setting | 3.7 ps (characteristic)
55 GHz Setting | 6.4 ps (characteristic)
30 GHz Setting | 11.7 ps (characteristic)
Noise Measured one standard deviation from mean.
80 GHz Setting (best pulse fidelity) | 2.2 mV, maximum 1.1 mV, characteristic
55 GHz Setting (better sensitivity) | 1.2 mV, maximum 0.6 mV, characteristic
30 GHz Setting (best sensitivity) | 0.8 mV, maximum 0.5 mV, characteristic
Scale Factor (full height is eight divisions)
Electrical Maximum | 100 mV/division
Electrical Minimum | 2 mV/division
dc Accuracy (single marker) | ± 0.4% of full scale ± 3 mV ± 2% of (reading – channel offset) ± 2% of offset (all bandwidths)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2 Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 20 ps rise time) | 10% (DC to 70 GHz) 20% (70 to 100 GHz)
Input Connector | 1.85 mm, male
Optical Channel Specifications (Options 040, 041)
Item | Description
Wavelength Range | 1300 nm to 1620 nm
Fiber Input | 9/125 µm, straight. Connector for fiber input is user-changeable.
Reference Receiver Data Rates
Option 040 Option 041 | 39.813 Gb/s, 43.018 Gb/s 39.813 Gb/s, 41.25 Gb/s, 43.018 Gb/s
Calibrated Wavelength (DC Responsivity) | 1310 nm and 1550 nm
Optical Bandwidth (Unfiltered) –3 dB optical (–6 dB electrical). Calculated from optical impulse pulse width measurements on a 1550 nm optical impulse: BW = 0.48/FWHM. | >65 GHz 70 GHz (characteristic)
Risetime 10% to 90%. Calculated from tr = 0.35/BW.
65 GHz Setting 60 GHz Setting 55 GHz Setting | 5.0 ps (characteristic) 5.8 ps (characteristic) 6.4 ps (characteristic)
Sensitivity (at 39.8 Gb/s and 43.0 Gb/s)
1310 nm 1550 nm | –3 dBm (characteristic) –5 dBm (characteristic)
Impulse Rise Time at 65 GHz BW (10% to 90% measured from impulse response) | 5.4 ps (characteristic)
Optical FWHM at 65 GHz BW. Measured with 1550 nm optical impulse with a pulse of 700 fs FWHM, 5 MHz repetition rate, and 10 mW peak power. System jitter less than 800 fs RMS. Description: 7.4 ps (characteristic)
Impulse Distortion Impulse distortion (%) = [(distortion peak-to-peak)/impulse height] x 100%. | < 10% (characteristic)
Average Input Power for Linear Operation using 40 Gb/s RZ Signals Tested with 40 Gb/s RZ signals with pulses of 6 ps (FWHM). | < 5 mW (characteristic)
Polarization Dependent Loss (PDL) | < 0.8 dB (characteristic)
Optical Noise (1310 nm) The noise specification is over the full temperature range of +10° C to +40° C.
65 GHz Setting | 300 µW 187 µW), characteristic
60 GHz Setting | 225 µW 105 µW, characteristic
55 GHz Setting | 127 µW 75 µW, characteristic
39.8 Gb/s and 43.0 Gb/s reference receivers | 102 µW 54 µW, characteristic
Optical Noise (1550 nm) The noise specification is over the full temperature range of +10° C to +40° C.
65 GHz Setting | 200 µW 125 µW), characteristic
60 GHz Setting | 150 µW 70 µW, characteristic
55 GHz Setting | 85 µW 50 µW, characteristic
39.8 Gb/s and 43.0 Gb/s reference receivers | 68 mµW 36 µW, characteristic
Scale Factor (full height is eight divisions)
Maximum | 5 mW/division
Minimum | 200 µW/division
CW Optical Power Accuracy (single marker, referenced to average power monitor) | ±150 µW ±4% of (reading – channel offset)
CW Optical Power Offset (referenced two divisions from screen bottom) | –12 mW to +8 mW
Average Optical Power Monitor (1300—1330 nm, 1480—1620 nm) | –23 dBm to +9 dBm (5 µW to 8 mW)
Average Optical Power Factory Calibrated Accuracy Conditions: CW optical power only (no modulation). | ±5% ±100 nW ±connector uncertainty, 20°C to 30°C
Average Optical Power User Calibrated Accuracy Conditions: CW optical power only (no modulation). | ±5% ± 100 nW ± connector uncertainty, 20° C to 30° C ±2% ± 100 nW power meter uncertainty, < 5° C change
Maximum Input Average Optical Power
Maximum Displayed Peak | 40 mW (+16 dBm)
Maximum Linear Peak | 30 mW (+14.8 dBm), or 0.15 pJ per pulse, whichever is less (characteristic)
Maximum Non-destruct Peak | 40 mW (+16 dBm), or 0.25 pJ per pulse, whichever is less (characteristic)
Maximum Non-destruct average | 10 mW (+10 dBm) (characteristic)
Maximum non-destruct power is related to the fill factor (duty cycle) of the RZ waveform. The factory specification is defined by using a 20% filled 40 Gb/s pulse train (in other words, 5 ps FWHM and 25 ps period). This concept can also be specified as maximum non-destruct pulse energy. The factory specification is specified with 5 ps FWHM optical pulses and maximum non-destruct power providing that the individual pulse shape is square.
Input Return Loss (HMS-10 connector fully filled fiber) Proper connector care is required to maintain this specification. | 20 dB
Electrical Channel Specifications (Options 040, 041)
Item | Description
Channel Bandwidth | 80 GHz (93 GHz characteristic, see following figure), 55 GHz, and 30 GHz
This graph shows the electrical channel frequency response (characteristic) at the 80 GHz setting. The blue curve is the unfiltered data, the red curve is a curve fit.
Risetime. 10% to 90%. Calculated from tr = 0.35/BW.
80 GHz Setting | 3.7 ps (characteristic)
55 GHz Setting | 6.4 ps (characteristic)
30 GHz Setting | 11.7 ps (characteristic)
Noise Measured one standard deviation from mean.
80 GHz Setting (best pulse fidelity) | 2.2 mV, maximum 1.1 mV, characteristic
55 GHz Setting (better sensitivity) | 1.1 mV, maximum 0.6 mV, characteristic
30 GHz Setting (best sensitivity) | 0.8 mV, maximum 0.5 mV, characteristic
Scale Factor (full height is eight divisions)
Electrical Maximum | 100 mV/division
Electrical Minimum | 2 mV/division
dc Accuracy (single marker) | ± 0.4% of full scale ± 3 mV ± 2% of (reading – channel offset) ± 2% of offset (all bandwidths)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Nominal Impedance | 50 ohm
Reflections (for 20 ps rise time) | 10% (DC to 70 GHz) 20% (70 to 100 GHz)
Input Connector | 1.85 mm, male


86117A Module Specifications

86117A Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Electrical Channel Bandwidth | 30 and 50 GHz
Transition Time (Characteristic 10% to 90% calculated from TR = 0.35/BW)
30 GHz | 11.7 ps
50 GHz | 7 ps
RMS Noise |
30 GHz | 0.7 mV, maximum 0.4 mV, characteristic
50 GHz | 1.0 mV, maximum 0.6 mV, characteristic
Scale Factor (full height is eight divisions) Δ Tcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration.
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
30 GHz | ±0.4% of full scale ±2 mV ± 1.2% of (reading – channel offset)
50 GHz | ±0.4% of full scale ±2 mV ± 2% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Input Impedance | 50Ω , nominal
Reflections (for 30 ps rise time) | 5%
Electrical Input Connector | 2.4 mm (male)


86117B Module Specifications

86117B Module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Electrical Channel Bandwidth | 30, 50, and 65 GHz
Transition Time (Characteristic - 10% to 90% calculated from TR = 0.35/BW)
30 GHz | 11.7 ps
50 GHz | 7 ps
65 GHz | 5.4 ps
RMS Noise |
30 GHz | 0.7 mV, maximum 0.4 mV, characteristic
50 GHz | 0.9 mV, maximum 0.5 mV, characteristic
65 GHz | 2.2 mV, maximum 1.3 mV, characteristic
Scale Factor (full height is eight divisions) ΔTcal represents the temperature change in Celsius from the last user module calibration. Please note that the temperature term goes to zero upon execution of a module calibration.
Minimum | 1 mV/division
Maximum | 100 mV/division
dc Accuracy (single marker) |
30 GHz | ±0.4% of full scale ±2 mV ± 1.2% of (reading – channel offset)
50 GHz | ±0.4% of full scale ±2 mV ± 2% of (reading – channel offset)
65 GHz | ±0.4% of full scale ±2 mV ± 2% of (reading – channel offset)
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Input Impedance | 50Ω , nominal
Reflections (for 30 ps rise time) | 5%
Electrical Input Connector | 1.85 mm (male)


86118A Module Specifications

86118A Module specifications and characteristics apply when a module is installed in the instrument mainframe. These specifications also apply to the 86118A Option H02 module. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Electrical Channels | Two 70 GHz
Channel Skew (Option H01 only)
Channel-to-Channel Skew (Internal Skew) | 40 ps
Deskew Adjustment Range (Skew Range – Internal Skew) | 100 ps
Bandwidth (user selectable) |
Low (Characteristic) | > 50 GHz
High | > 70 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW |
> 50 GHz (Characteristic) | 7.0 ps
> 70 GHz | 5.0 ps
RMS Noise |
Specified | 1.3 mV, > 50 GHz 2.5 mV, > 70 GHz
Characteristic | 700 mV, > 50 GHz 1.3 mV, > 70 GHz
Scale Factor (full height is eight divisions) |
Minimum | 2 mV/division
Maximum | 100 mV/division
DC Accuracy (single marker). Specified at calibration temperature and relative humidity.
> 50 GHz | ±0.4% of full scale ±2 mV ± 2% of (reading – channel offset)
> 70 GHz | ±0.4% of full scale ±2 mV ± 4% of (reading – channel offset)
DC Accuracy (single marker). Characteristic Variation from Calibration Temperature.
> 50 GHz | ±0.1% of (reading – channel offset) per °C change from calibration
> 70 GHz | ±0.2% of (reading – channel offset) per °C change from calibration
DC Accuracy (single marker).. Characteristic Variation from Calibration Relative Humidity (RH).
> 50 GHz | ±0.1% of (reading – channel offset) per 10% change from calibration
> 70 GHz | ±0.2% of (reading – channel offset) per 10% change from calibration
Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2Vdc (+16 dBm)
Nominal Impedance (Characteristic) | 50 ohm
Reflections (Characteristic for 30 ps rise time) | 20%
Electrical Input (All options except H02)
Connector | 1.85 mm (female)
Maximum Torque | 5 lb-in
Electrical Input (Option H02 only)
Connector | 1.0 mm (female)
Maximum Torque | 4 lb-in


N1045A Module Specifications

N1045A Module specifications and characteristics apply when a module is installed in the 86100D mainframe. The following notes refer to the module specifications listed in this topic.

  • Regulatory Information and Instrument Markings
  • Dimensions for securing the Remote Heads

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation in final setup configuration and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the instrument should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Specifications
Item | Description
Electrical Input Channels (per option)
02F | 2 Channel Remote Head with 1.85 mm (f) connectors.
02M | 2 Channel Remote Head with 1.85 mm (m) connectors.
04F | 4 Channel Remote Head with 1.85 mm (f) connectors.
04M | 4 Channel Remote Head with 1.85 mm (m) connectors.
Bandwidth, 3 dB (user selectable) | 20 GHz (Characteristic) 35 GHz (Characteristic) 45 GHz (Characteristic) 60 GHz
Transition Time (10% to 90% calculated from TR = 0.35/BW)
20 GHz BW | 17.5 ps (Calculated)
35 GHz BW | 10 ps (Calculated)
45 GHz BW | 7.8 ps (Calculated)
60 GHz BW | 5.8 ps (Calculated)
Channel-to-Channel Skew Range | ±100 ps
RMS Noise
20 GHz BW | 310 μV (Characteristic)
35 GHz BW | 450 μV (Characteristic)
45 GHz BW | 530 μV (Characteristic)
60 GHz BW | 875 μV (Characteristic)
RMS Noise (Maximum) | 975 μV (60 GHz BW setting)
Scale Factor (per division)
Minimum | 1 mV/division
Maximum | 100 mV/division
DC Accuracy (VAVG Measurement). Specified at calibration temperature ±0.5 °C. (Perform a new module calibration if hardware skew has been applied.)
20, 35, 45, 60 GHz | ±1.15 mV (Characteristic)
DC Accuracy (VAVG Measurement). Specified at calibration temperature ±5 °C.
20, 35, 45, 60 GHz | ±2 mV ± 4% of (reading – channel offset)
DC Offset Range (referenced to center of screen) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ± 2V (+16 dBm)
Nominal Input Impedance | 50Ω (Characteristic)
Reflections (for 30 ps rise time) | 20% (Characteristic)
Input Impedance Graph of S11 (Characteristic)


N1055A Module Specifications

N1055A module specifications and characteristics apply when a module is installed in the instrument mainframe. The following notes refer to the module specifications listed in this chapter.

  • Regulatory Information and Instrument Markings
  • Dimensions for securing the Remote Heads

Minimum Firmware Version

This module requires an 86100D DCA-X mainframe a minimum FlexDCA firmware version of A.04.00.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Factory Calibration Cycle. For optimum performance, the N1055A should have a complete verification of specifications once every 12 months.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

N1055A Specifications
Item | Module Options (Connectors: F = female, M = male)
 | N1055A-32F N1055A-32M | N1055A-34F N1055A-34M | N1055A-52F N1055A-52M | N1055A-54F N1055A-54M
Number of Channels | 2a | 4 | 2a | 4
Electrical Inputb | 2.92 mm (female or male) |  | 1.85 mm (female or male)
Electrical Channel Bandwidth | 35 GHzc,d |  | 35 GHz or 50 GHzd
Receiver Transition Time (10% to 90% calculated from TR = 0.35/BW) | 10 ps, characteristic |  | 10 ps (35 GHz BW setting), characteristic 7 ps (50 GHz BW setting), characteristic
Channel-to-Channel Skew Range | ±150 ps
Vertical Resolution | 16 bit A/D converter
RMS Noise | 600 µV, characteristic 730 µV, maximum |  | 600 µV (35 GHz BW setting), characteristic 750 µV (50 GHz BW setting), characteristic 950 µV (50 GHz BW setting), maximum
Scale Factor (Per Division)
Minimum | 1 mV / division
Maximum | 100 mV / division
DC Accuracy (VAVG Measurement) | ±800 uV, characteristic Specified at calibration temperature ±0.5° C. (Perform a new module calibration if hardware skew has been applied.)
 | ±2 mV ±4% of (reading–channel offset) Specified at calibration temperature ±10° C
DC Offset Range (referenced from center of screen) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | +2V / –1V
Nominal Impedance | 50 ohm
Sample rate, module timebasee
Option-FS1 | 250 kSa/s, characteristic
standard | 80 kSa/s, characteristic
TDR Step Repetition Ratee
Mainframe Timebase | 1 kHz to 250 kHz, characteristic
Module timebase (standard) | 1 kHz to 80 kHz, characteristic
Module timebase (Option FS1) | 1 kHz to 250 kHz, characteristic
Notes
a. Upgradable from 2 channel to 4 channel after purchase (return to Keysight).
b. Connector style is the same on all channels and is selected at time of order.
c. Upgradable from 35 GHz to 50 GHz after purchase (return to Keysight).
d. Tuned to be –3 dB (±measurement uncertainty) at stated bandwidth(s) using NIST traceable swept-sine test system.
e. FlexDCA software auto-selects the mainframe or module timebase based on DUT setup.
TDR System Specifications
Item | Module Options (Connectors: F = female, M = male)
 | N1055A-32F N1055A-32M N1055A-34F N1055A-34M | N1055A-52F N1055A-52M N1055A-54F N1055A-54M
Incidenta,b TDR Step Transition Time (10 % to 90 %)
Without TDR Calibration | < 18 ps | < 7 ps
With TDR Calibration | Adjustable from 15 ps, characteristic | Adjustable from 6 ps, characteristic
Reflectedb TDR Step Transition Time (10% to 90%)
Without TDR Calibration | < 20 ps | < 11 ps
With TDR Calibration | < 18 ps | 9.5 ps, characteristic
Step Flatness (Graphs of Combined Oscilloscope and TDR Performance)
Options 52F, 52M, 54F, and 54M With TDR Calibration (Characteristic) |
Options 32F, 32M, 34F, and 34M With TDR Calibration (Characteristic) |
Options 52F, 52M, 54F, and 54M Without TDR Calibration (Characteristic) |
Options 32F, 32M, 34F, and 34M Without TDR Calibration (Characteristic) |
TDR Step Amplitude (Combined Oscilloscope and TDR Performance) | 100 mV Setting: 0 mV to ±100 mV 200 mV Setting: 0 mV to ±200 mV | 100 mV Setting: 0 mV to ±100 mV 200 mV Setting: 0 mV to ±200 mV
TDR Step Repetition Ratec
Mainframe Timebase | 1 kHz to 40 kHz
Module Timebase | 1 kHz to 80 kHz
Notes
a. Incident TDR edge speed is defined as the transition time at the output of the remote head. It is calculated by de-convolving the receiver transition time from the measured transition time when the remote head is terminated with a short.
b. Measured on a negative TDR step, terminated in a short.
c. FlexDCA software auto-selects the Mainframe or Module timebase based on DUT setup. The user can control the repetition rate of the selected timebase.


N1090A Specifications

N1090A DCA-M Optical Sampling Oscilloscope extended module specifications and characteristics apply when the temperature is within the range noted below. The N1090A is a USB 2.0 device for a PC or 86100D mainframe.

  • Regulatory Information and Instrument Markings

Minimum Firmware Version

The N1090A must be controlled from a PC (or 86100D) that is running a minimum FlexDCA firmware version of A.05.00 or higher.

Note

All specifications describe warranted performance over the temperature range +10° C to + 40° C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and while module calibration is valid. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Note

Factory Calibration Cycle. For optimum performance, the N1090A should have a complete verification of specifications once every 12 months.

Optical Channel Specifications
Item | Description
Nominal Wavelength Range | 750 nm to 1650 nm
Factory calibrated wavelengths (OE conversion gains) | 850 nm (±20 nm) 1310 nm (±20 nm) 1550 nm (±20 nm)
Reference receiver filter options (only one option can be installed)
N1090A-140 | GPON, 1.244 Gb/s Gigabit Ethernet, 1.250 Gb/s
N1090A-160 | OC-48/STM-16, 2.488 Gb/s 2 Gb Ethernet, 2.500 Gb/s
N1090A-180 | 10Gb Ethernet LX-4, 3.125 Gb/s
N1090A-200 | 8x Fibre Channel, 8.500 Gb/s OC-192/STM-64, 9.953 Gb/s 10Gb Ethernet, 10.3125 Gb/s 10x Fibre Channel, 10.51875 Gb/s OC-192/STM-64 FEC, 10.664 Gb/s OC-192/STM-64 FEC, 10.709 Gb/s 10Gb Ethernet FEC, 11.0957 Gb/s 10x Fibre Channel FEC, 11.317 Gb/s
N1090A-204 | 8x Fibre Channel, 8.500 Gb/s OC-192/STM-64, 9.953 Gb/s 10Gb Ethernet FEC, 10.3125 Gb/s 10x Fibre Channel, 10.51875 Gb/s
Measured frequency response data during recertification falls within performance test line limits with allowance for system-to-system measurement uncertainty.
Sensitivity at 850 nm. (Characteristic - smallest average power for mask test)
Option 140 | −20 dBm (Characteristic)
Option 160 | −20 dBm (Characteristic)
Option 180 | −19 dBm (Characteristic)
Option 200 and 204 | −16 dBm (Characteristic)
Sensitivity at 1310 nm / 1550 nm. (Characteristic - smallest average power for mask test)
Option 140 | −21 dBm (Characteristic)
Option 160 | −21 dBm (Characteristic)
Option 180 | −20 dBm (Characteristic)
Option 200 and 204 | −17 dBm (Characteristic)
RMS Noise at 850 nm
Option 140 | 2.0 µW (Maximum), 1.3 µW (Characteristic)
Option 160 | 2.0 µW (Maximum), 1.3 µW (Characteristic)
Option 180 | 2.5 µW (Maximum), 1.5 µW (Characteristic)
Option 200 and 204 | 4.0 µW (Maximum), 2.5 µW(Characteristic)
RMS Noise at 1310 nm / 1550 nm
Option 140 | 1.3 µW (Maximum), 0.8 µW (Characteristic)
Option 160 | 1.3 µW (Maximum), 0.8 µW (Characteristic)
Option 180 | 1.5 µW (Maximum), 1.0 µW (Characteristic)
Option 200 and 204 | 2.5 µW (Maximum), 1.4 µW (Characteristic)
Electrical Channel Specifications (Option EEC)
Item | Description
Electrical Channel Bandwidth | 12.4 and 20 GHz (Characteristic)
Transition Time (10% to 90% calculated from TR = 0.35/BW)
12.4 GHz | 28.2 ps
20 GHz | 17.5 ps
RMS Noise |
Characteristic | 0.25 mV (12.4 GHz) 0.5 mV (20 GHz)
Maximum | 0.5 mV (12.4 GHz) 1 mV (20 GHz)
Scale Factor (full height is eight divisions) |
Minimum | 1 mV/division
Maximum | 100 mV/division
DC Accuracy (single marker) |
12.4 GHz | ±0.4% of full scale ± 2 mV ± 1.5% of (reading – channel offset)
20 GHz | ±0.4% of full scale ±2 mV ± 3% of (reading – channel offset)
DC Offset Range (referenced to center of display graticule) | ±500 mV
Input Dynamic Range (relative to channel offset) | ±400 mV
Maximum Input Signal | ±2 V DC (+16 dBm)
Nominal Impedance | 50 ohm
Electrical Input | SMA (female)
Scale Factor Specifications (per division)
Item | Description
Minimum | 2 µW
Maximum | 100 µW
CW Accuracy (single marker, referenced to average power monitor)
Single Mode | ±25 µW ±3%
Multimode | ±25 µW ±10%
CW Offset Range (referenced two divisions from screen bottom) | +0.2 mW to −0.6 mW
Average Power Monitor | −30 dBm to 0 dBm
Average Power Monitor Accuracy
Single Mode | ±5% ± 200 nW ± connector uncertainty
Multimode | ±10% ± 200 nW ± connector uncertainty (Characteristic)
Due to variations in mode-filling conditions, the measured power in multimode fiber will vary more than the measured power in single-mode fiber. For users needing the most accurate power measurements, use an optical power meter for multimode power measurements.
User Calibrated Accuracy (Assumes connector is continually attached)
Single Mode | ±3% ± 200 nW ± power meter uncertainty
Multimode | ±10% ± 200 nW ± power meter uncertainty (Characteristic)
Maximum Input Power
Maximum Non-destruct Average | 0.5 mW (−3 dBm)
Maximum Non-destruct Peak | 5 mW (+7 dBm)
Input Return Loss
1310 nm / 1550 nm | > 24 dB
Fiber Input | 62.5/125 µm
Fiber Input Connector | FC/PC
Clock Trigger Input Specifications
Item | Description
Trigger Input | 2 Vp-p maximum <500 mVp-p recommended Trigger input signals greater than 500 mVp-p may result in crosstalk between the trigger input and the channel input.
Clock Input Frequency | 455 MHz to 12 GHz (full rate or sub-rate clocks) 100 MHz to 455 MHz (sub-rate clocks only, provided that the data rate exceeds 455 Mb/s and the clock divide ratio is a power of two)
Minimum Slew Rate | 0.5 V/ns
Clock Input Sensitivity | 200 mVp-p
Nominal Impedance | 50 ohm (AC coupled)
Clock Input Connector | SMA (female)
Horizontal Timebase Specifications
Item | Description
Scale Factor | Full scale is ten divisions
Minimum | 100 fs/div
Maximum | 100 µs/div
Sample Delay | Less than 10 ns. Time offset between the front panel clock input and the front panel channel input.
Time Interval Accuracy Dual marker measurement performed at a temperature within ±5° C of horizontal calibration temperature. | 1 ps + 0.2% of the measured time interval while the entire time interval is contained within the minimum delay plus 1 ns. Otherwise, 5 ps + 0.1% of the measured time interval.
Jitter (Slew rate ≥ 2 V/ns) | 600 fs rms, 400 fs rms (Characteristic)
Time Interval Resolution The time interval resolution is the smallest time you can characterize between two points. | (screen diameter)/(record length) or 40 fs, whichever is larger
Display Units | Bits or Time
Record length | 16 to 262,144 samples. Increments of 1
Sample Rate | 60 kHz
Environmental Specifications
Item | Description
Use | indoor
Temperature
Operating | 10°C to +40°C (50°F to +104°F)
Non-operating | −40°C to +70°C (−40°F to +158°F)
Altitude (Operating) | Up to 4,600 meters (15,000 ft)
Maximum relative humidity | 80% for temperatures up to 31°C decreasing linearly to 50% relative humidity at 40°C
Line Power | 100/120Vac 50/60/400 Hz
 | 220/240Vac 50/60 Hz
 | 290 Watts Maximum
 | The products can operate with mains supply voltage fluctuations up to ±10% of the nominal voltage.
Weight | 6.20 kg (13.68 lb) (Characteristic)
Dimensions
Without front connectors and rear feet | 88.26 mm H x 207.40 mm W x 485 mm D (3.48 inch x 8.17 inch x 19.01 inch)
With front connectors and rear feet | 103.31 mm H x 219.56 mm W x 517.80 mm D (4.07 inch x 8.64 inch x 20.39 inch)
With front cover and rear feet | 110.18 mm H x 219.56 mm W x 550.71 mm D (4.34 inch x 8.64 inch x 21.68 inch)

The Mains wiring and connectors shall be compatible with the connector used in the premise electrical system. Failure, to ensure adequate earth grounding by not using the correct components may cause product damage, and serious injury.

This product is designed for use in INSTALLATION CATEGORY II and POLLUTION DEGREE 2 environment.


N1092A/B/D Specifications

N1092A/B/D DCA-M multiple-channel optical sampling oscilloscope specifications and characteristics apply when the temperature is within the range noted below. The N1092A/B/D is a USB 2.0 device for a PC or 86100D mainframe.

Minimum Firmware Version

The N1092A/B/D must be controlled from a PC (or 86100D) that is running a minimum FlexDCA firmware version of A.05.40 or higher. Refer to www.keysight.com/find/flexdca_download for PC requirements.

Note

All specifications describe warranted performance over the temperature range +10C to + 40C (unless otherwise noted). The specifications are applicable after the temperature is stabilized, which occurs after 1 hour of continuous operation and within ±5C of the module's calibration temperature. Many performance parameters are enhanced through frequent, simple user calibrations.

Note

Specifications describe warranted performance. Characteristics provide useful, nonwarranted information about the functions and performance of the instrument. Characteristics are printed in green italics.

Note

Nominal Value indicates the expected, but not warranted, value of the parameter.

Note

Factory Calibration Cycle. For optimum performance, the N1092A/B/D should have a complete verification of specifications once every 12 months.

Optical Channel Specifications
Item | Description
Optical Channel Bandwidth, –3 dBo (characteristic) 1 | 28 GHz
Nominal Wavelength Range | 830 nm to 1600 nm
Factory calibrated wavelengths 2 | 850 nm (±20 nm) 1310 nm (±20 nm) 1550 nm (±20 nm)
User calibration wavelength range | 830 nm to 1600 nm
Reference receiver filters 3
N1092A/B/D standard | 25 Gb/s Ethernet (25.78125 Gb/s) 400GBASE-SR16 (26.5625 Gb/s) Ethernet OTU4 FEC/ITU-T G.959.1 (27.952493 Gb/s) 32G Fibre Channel (28.05 Gb/s)
N1092A/B/D-168 | 100GBASE-SR4 TDEC (25.78125 Gb/s)
N1092A/B/D-206 | 20.625 Gb/s
RMS Noise (Characteristic) | 850 nm | 1310 nm | 1550 nm
100GBASE-SR4 TDEC (25.78125 Gb/s) (Option 168) | 5 µW | 3 µW | 3.5 µW
20.625 Gb/s (Option 206) | 7 µW | 5 µW | 5 µW
25 Gb/s Ethernet (25.78125 Gb/s) | 8 µW | 5.5 µW | 5.5 µW
400GBASE-SR16 (26.5625 Gb/s) | 8 µW | 5.5 µW | 5.5 µW
Ethernet OTU4 FEC/ITU-T G.959.1 (27.952493 Gb/s) | 9.5 µW | 6 µW | 6 µW
32G Fibre Channel (28.05 Gb/s) | 9.5 µW | 6 µW | 6 µW
RMS Noise (Maximum) | 850 nm | 1310 nm | 1550 nm
100GBASE-SR4 TDEC (25.78125 Gb/s) (Option 168) | 7 µW | 5 µW | 5.5 µW
20.625 Gb/s (Option 206) | 9 µW | 7 µW | 7.5 µW
25 Gb/s Ethernet (25.78125 Gb/s) | 10 µW | 7 µW | 7.5 µW
400GBASE-SR16 (26.5625 Gb/s) | 10 µW | 7 µW | 7.5 µW
Ethernet OTU4 FEC/ITU-T G.959.1 (27.952493 Gb/s) | 11 µW | 8 µW | 8.5 µW
32G Fibre Channel (28.05 Gb/s) | 11 µW | 8 µW | 8.5 µW
Optical Sensitivity (Characteristic) 4 | 850 nm | 1310 nm | 1550 nm
20.625 Gb/s (Option 206) | –11.5 dBm | –13.0 dBm | –13.0 dBm
25 Gb/s Ethernet (25.78125 Gb/s) | –11 dBm | –12.5 dBm | –12.5 dBm
400GBASE-SR16 (26.5625 Gb/s) | –11 dBm | –12.5 dBm | –12.5 dBm
Ethernet OTU4 FEC/ITU-T G.959.1 (27.952493 Gb/s) | –10 dBm | –12 dBm | –12 dBm
32G Fibre Channel (28.05 Gb/s) | –10 dBm | –12 dBm | –12 dBm
Scale Factor Specifications (per division, 8 divisions)
Minimum | 5 µW
Maximum | 500 µW
CW Offset Range 5 | +1.0 mW to −3 mW
CW Accuracy 6
Single-Mode | ±25 µW ±3% of reading ± connector uncertainty ±25 µW ±3% of reading ± connector uncertainty (Characteristic)
Multimode | ±25 µW ±10% of reading ± connector uncertainty (Characteristic)
Maximum Measureable Input Power
TDEC Filter Option 168 7 | 3 mW at 500 µW/division scale factor
 | 4 mW at 500 µW/division scale factor (Characteristic)
20.625 Gb/s (Option 206) | 4 mW at 500 µW/division scale factor
25 Gb/s Ethernet (25.78125 Gb/s) | 4 mW at 500 µW/division scale factor
400GBASE-SR16 (26.5625 Gb/s) | 4 mW at 500 µW/division scale factor
Ethernet OTU4 FEC/ITU-T G.959.1 (27.952493 Gb/s) | 4 mW at 500 µW/division scale factor
32G Fibre Channel (28.05 Gb/s) | 4 mW at 500 µW/division scale factor
Average Power Monitor Range | −30 dBm to 0 dBm (850 nm) −30 dBm to +6 dBm (1310 nm) −30 dBm to +6 dBm (1550 nm)
Average Power Monitor Accuracy 8, 9
Single-Mode | 200 nW ±5% of reading ± connector uncertainty
Multimode | 200 nW ±10% of reading ± connector uncertainty (Characteristic)
Maximum Non-destruct Peak Power | 8 mW (+9 dBm)
Fiber Input 10 | 50/125 µm
Fiber Input Connector | FC
Channel ADC | 16 bits
Clock Input Specifications
Item | Description
Clock Input Non-destruct Voltage | 2.6 Vp-p
Clock Input Frequency | 500 MHz to 28.5 GHz (full rate or sub-rate clocks) 100 MHz to 500 MHz (sub-rate clocks only, pattern lock off, provided that the data rate exceeds 500 Mb/s and the clock divide ratio is a power of two)
Clock Input Sensitivity | 200 mVp-p
Minimum Clock Slew Rate | 0.5 V/ns
Nominal Impedance | 50 ohm (AC coupled)
Clock Input Connector | 2.92 mm (female)
Horizontal Timebase Specifications
Item | Description
Scale Factor | Full scale is ten divisions
Minimum | 100 fs/div
Maximum | 100 µs/div
Sample Delay 11 | < 10 ns
Time Interval Accuracy (in pattern lock mode) | ±300 fs ± 0.2% of 1/(Clock Input frequency) 12 ±300 fs ± 0.2% of 1/(Clock Input frequency) (Characteristic) 13
Time Interval Accuracy (in clock trigger mode) | ±300 fs ± 0.2% of display range 12 ±300 fs ± 0.2% of display range (Characteristic) 13
Time Interval Resolution 14 | (screen diameter)/(record length) or 50 fs, whichever is larger
Jitter 15
Standard N1092A/B/D | 450 fs rms
 | 400 fs rms (Characteristic)
Option LOJ | 200 fs rms
 | 160 fs rms (Characteristic)
Display Units | Bits or Time
Record length | 16 to 131,072 samples. Increments of 1
Sample rate per channel | 100 kHz (N1092A/B/D, standard) 250 kHz (N1092A/B/D-FS1)
Environmental Specifications
Item | Description
Use | indoor
Temperature
Operating | 10C to +40C (50°F to +104°F)
Non-operating | −40C to +70C (−40°F to +158°F)
Altitude (Operating) | Up to 4,600 meters (15,000 ft)
Maximum relative humidity | 80% for temperatures up to 31C decreasing linearly to 50% relative humidity at 40C
Line Power | 100/120Vac, 50/60/400 Hz
 | 220/240Vac, 50/60 Hz
 | 290 Watts Maximum
 | The products can operate with mains supply voltage fluctuations up to ±10% of the nominal voltage.
Volts-Amperes (VA) (Characteristic)
N1092A | 48
N1092B | 52
N1092D | 60
Weight (Characteristic)
N1092A | 6.0 kg (13.4 lb)
N1092B | 6.1 kg (13.6 lb)
N1092D | 6.3 kg (14.0 lb)
Dimensions
Without front connectors and rear feet | 88.26 mm H x 207.40 mm W x 485 mm D (3.48 inch x 8.17 inch x 19.01 inch)
With front connectors and rear feet | 103.31 mm H x 219.56 mm W x 517.80 mm D (4.07 inch x 8.64 inch x 20.39 inch)
With front cover and rear feet | 110.18 mm H x 219.56 mm W x 550.71 mm D (4.34 inch x 8.64 inch x 21.68 inch)
Footnotes:
1 With the 32G Fibre Channel reference receiver filter selected, −3 dBo is calculated from the −6 dBe point.
2 For the average power monitor and the channel vertical path.
3 The frequency response is verified using an optical impulse (< 1 ps FWHM).
4 Generally represents the power level where an ideal eye diagram will approach 0% mask margin due to the noise of the oscilloscope. Provides a non-specified figure of merit to compare sensitivities of various optical channels. These values are calculated from the characteristic noise values.
5 Referenced two divisions from screen bottom.
6 Single marker, referenced to power sensor.
7 When a TDEC filter is used any portion of the signal that is displayed above 3 mW is not warranted.
8 Due to variations in mode-filling conditions, the measured power in multimode fiber will vary more than the measured power in single-mode fiber. For users needing the most accurate power measurements, use an optical power meter for multimode power measurements.
9 Average power monitor accuracy is tied to the calibration accuracy of the power sensor.
10 Compatible with external fibers with ≤50 µm cores.
11 Time delay between the front panel clock input and the front panel channel input.
12 Dual marker measurement performed at a temperature within ±5C of horizontal calibration temperature.
13 Dual marker measurement performed at a temperature within ±1C of horizontal calibration temperature.
14 The time interval resolution is the smallest time spacing between two points.
15 Verified with a clock slew rate greater than 40 mV/ps and optical signal slew rate greater than 150 µW/ps.

The Mains wiring and connectors shall be compatible with the connector used in the premise electrical system. Failure, to ensure adequate earth grounding by not using the correct components may cause product damage, and serious injury.

This product is designed for use in INSTALLATION CATEGORY II and POLLUTION DEGREE 2 environment.


TDR/TDT Mode

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude

TDR/TDT mode requires an N1055A 35/50 GHz differential or 54754A differential TDR/TDT module. Starting with FlexDCA version A.05.30, controlling the 86100D from FlexDCA on a PC, supports TDR/TDT mode measurements and instrument option 86100D-202 Enhanced Impedance and S-Parameter Software. The following picture shows FlexDCA using the Classic Silver theme.

TDR/TDT mode provides the following measurement capability:

  • Time Domain Reflectometry (TDR) and Time Domain Transmission (TDT) waveforms, which provide an intuitive view of a DUT's impedance profile (reflection and transmission characteristics) versus distance.
  • T-parameter waveforms (time domain TDR/TDT graphs) with amplitude units in volts, ohms, or percent.
  • S-parameter waveforms (frequency domain graphs) in magnitude, group delay, or phase. The frequency domain graphs allow you to view behaviors such as resonances. You can export S-parameters to a file. S-parameters are provided with option 202, S-Parameter and Time Domain Characterization.

Quick Start

  • Use the Setup toolbar to configure a measurement and to view waveforms.
  • Use the Time, Amplitude, and User toolbars to make TDR/TDT measurements.

Protecting Your Investment

  • ESD Precautions
  • Electrical Connector Care
  • Coaxial Connector Types

Topics of interest

  • Automatic Fixture Removal (AFR)
  • S-parameter memories
  • Exporting S-parameters
  • Limit line testing
  • TDR Peeling
  • Opt. 202 Specifications
  • Two N1055As and 86100D-STR Triggering
  • 86100D-STR Triggering with 54754A

Note

N1055A and 54754A TDR/TDT modules can be simultaneously installed. However, all TDR stimulus steps must originate from one type of module: either N1055A or 54754A.

These are the general measurement steps. For a more detailed procedure, refer to TDR Setup (DUT Based).

  1. In TDR/TDT mode, click the Setup toolbar.
  2. Click the TDR Setup… button and define the setup using the displayed dialog box.
  3. Close the dialog box and click on the TDR Calibration… button. Run a guided calibration. Supported ECal Modules.
  4. Once the TDR or TDT responses are displayed, use the Measurement toolbar to quickly measure any discontinuities.


54754A and 86100D-STR Triggering

If you are using a standard-trigger instrument (86100D-STR) with a 54754A TDR/TDT module, you must connect a cable between the module's Trigger output port to the mainframe's Trigger input connector as shown in these pictures.

Triggering with One TDR Module

If two 54754A TDR modules are used, add an 11667B Power Splitter or 11636B Power Divider and combine the triggers as shown in the picture.

Triggering with Two TDR Modules


Two N1055As and 86100D-STR Triggering

This topic applies to performing measurements under the following conditions:

  • TDT measurement
  • 86100D-STR mainframe (standard-trigger)
  • Two N1055A TDR/TDT modules with one module sending the TDR step and the other module receiving the TDR step.

In this situation, you must connect an 11667B Power Splitter or 11636B Power Divider as shown in the following picture. Use one cable to connect the mainframe's Trigger Input connector to the power splitter. Use two cables connect the power splitter to the Clock In connectors on each N1055A module.

Note

This setup is not required for 86100D-ETR mainframes. Therefore, it is recommended that you use an 86100D-ETR mainframe. The 86100D-ETR provides internal cabling for module synchronization.


T-Parameters and S-Parameters

TDR Mode (T/S Parameters)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Fundamentals
  • T/S-Parameters
  • Measurement Error
  • Mixed/True Mode

T-Parameters and S-Parameters

The ability to use S-parameters requires Option 202.

T-Parameters Versus Channel Waveforms

If multiple TDR stimulus steps are active for a test setup, the channel waveforms will not present accurate TDR/TDT reflection and transmission responses. However, T-parameter waveforms always display responses that are from a single stimulus step.

This topic describes the use of T-parameters (time-domain parameters) and S-parameters (scattering parameters) to identify Time Domain Reflectometry (TDR) and Time Domain Transmission (TDT) waveforms. During measurements, an N1055A or 54754A TDR module sends stimulus steps to the DUT and captures TDR and TDT response waveforms. These traditional TDR/TDT waveforms are time domain parameters waveforms that display the relationship between stimulus and response waveforms (voltage-ratio). This provides an intuitive view of a DUT's impedance profile (reflection and transmission characteristics) versus distance.

If option 202 is installed, time domain parameter waveforms can be transformed to the frequency domain as S-parameters, which are power-ratio measurements that include magnitude and phase. S-parameters describe how a test device modifies a signal. Typical S-parameter measurements include return loss, insertion loss, near-end cross talk (NEXT), and far-end cross talk (FEXT).

Measurement Names

The identification scheme used for S-parameters is also used to identify time domain parameter waveforms. The signal input to a device is referred to as the stimulus and the signal received from the device is referred to as the response. Measurements names begin with the capital letter "T" for time domain parameters and "S" for S-parameters. The letter is followed by numbers that represent the ratio of the signals on the device's input and output ports. For example, the T21 time domain parameter describes an insertion loss measurement made with the stimulus applied on Port 1 and the response on Port 2, as shown in the following figure. The output port's number is listed first followed by the input port's number. In normal usage, the ratio notation 2:1 is shortened to 21. The following picture shows how a T21 / S21 test setup would be represented in FlexDCA's DUT layout panel in the TDR Setup dialog box.

In a single-ended device, one transmission line carries data to a port which is comprised of one terminal. On a single-ended device with one port, only the return-loss (reflection) measurement T11 (and corresponding S11 in the frequency domain) is available. On single-ended devices with two ports, measurements T11, T21, T12, and T22 are available with associated S11, S21, S12, and S22 measurements.

Balanced Devices

In a balanced device, two transmission lines carry complementary data to a single port which is comprised of two terminals. The two lines can be driven with either a differential (anti-phase) or common (in-phase) stimulus. The advantage of using a balanced device is that a receiver can reject a signal that is common to both conductors. Also, radiation is reduced due to cancellation of electromagnetic fields.

Balanced devices can also be measured during mixed stimulus use, where the input and output stimulus types are different. For example, the input port could be driven differentially while the common response is measured. The S-parameters measure the impedance between the two lines. Time-domain parameter and S-parameter names for balanced ports include two additional letters: C (common) and D (differential):

  • SCCxx (common measurement, where xx represents port numbers)
  • SDDxx (differential measurement)
  • SDCxx (mixed-stimulus measurement: common input, differential output)
  • SCDxx (mixed-stimulus measurement: differential input, common output)

As with the port numbers, the convention is to list the letter (C or D) representing the output port stimulus type first followed by the letter representing the stimulus type of the input port.

2-Port Single-Ended Measurements

The following table lists all four possible combinations of time domain parameter and S-parameter measurements on a two-port device. To find the measurement, locate the intersection of the stimulus (input) port column and the response (output) port row. The return loss measurements are S11 (forward) and S22 (reverse). The insertion loss measurements are S21 (forward) and S12 (reverse).

 |  | Time Domain Parameters |  | S-Parameters
 |  | Stimulus Ports |  | Stimulus Ports
 |  | 1 | 2 | 1 | 2
Response Ports | 1 | T11 | T12 | S11 | S12
 | 2 | T21 | T22 | S21 | S22

4-Port Single-Ended Measurements

Sixteen different measurements can be made on four-port devices. In addition to the measurements previously described, available measurements include near-end cross talk (S31) and far-end cross talk (S41).

 |  | Time Domain Parameters |  |  |  | S-Parameters
 |  | Stimulus Ports |  |  |  | Stimulus Ports
 |  | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4
Response Ports | 1 | T11 | T12 | T13 | T14 | S11 | S12 | S13 | S14
 | 2 | T21 | T22 | T23 | T24 | S21 | S22 | S23 | S24
 | 3 | T31 | T32 | T33 | T34 | S31 | S32 | S33 | S34
 | 4 | T41 | T42 | T43 | T44 | S41 | S42 | S43 | S44

1-Port Balanced Measurements

In addition to balanced reflection measurements (for example SDD11), you can perform single-ended reflection measurements on the individual port terminals (S11 and S22) as well as the S21 near-end cross talk measurement between the positive and negative terminals.

2-Port Balanced Measurements

The following tables describe the standard and mixed stimulus measurements.

Differential
 |  | Time Domain Parameters |  | S-Parameters
 |  | Stimulus Ports |  | Stimulus Ports
 |  | 1 | 2 | 1 | 2
Response Ports | 1 | TDD11 | TDD12 | SDD11 | SDD12
 | 2 | TDD21 | TDD22 | SDD21 | SDD22
Common
 |  | Time Domain Parameters |  | S-Parameters
 |  | Stimulus Ports |  | Stimulus Ports
 |  | 1 | 2 | 1 | 2
Response Ports | 1 | TCC11 | TCC12 | SCC11 | SCC12
 | 2 | TCC21 | TCC22 | SCC21 | SCC22
Mixed Stimulus. Common Inputs, Differential Outputs
 |  | Time Domain Parameters |  | S-Parameters
 |  | Stimulus Ports |  | Stimulus Ports
 |  | 1 | 2 | 1 | 2
Response Ports | 1 | TDC11 | TDC12 | SDC11 | SDC12
 | 2 | TDC21 | TDC22 | SDC21 | SDC22
Mixed Stimulus. Differential Inputs, Common Outputs
 |  | Time Domain Parameters |  | S-Parameters
 |  | Stimulus Ports |  | Stimulus Ports
 |  | 1 | 2 | 1 | 2
Response Ports | 1 | TCD11 | TCD12 | SCD11 | SCD12
 | 2 | TCD21 | TCD22 | SCD21 | SCD22


TDR/TDT Fundamentals

TDR Mode (Fundamentals)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Fundamentals
  • T & S-Parameters
  • Measurement Error
  • Mixed/True Mode

TDR/TDT Fundamentals

In this topic you'll learn the basics of TDR and TDT measurements, which allow you to evaluate the integrity of a transmission line and its load. The device under test can be a passive device such as a printed circuit board, connector, or cable. Both TDR and TDT measurements may be performed on single-ended or differential circuits. For both TDR and TDT, a fast edge is introduced into your Device Under Test (DUT) and performs the following measurements:

  • For TDR, measures the reflection response for comparison of the incident and reflected waves.
  • For TDT, measures both insertion loss and propagation delay of your DUT. TDT requires that you connect an electrical channel to the output of your DUT. The incident step at the output of the DUT is then sent into the electrical channel.

TDR uses an echo technique as used in a "closed-loop radar", as shown in the graphic below. The TDR module launches a fast voltage incident step (Ei) into the DUT.

FlexDCA displays both the transmitted and reflected pulse (Er) at any particular point on the transmission line. The following information about the DUT is revealed:

  • Characteristic impedance and impedance changes (as a function of distance)
  • Percent reflection
  • Types of any discontinuities (resistive, inductive, or capacitive)
  • Type of loss (series or shunt)
  • Propagation delay

Knowing the above characteristics, you can then locate the sources of impedance mismatch that contribute to crosstalk, multi-path distortion, signal degradation, and unwanted emissions. TDR also gives more meaningful information concerning the broadband response of a transmission system than any other measurement technique. You'll find many typical measurements, such as rise time, on the measurement toolbar.

Note

When using an 86118A, the long length head cables introduce extra trigger delay that horizontally skews the displayed signal and may result in the display of the transmitted step appearing before the incident step.

Propagation on a Transmission Line

The classic transmission line consists of a continuous structure of resistors (R), inductors (L), and capacitors (C), as shown in the following circuit. By studying this example several characteristics of the transmission line can be determined.

If the line is infinitely long and R, L, G, and C are defined per unit length, then

where Zo is the characteristic impedance of the line.

A voltage introduced at the step generator requires a finite time to travel down the line. The phase of the voltage moving down the line lags behind the voltage introduced at the generator by an amount β per unit length. The voltage is then attenuated by an amount α per unit length by the series resistance and shunt conductance of the line. The phase shift and attenuation are defined by the propagation constant γ in the following equation.

where:

  • α is the attenuation in nepers per unit length.
  • β is the phase shift in radians per unit length.

The velocity at which the voltage travels down the line can be defined in terms of β, where

The velocity of propagation (Vp) approaches the speed of light (Vc) for transmission lines with air dielectric. For the general case where er is the dielectric constant.

The propagation constant γ can be used to define both the voltage and current at any distance (x) down an infinitely long line by the following relations:

Since the voltage and the current are related at any point by the characteristic impedance of the line

where:

  • Ein is the incident voltage
  • Iin is the incident current

The previous equations satisfy the voltage and current relationships when the transmission line is infinite in length and is terminated in a load whose impedance matches the characteristic impedance of the line. If the load is different from Zo, these equations are not satisfied unless a second wave is considered to originate at the load and to propagate back up the line toward the source. This reflected wave is energy that is not delivered to the load. Therefore, the quality of the transmission system is indicated by the ratio of this reflected wave to the incident wave originating at the source. This ratio is called the voltage reflection coefficient, ρ , and is related to the transmission line impedance by the equation:

The magnitude of the steady-state sinusoidal voltage along a line terminated in a load other than Zo varies periodically as a function of distance between a maximum and minimum value. This variation, called a standing wave, is caused by the phase relationship between incident and reflected waves. The ratio of the maximum and minimum values of this voltage is called the voltage standing wave ratio (VSWR), σ , and is related to the reflection coefficient by the equation

Either of the above coefficients can be measured. However, the value of the VSWR measurement is limited. If a system consists of a connector, a short transmission line and a load, the measured standing wave ratio indicates only the overall quality of the system. This value does not tell which of the system components is causing the reflection or whether the reflection from one component is of such a phase as to cancel the reflection from another component.

TDR Step Reflection Testing

The TDR module applies a positive-going incident wave (step) to the transmission system under test. This step (Ei) travels down the transmission line at the velocity of propagation of the line.

If the load impedance is equal to the characteristic impedance of the transmission line (Er = 0) there is no reflection. The displayed waveform is the incident voltage step recorded as the wave passes the point on the transmission line monitored by the oscilloscope.

If an impedance mismatch exists at the load (Er ≠0), part of the incident wave is reflected. The reflected voltage wave appears on the display screen added to the incident wave algebraically.

Locating Mismatches

In time domain reflectometry (TDR), the reflected wave is easy to distinguish from the incident wave due to the separation in time. This time separation is valuable in determining the length (D) of the transmission line from the monitoring point to the impedance mismatch.

where Vp is the velocity of propagation and T is the transit time from monitoring point to the mismatch and back again.

The velocity of propagation can be determined from an experiment on a known length of the same type of cable under test. For example, the time required for the incident wave to travel down and the reflected wave to travel back from an open circuit termination at the end of a 120 cm piece of RG-9A/U is 11.4 ns. This results in a Vp of 2.1 x 10 cm/s. Knowing the Vp and reading T from the instrument determines D. The impedance mismatch can then be located on the transmission line.

In FlexDCA, you can measure the distance between two discontinuities by placing two tracking markers on a waveform that is displayed in a Time domain Displays (Time-Ohms, Time-Volts, or Time-% windows). You can also use markers to measure frequency separation in Frequency Domain Displays (Freq-Mag, Phase, and Group Delay windows).

Analyzing Reflections

The shape of the reflected wave is valuable since it reveals both the nature and magnitude of the mismatch. The following table show four typical TDR displays and the load impedance responsible for each. When interpreting this information, recall that:

The characteristic impedance of a transmission line is represented as Zo

Knowledge of Ei and Er, as measured on the instrument, allows ZL to be determined in terms of Zo, or vice versa. Using the table, you can verify that the reflections are actually from the terminations specified. If you assume ZO is real (approximately true for high quality commercial cable), you will notice that resistive mismatches reflect a voltage of the same shape as the driving voltage with the magnitude and polarity of Er determined by the relative values of Zo and RL.

Reflections for Various Terminations
Termination | Description of Reflection
Open Circuit |
Short Circuit |
Double the Characteristic Impedance |
Half the Characteristic Impedance |

Complex Load Impedances

The following table shows four basic reflections produced by complex load impedances. The characteristic impedance of a transmission line is represented as Zo.

Reflections for Various Complex Load Impedances
Termination | Description of Reflection
Series R-L |
Shunt R-L |
Series R-C |
Shunt R-C |

The above waveforms can be verified by writing the expression for ρ (s) in terms of the specific ZL for each example. In other words,

or

and so on.

To find an expression for er(t), you can multiply ρ (s) by the transform of a step function of Ei and then transform this product back into the time domain. This procedure is useful, but a simpler analysis is possible without resorting to Laplace transforms. The more direct analysis involves evaluating the reflected voltage at time t = 0 and at time t = ∞ and assuming any transition between these two values to be exponential. For simplicity, time is chosen to be zero when the reflected wave arrives back at the monitoring point. For example, in the case of the series R-L combination at t = 0, the reflected voltage is +Ei. The inductor will not accept a sudden change in current; it initially looks like an infinite impedance, and ρ = +1 at t = 0. Then current in L builds up exponentially and its impedance drops toward zero. At t = ∞ therefore er(t) is determined only by the value of R as shown in the following equation:

when τ = ∞.

The exponential transition of er(t) has a time constant determined by the effective resistance seen by the inductor. Since the output impedance of the transmission line is Zo, the inductor sees Zo in series with R and therefore the time constant of the exponential transition of er (t) is:

A similar analysis is possible for the case of the parallel R-C termination. At time zero, the load appears as a short circuit since the capacitor will not accept a sudden change in voltage. Therefore ρ = –1 when t = 0. After some time, however, voltage builds up on C and its impedance rises. At t = ∞, the capacitor is effectively an open circuit, and er(t) is determined only by the value of R, as shown in the following equation::

when τ = ∞.

The resistance seen by the capacitor is Zo in parallel with R, and therefore the time constant of the exponential transition of er(t) is

The two remaining cases can be treated in exactly the same way.

Discontinuities on the Line

Previous topics in this section have discussed the effect of a mismatched load at the end of a transmission line. Often, however, you may not only be concerned with what is happening at the load, but also at intermediate points along the line. Consider the transmission system in the following graphic.

The junction of the two lines (both of characteristic impedance Zo) employs a connector of some sort. Assume that the connector adds a small inductor in series with the line. Analyzing this discontinuity on the line is not much different from analyzing a mismatched termination. In effect, you can treat everything to the right of M in the figure as an equivalent impedance in series with the small inductor. You can then call this series combination the effective load impedance for the system at the point M. Since the input impedance to the right of M is Zo, an equivalent representation is shown in the next graphic.

The displayed waveform will appear as follows.

Multiple Discontinuities

One of the advantages of TDR is its ability to handle cases involving more than one discontinuity. Refer to the following graphic.

The instrument display for this situation would be similar to the following, assuming Zo > Z'o < ZL

It is evident that the two mismatches produce reflections that can be analyzed separately. The mismatch at the junction of the two transmission lines generates a reflected wave Er1 where

Similarly, the mismatch at the load also creates a reflection due to its reflection coefficient

Two things must be considered before the apparent reflection from ZL (as shown on the instrument display) is used to determine ρ2. First, the voltage step incident on ZL is not merely Ei but

Second, the reflection from the load is

However, this is not equal to Er2 since a re-reflection occurs at the mismatched junction of the two transmission lines. The wave that returns to the monitoring point is

Since ρ′1 = –ρ1, Er2 may be re-written as

The part of ErL reflected from the junction of ZO and ZO′, in other words, ρ1′ErL is again reflected off the load and heads back to the monitoring point only to be partially reflected at the junction of ZO′ and ZO. This continues indefinitely, but after some time the magnitude of the reflections approaches zero.

If the transmission lines represented by ZO′ and ZO are assumed to have no loss (R or G), the peeling function can be used to remove these re-reflections, making it much simpler to identify the values of ZO, ZO′, and ZL in a TDR waveform.


Mixed Mode Versus True Mode

TDR Mode (Mixed Mode)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Fundamentals
  • T & S-Parameters
  • Measurement Error
  • Mixed/True Mode

Mixed Mode Versus True Mode

When defining a TDR Setup for a differential DUT, you can select to use Mixed Mode or True Mode method of deriving S-parameters. This selection is made in the Differential Step Setup dialog box. This topic explains the differences of these two measurement methods. The following measurement algorithms are used for each measurement mode:

Mixed Mode (default method)
Positive stimulus steps are input to both the DUT's (+) and (–) port inputs and the response from the (–) port is mathematically converted as if a negative step had been applied.
True Mode
A positive stimulus step is input to the DUT's (+) port input and a negative stimulus step is input to the DUT's (–) port input.

Designing perfectly matched sources for both positive and negative stimulus steps is impossible. To ensure accurate measurements, the two input stimulus steps must be identical. Since True Mode uses different step sources (negative and positive), they cannot be identical. Mixed Mode solves this problem by using the same step generator for both steps and then mathematically converting the response as if a negative step had been applied. The mathematical conversion is extremely accurate. This can be tested by comparing the S-parameters measured using both methods to the S-parameters measured on a high-performance network analyzer, such as an Keysight N5225A PNA Microwave Network Analyzer.

Since almost all TDR/TDT measurements are performed on passive devices, Mixed Mode provides the most accurate measurements. In rare cases, the DUT may be non-linear as in a DUT that has limiter which may cause step compression. This compression can degrade performance. In this case, selecting True Mode may provide better results.

For these reasons, Mixed Mode provides the most accurate S-parameters for virtually all differential TDR measurements. Mixed Mode is the default mode in FlexDCA.


Sources of Measurement Error

TDR Mode (Measurement Error)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Fundamentals
  • T & S-Parameters
  • Measurement Error
  • Mixed/True Mode

Sources of Measurement Error

The three primary sources of error in TDR/TDT measurements are cables and connectors, the instrument, and the step generator.

Cables and Connectors as an Error Source

The cables and connectors located between the TDR step source, the Device Under Test (DUT), and the instrument can significantly affect measurement results. Impedance mismatches and imperfect connectors add reflections to the actual signal being measured. These factors can distort the signal and make it difficult to determine which reflections are from the DUT and which are introduced from other sources.

In addition, cables are imperfect conductors that become more imperfect as frequency increases. Cable losses, which increase at higher frequencies, increase the rise time of edges and cause the edges to droop as they approach their final value.

The following picture depicts how cables and connectors affect measurements. The upper waveform is the reflection of a step from a short circuit. Connections cause the reflections at the peak of the step and along the baseline. Cable loss yields the rounded transition of the step to its baseline level. The lower waveform illustrates the measured data after being corrected with a TDR calibration.

The Instrument as an Error Source

An instrument can introduce errors into measurements in several ways. The finite bandwidth of an instrument translates to limited rise time. Edges with rise times that approach the minimum rise time of the instrument are measured slower than they actually are. When measuring how a device responds to a very fast edge, the instrument's limited rise time may distort or hide some of the device response.

The instrument can also introduce small errors that are due to the trigger coupling into the channels and channel crosstalk. These errors appear as ringing and other non-flatness in the display of the measurement channel baseline and are superimposed on the measured waveform. They are generally small and are only significant when measuring small signals in balanced test fixtures.

The Step Generator as an Error Source

The shape of the TDR step stimulus is also important for accurate measurements. The device under test responds not only to the step, but also to the aberrations on the step such as overshoot and non-flatness. If the overshoot is substantial, the response of the device under test can be more difficult to interpret.

The rise time of the step is also extremely important. The rise time in the 86100D is adjustable through the Setup Wizard. To determine how the device under test will actually respond in its intended application, you should test it at edge speeds similar to those it will actually encounter. Consider the example of a BNC connector in the following picture.

Only about 3% of a 391 ps rise time edge (top waveform) is reflected by a BNC connector whereas 6% of a 250 ps rise time edge (middle waveform) is reflected and about 8% of a 100 ps rise time edge (bottom waveform) is reflected.

In the above measurement scenario, the results obtained using a 100 ps rise time step stimulus do not apply for a connector that recognizes edges that are always slower than 350 ps. The connector might be acceptable for 350 ps edges but not for 100 ps edges. Measurements made at inappropriate rise times can yield invalid conclusions.

Edge speed is also critical when using TDR to locate the source of a discontinuity along a transmission line. Just as the limited rise time of the instrument can limit the accuracy of this kind of measurement, the rise time of the step source can also limit accuracy.

The edge speed also affects the spatial resolution of a TDR measurement or its ability to resolve discontinuities along a transmission line. This can be important when trying to extract models for an interconnect.

The rise time of the measurement system is limited by the combined rise times of the oscilloscope and the step generator. It can be approximated by the following equation:

In a system with zero minimum rise time, the response of a discontinuity would not be attenuated at all. A real system has a limited rise time, which acts as a low-pass filter. If the step stimulus used is too slow, the true nature of the discontinuity may be disguised or may not even be visible. The cause may be more difficult to physically locate. Notice in the previous figure that as the rise time of the step stimulus is decreased, the true nature of the reflection from the device under test becomes more apparent.


Display S-Parameters

The ability to use S-parameters requires Option 202.

AVAILABILITY

The ability to display S-parameters is not available when using the Basic Control experience. Use the DUT Based experience instead.

Using the Display S-Parameters dialog box, you can display multiple Magnitude (Freq-Mag), Phase (Phase), or Group Delay (GrpDelay) charts, which are waveform content windows. To view the S-parameters that are available for your specific TDR setup, click the Available S-Parameters in the TDR Setup dialog box. Increasing the number of activated TDR steps increases the number of available parameters. Depending on the TDR stimulus mode, multiple single-ended or differential responses will be available.

TDR Stimulus Mode | Type of Available Responses
 | Single-Ended | Differential
Single-Ended | ♦ |
Differential | ♦ | ♦

To Display S-Parameters

  1. Open the Display S-Parameters dialog box by clicking:
    2. The Display button in the TDR Setup dialog box, or
    The Freq Domain Displays button in the Setup toolbar.
  2. In the pane, click the [image] icon to select an S-parameter for either an existing or new Magnitude (Freq-Mag), Phase (Phase), or Group Delay (GrpDelay) chart.
  3. Click to select as many available S-parameters as you want on the chart. Available parameters are highlighted; selected parameters are green. In this picture, there are eight available differential parameters of which three (SDD21, SCD12, and SCD21) are selected for the Magnitude chart. Additional parameters may be available on the Single-Ended tab.
  4. After the graph is displayed, the graph can be configured.

Changing the Frequency Spacing

You can change the default frequency spacing between data points on all frequency domain graphs. This is the same frequency spacing between the data points in S-parameter data that is saved to a file.

  1. Select a displayed frequency domain graph
  2. Click on the Configure Window button shown in the following picture.
  3. In the Configure Window, change the S-Parameter Freq Spacing setting. Notice that this window can also be used for scaling the waveform and to select S-parameters to display.


Available S-Parameters

The ability to use S-parameters requires Option 202.

This informational dialog box shows the S-parameters that are available for your specific DUT setup diagram (shown in the TDR Setup dialog box). These available S-parameters can be selected for display in the TDR Setup dialog box.

S-Parameter Names

Click on this link to learn more about how S-parameter and time domain parameters are named:

  • Time Domain Parameters and S-Parameters.

For differential setups, the dialog box shows both the available single-ended and differential S-parameters that can be displayed. For single-ended setups, the dialog box only includes the available single-ended S-parameters.

The dialog box identifies all possible S-parameters, which are determined by the number of ports on the DUT. S-parameters become available (highlighted) by activating TDR steps in the DUT setup diagram. Only those parameters that are highlighted are available for display. Parameters that are dim are not available. For example, in the above pictures the S11 and SDD11 responses are available but the S12 and SDD12 responses are not. To enable more responses, you must turn on the associated TDR steps in the DUT setup diagram.

The following examples show all of the S-parameters that could be available for selected DUTs. If you are unfamiliar with S-parameter names, you may find this section helpful.

Example of S-Parameters on Single-Ended 4-Port DUT

There are 16 possible S-Parameter responses for this DUT. When using an N1055A TDR module, all 16 responses could be simultaneously displayed.

Single-Ended S-Parameters (4-Port DUT)
DUT Setup Diagram | S-Parameter | Response Description
Port 1 Step: On | S11 | Return loss
 | S21 | Insertion loss
 | S31 | Near-end cross talk
 | S41 | Far-end cross talk
Port 2 Step: On | S12 | Insertion loss
 | S22 | Return loss
 | S32 | Far-end cross talk
 | S42 | Near-end cross talk
Port 3 Step: On | S13 | Near-end cross talk
 | S23 | Far-end cross talk
 | S33 | Return loss
 | S43 | Insertion loss
Port 4 Step: On | S14 | Far-end cross talk
 | S24 | Near-end cross talk
 | S34 | Insertion loss
 | S44 | Return loss

Example of S-Parameters on Differential 2-Port DUT

There are 16 possible differential and common-mode S-parameter responses for this DUT. Because this is a differential DUT, 16 single-ended S-Parameter responses are also available. Therefore, there are a total of 32 possible S-parameters for this DUT. When using an N1055A TDR module, all 32 responses can be simultaneously displayed.

Differential S-Parameters (2-Port DUT)
DUT Setup Diagram | S-Parameter | Response Description | S-Parameter | Response Description
Port 1 Step: On | Differential Stimulus |  | Commom-Mode Stimulus
 | SDD11 | Diff. return loss | SDC11 | Diff. return loss
 | SDD21 | Diff. insertion loss | SDC21 | Diff. insertion loss
 | SCD11 | Comm. return loss | SCC11 | Comm. return loss
 | SCD21 | Comm. insertion loss | SCC21 | Comm. insertion loss
Port 2 Step: On | Differential Stimulus |  | Commom-Mode Stimulus
 | SDD12 | Diff. return loss | SDC12 | Diff. return loss
 | SDD22 | Diff. insertion loss | SDC22 | Diff. insertion loss
 | SCD12 | Comm. return loss | SCC12 | Comm. return loss
 | SCD22 | Comm. insertion loss | SCC22 | Comm. insertion loss

Example of S-Parameters on Differential 4-Port DUT

For this DUT, a total of 128 S-parameter responses are possible including 64 single-ended and 64 differential! These is a maximum limit of 64 responses can be acquired at a single time. So, when two N1055A modules are used, all eight cables are connected to the DUT but only two TDR incident steps can be activated.

Differential S-Parameters (4-Port DUT)
DUT Setup Diagram | S-Parameter | Response Description | S-Parameter | Response Description
Port 1 Step: On | Differential Stimulus |  | Common-Mode Stimulus
 | SDD11 | Diff. return loss | SDC11 | Diff. return loss
 | SDD21 | Diff. insertion loss | SDC21 | Diff. insertion loss
 | SDD31 | Diff. near-end cross talk | SDC31 | Diff. near-end cross talk
 | SDD41 | Diff. far-end cross talk | SDC41 | Diff. far-end cross talk
 | SCD11 | Comm. return loss | SCC11 | Comm. return loss
 | SCD21 | Comm. insertion loss | SCC21 | Comm. insertion loss
 | SCD31 | Comm. near-end cross talk | SCC31 | Comm. near-end cross talk
 | SCD41 | Comm. far-end cross talk | SCC41 | Comm. far-end cross talk
Port 2 Step: On | Differential Stimulus |  | Common-Mode Stimulus
 | SDD12 | Diff. insertion loss | SDC12 | Diff. insertion loss
 | SDD22 | Diff. return loss | SDC22 | Diff. return loss
 | SDD32 | Diff. far-end cross talk | SDC32 | Diff. far-end cross talk
 | SDD42 | Diff. near-end cross talk | SDC42 | Diff. near-end cross talk
 | SCD12 | Comm. insertion loss | SCC12 | Comm. insertion loss
 | SCD22 | Comm. return loss | SCC22 | Comm. return loss
 | SCD32 | Comm. far-end cross talk | SCC32 | Comm. far-end cross talk
 | SCD42 | Comm. near-end cross talk | SCC42 | Comm. near-end cross talk
Port 3 Step: On | Differential Stimulus |  | Common-Mode Stimulus
 | SDD13 | Diff. near-end cross talk | SDC13 | Diff. near-end cross talk
 | SDD23 | Diff. far-end cross talk | SDC23 | Diff. far-end cross talk
 | SDD33 | Diff. return loss | SDC33 | Diff. return loss
 | SDD43 | Diff. insertion loss | SDC43 | Diff. insertion loss
 | SCD13 | Comm. near-end cross talk | SCC13 | Comm. near-end cross talk
 | SCD23 | Comm. far-end cross talk | SCC23 | Comm. far-end cross talk
 | SCD33 | Comm. return loss | SCC33 | Comm. return loss
 | SCD43 | Comm. insertion loss | SCC43 | Comm. insertion loss
Port 4 Step: On | Differential Stimulus |  | Common-Mode Stimulus
 | SDD14 | Diff. far-end cross talk | SDC14 | Diff. far-end cross talk
 | SDD24 | Diff. near-end cross talk | SDC24 | Diff. near-end cross talk
 | SDD34 | Diff. insertion loss | SDC34 | Diff. insertion loss
 | SDD44 | Diff. return loss | SDC44 | Diff. return loss
 | SCD14 | Comm. far-end cross talk | SCC14 | Comm. far-end cross talk
 | SCD24 | Comm. near-end cross talk | SCC24 | Comm. near-end cross talk
 | SCD34 | Comm. insertion loss | SCC34 | Comm. insertion loss
 | SCD44 | Comm. return loss | SCC44 | Comm. return loss


S-Parameters Export

Default User Folder

The default user data folder for S-parameter files is \S-Parameter Data.

TOUCHSTONE FILES

Starting with FlexDCA version A.05.00, Touchstone files can be imported back into the FlexDCA. Touchstone files can also be imported into Keysight's Physical Layer Test Systems (PLTS) for further analysis.

The S-Parameter Export dialog box allows you to quickly save your S-parameters to a Touchstone file. You can even append S-parameters to an existing file. It is very fast to save S-parameters because:

  • S-parameters do not need to be displayed in a chart.
  • DUT symmetries can be used to mathematically determine S-parameters with a minimal number of step responses turned on.
  • S-parameters can be saved before or after performing a TDR calibration.

Note

Time domain parameters cannot be saved to a file. For DUTs with balanced ports, single-ended S-parameters can be saved, but common (SCCxx), differential (SDDxx), and mixed-stimulus (SDCxx, SCDxx) parameters cannot be saved to a file.

Click the Export button in the TDR Setup dialog box's S-Parameter area to open this dialog box. Or, click File > Save > Export S-Parameters

Example of Dialog Box with S4P Data

Note

If data acquisition is in Single mode, you must press Single to capture and display fresh channel data before you can save any S-parameters.

Saving Parameters From the File Menu

When you choose to save S-parameters using the File > Save > Export S-Parameters menu command, the following dialog is displayed when multiple DUTs are setup. This dialog box allows you to select the DUT from which to save the parameters. When saving paramters directly from the TDR Setup dialog box, the correct DUT is already selected.

Measured Parameters Field

The Measured Parameters field shows the availability of S-parameters based on the TDR Setup and turned-on TDR steps from a TDR head.

Colored Tiles for Measured Parameters
Tile | Description | Example of Displayed Tiles
 | An S-parameter that will be directly written to the file. If you do not want a specific S-parameter saved to the file, click the tile so that it turns gray. An asterisk next to a displayed S-parameter indicates a calibrated response. |
 | An S-parameter that will not be written to the file. Click the tile so that it turns green if you want to save it.
 | An S-parameter that is unavailable because a TDR head is not connected to the DUT, or the associated TDR Step is not turned on.

File Contents Field

Clicking on the tiles shown in the File Contents area has no effect. Instead, the File Contents tiles shows the S-parameters that will be saved to the file and, if the file already exists, S-parameters that are currently contained within the file. The following table show what the tile colors indicate. For a four-port, single-ended device, 16 possible S-parameters are shown. For a two-port, single-ended device, 4 possible S-parameters are shown. For differential DUTs, the file contains single-ended S-parameters.

Colored Tiles for File Contents
Tile | Description | Example of Displayed Tiles
 | An S-parameter that will be saved from an active TDR step response. This is indicated by the measured label on the tile. |
 | The S-parameter already exists in the file and that the existing S-parameter data will not be overwritten. Notice that the tile is clearly labeled (in file).
 | A mathematically derived S-parameter for a symmetrical DUT will be saved to the file. Use the DUT Symmetries area of the dialog box to select this S-parameter. Notice that the tile labels indicated both the derived and source S-parameters.
 | An S-parameter that is unavailable. The file will contain zeros for the data for this parameter. Notice that the tile is clearly labeled (no data).

DUT Symmetries Field

For symmetrical DUTs, the DUT Symmetries field allows S-parameter data to be mathematically derived from other S-parameters based on the assumption about the symmetrical nature of ports on the DUT. This DUT symmetries give you the ability to fill in the entire 4 data fields for two-port device after measuring only two S-parameters. Or, the ability to fill in the entire 16 data fields for a four-port device after measuring only four S-parameters. Use this feature, for example, in situations when it is not possible to measure some S-parameters but you can assume device behavior. The following table shows examples of the different selections and the resulting data being created in the Touchstone file. Shown in the File Contents field, the tiles of translated S-parameters have gold colored text that indicated both the derived and source S-parameters.

S2P Symmetry Relationships
Selection | Graphical Representation | Symmetry Relationships | Example With One TDR Step On
 |  | S12 = S21 |
 |  | S22 = S11 |
 |  | S12 = S21 S22 = S11 |
S4P Symmetry Relationships
Selection | Graphical Representation | Symmetry Relationships | Example With One TDR Step On
 |  | S21 = S12 S31 = S13 S41 = S14 S23 = S32 S42 = S24 S43 = S34 |
 |  | S11 = S22 S33 = S44 S31 = S42 S24 = S13 |
 |  | S11 = S33 S22 = S44 S12 = S34 S21 = S43 |
 |  | S11 = S22 = S33 = S44 S12 = S21 = S34 = S43 S13 = S31 = S24 = S42 S14 = S41 = S23 = S32 |

Touchstone File Types

INSPECT A FILE

To determine which parameters are included in a Touchstone file:

  1. Click Clear All to de-select all Measured Parameters.
  2. Browse for the existing file.
  3. Click Modify.
  4. Blue tiles in the dialog box's File Contents field indicate parameter data within the file.

In the Export File fields, click Browse and the Select S-Parameter File dialog box opens as shown in the following picture. A default S-parameter filename is suggested based on the number of ports. The default folder is S-Parameter Data. After selecting the file, click Select to return to the Export File field.

The number of S-parameters that can be saved to a file during a save is limited to 4 port for single-ended DUTs and 2 ports for differential DUTs. The file can be modified to append additional data for DUTs with additional ports.

Available Export File Types
Number of DUT Ports | Number of S-Parameters | Data Saves to Fill File | File Type
Single-Ended DUTs
1 | 1 | 1 | .s1p, or .txt
2 | 4 | 1 | .s2p
4 | 16 | 4 | .s4p
8 | 64 |  | .s8p
12 | 144 |  | .s12p
16 | 256 |  | .s16p
Differential DUTs
1 | 4 | 1 | .s2p
2 | 16 |  | .s4p
4 | 64 |  | .s8p
6 | 144 |  | .s12p
8 | 256 |  | .s16p

If you select an already existing file, the Replace and Modify selections are available. Click Replace to always overwrite all S-parameters in the file. This includes removing S-parameter data from a file. For example, if the file already contains S21 data and you are not currently saving S21 data, the S21 data in the file will be erased. Click Modify to protect any existing S-parameters in the file, unless new data is available to overwrite it. For either selection, S-parameters that you are currently saving will always overwrite any S-parameters already in the file.


S-Parameter Memories

There are four S-parameter memories available in the S-parameter memories dialog box as shown in the following picture. S-parameter memories allow you to temporarily save and quickly view S-parameter waveforms from the following sources:

  • TDR/TDT mode's DUT-based setups
  • Touchstone 1 and Touchstone 2 files
  • Another S-parameter memory

S-parameter memory waveforms can be displayed in TDR/TDT, Eye/Mask, and Oscilloscope modes but not Jitter mode. You do not need a TDR module (N1055A or 54754A) installed in the 86100D to view S-parameters from a memory.

Click File > S-Parameter Memories to open this dialog box.

In the Load Memory field, click Load to import all of the S-parameter responses from a TDR/TDT DUT setup or from one of the three other S-parameter memories. Click Load From File to import the S-parameters from a file. Click Clear to erase all content from the selected memory. To quickly erase the content of all four S-parameter memories, click the Clear All Memories button that is located at the bottom of the dialog box.

Uniform Frequency Spacing

When importing S-parameters from a file, the frequency spacing in the file must be uniform or the file will not be loaded into memory. The frequency spacing used can differ between imported files.

After the responses have been loaded into memory, you can select to view them in Magnitude (Freq-Mag), Phase, and Group Delay (GrpDelay) charts (waveform content windows). Each chart can display multiple S-parameters and up to four charts of each type can be displayed.

For example, to view S11 and S21 in a Phase chart click on the Phase chart shown in the dialog box. (If a Phase chart is not shown in the dialog box, click the New Chart button.) The Select Signals for Phase dialog box appears as shown in the following picture. All of the S-parameters that are stored in the memory are shown as gray tiles. Click on S11 and S21 to select those responses for the chart. The selected tiles turn a green color indicating that they are included on the chart. Close the dialog box to view the waveforms.

Saving Chart Selections

S-parameter memories are not affected by performing an Default Setup (File > Default Setup) or by restarting FlexDCA. However, any displayed charts will not be preserved. If you want to save your chart selections, save an Instrument Setup.


TDR Calibration

TDR Mode (Calibration)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Setup
  • 1. Verify
  • 2. Cal Kits
  • 3. Timebase
  • 4. Select Responses
  • 5. Start Cal

Calibration Setup

Default User Folder

TDR calibration files are automatically saved to the \TDR calibration subfolder of the user data folder.

Availability

The ability to display time domain parameters is not available when using the Basic Control experience. Use the default DUT Based experience instead.

Use the TDR Calibration Setup dialog box to describe the calibration environment and to launch the Calibration Measurement Wizard. When making your selections in the dialog box, follow the order indicated from steps 1 through 6. The TDR calibration corrects for sources of measurement errors and establishes the measurement reference plane. This results in more reliable, repeatable, and accurate measurements. In addition, performing a calibration allows the instrument to simulate stimulus steps with different effective rise times. This allows you to view the effect of actual signal rise times on the magnitude of reflections from discontinuities.

Note

Perform a module calibration before beginning the TDR calibration setup.

Note

The TDR calibration includes adapters and cables to the reference plane. It does not require the DUT. Calibrations can be used with DUTs of any length.

Click on each step in this picture.

CALIBRATED INDICATOR

As seen in this picture, calibrated responses are identified by an asterisk in the graph's Signals legend area.

Click the above picture for detailed information on each calibration step. The five calibration steps are…

Step . Verify DUT Connections

Connect all of the test setup cables as shown in the dialog box. You may need adapters between TDR heads and the DUT. The calibration can place the measurement plane at the DUT's input as shown in this picture.

Step . Specify Cal Kits and Connectors

Select the Calibration Method to use:

  • ECal-Based. Using an ECal module simplifies the calibration procedure and shortens the time required to run a calibration.
  • Short-Open-Load-Thru (SOLT)
  • Short-Load-Thru (SLT)

Step . Confirm Timebase Options

For most users, it is recommended that you select the Automatically detect timebase setting and skip this step.

Step . Select Responses To Calibrate

Select the time domain parameters (responses) to calibrate.

Step . Step Deskew

This step is only displayed when True-Mode is selected for Differential or Common-Mode steps. Click Step Skew to open the TDR SKew dialog box. When this step is not displayed, the Deskew is automatically included in the calibration. Although rarely needed, you can manually enter deskew values in the TDR SKew dialog box or run the TDR Fixture Deskew Wizard. To do this, open the TDR Setup dialog box and click the TDR Fixture Deskew button.

Step . Start TDR Calibration

The TDR calibration wizard steps you through all of the required calibration steps.


Verify DUT Connections

TDR Mode (Calibration)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Setup
  • 1. Verify
  • 2. Cal Kits
  • 3. Timebase
  • 4. Select Responses
  • 5. Start Cal

Verify DUT Connections

Use this area of the TDR Calibration Setup dialog box to verify the test setup. The picture graphically represents typical module-to-DUT connections. This is the first step of the calibration setup.

In this diagram, you can click on the following icons to change the configuration:

Setup Control Description
Turns a TDR step on and off. You must turn on each step that will be active during some portion of your measurements. This control only appears for channels on N1055A and 54754A TDR modules.

Note

Turning TDR steps on determines which TDR and TDT responses (time domain parameters) and S-parameters are available for your measurements.

License Required

The ability to use S-parameters requires Option 202.

Opens the Configure DUT controls for defining custom names for the DUT ports.
Opens the Channel Step controls for defining a TDR step's type, method, direction, amplitude, and rate. Normally, these setting are configured automatically and you will not need to change them.
For TDR and TDR modules, turns the channel on and off.

Note

If two or more TDR steps are simultaneously on, the channel waveforms include the effects of both step responses and are therefore not an accurate display of individual responses. Always view the time domain parameter waveforms to ensure that you are looking at an accurate waveform.

Click Change to select a different DUT type or re-arrange the channel connections as allowed in the TDR Setup dialog box.


Specify Cal Kits and Connectors

TDR Mode (Calibration)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Setup
  • 1. Verify
  • 2. Cal Kits
  • 3. Timebase
  • 4. Select Responses
  • 5. Start Cal

Specify Cal Kits and Connectors

N4694A ECal MODULES

ECal is an advanced calibration technique originally developed as the “gold standard” for S-parameter measurements on a Vector Network Analyzers (VNA). The N4694A DC-67 GHz ECal module was developed specifically for DCA-X TDR measurements as it enables fast and accurate calibration and de-skew of TDR modules.

Use this area of the TDR Calibration Setup dialog box to specify the DUT's connector types and the calibration kit that you will use for each port. This is the second calibration setup step.

  • To Use an ECal Module
  • To Use SOLT and SLT Standards

To Use an ECal Module

Using an ECal module (DC to 67 GHz) greatly reduces the time required to perform a calibration.

  1. Connect a supported ECal module to the 86100D rear-panel USB connector. Do not connect it to a front-panel USB connector.
  2. In the Calibration Method field shown in the following picture, select ECal-Based. The ECal module should automatically be detected and the model and serial numbers shown in the ECal Module field.
  3. If all of the DUT's ports use the same type of connector, select the connector type in the DUT Connectors list. If the DUT's ports use different connectors, click Customize Per Port to open the Customize Port Connectors and Calibration Kits dialog box from which you specify each port's connector.

    4. Note

    If the DUT Connectors button is de-activated, click Customize Per Port.

    COMPATIBLE CONNECTORS

    When selecting adapters:

    • 1.85 mm and 2.4 mm connectors are intermateable.
    • 2.92 mm, 3.5 mm, and SMA connectors are intermateable

    Inserting the larger SMA (m) center pin into a 2.92 mm or 3.5 mm connector can slightly degrade the connector. It is recommended that you only mate SMA (m) connectors to other connectors that you reserve for this purpose.

  4. Determine any adapters that you will need for the ECal Module as shown in the following picture. In this example, a 2.4 mm-to-3.5 mm adapter must connect the TDR head to the DUT. Because this adapter must be included with the head during calibration, a 3.5 mm-to-2.4 mm adapter is added to connect to the ECal module as shown in the picture. Click Add Adapter(s) to open the Configure ECal Adapter for DUT dialog box and record any adapters needed for the ECal ports A or B. You may need to click Add New Adapter to make the adapter available for selection.

To Use SOLT and SLT Standards

  1. For each TDR head used, if an adapter is required to connect the head to the DUT, connect the adapter to the head.
  2. In the Calibration Method field, select the mechanical calibration standard:
    • Short-Load-Thru (SLT)
    • Short-Open-Load-Thru (SOLT)

  3. If all of the DUT's ports use the same type of connector, select the connector type in the DUT Connectors list and then select the Calibration Kit.
  4. If the DUT's ports use different connectors, click Customize Per Port to open the Customize Port Connectors and Calibration Kits dialog box from which you select the connector and the calibration kit for each port.

Note

If the DUT Connectors button is de-activated, click Customize Per Port.

Note

Always use precision loads during a calibration. Calibrations performed using non-precision loads can fail or result in inaccurate results. High quality shorts and precision terminations can be purchased with the N1024A/B TDR Calibration Kit.

Note

Although a TDR/TDT calibration provides the highest accuracy, a calibration is not required if do not need precision measurements and prefer to perform simple, quick impedance and S-parameter measurements on a device.


Timebase Options

TDR Mode (Calibration)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Setup
  • 1. Verify
  • 2. Cal Kits
  • 3. Timebase
  • 4. Select Responses
  • 5. Start Cal

Timebase Options

The timebase options in the TDR Calibration Setup dialog box allows you to control the timebase span.

Automatically Determine Fixture Length

In most situations, it is best to leave Automatically Determine Fixture Length selected. A TDR calibration includes fixtures and cabling up to the DUT's input. In other words, the measurement's reference plane is moved to the end of the fixture. When the DUT is connected after the calibration, the time scale is automatically adjusted for a DUT response of any length. However, you can manually adjust the time span for the fixture length.

Automatically Determine Fixture Length Setting
On | Off

If automatic fixture length does not work

In some situations, FlexDCA may not be able to automatically determine the length of the fixture and, as a result, cannot perform a proper calibration. If this happens, clear the Automatically Determine Fixture Length setting as shown in the picture above, and use the displayed "live" window to confirm that the fixture's entire response is displayed. When manually adjusting the waveform on the displayed graph, the [image] symbol marks the position measurement's reference plane before calibration. It marks the start of the fixture's response on the waveform, which is the TDR remote head's connector. Increasing the time span increases the distance over which impedance reflections can be viewed. Reducing the time span allows you to view more detail over a shorter distance. The following pictures show how to interpret example waveforms in the waveform viewport.

To adjust the fixture response in the window, perform the following steps:

Step | Waveform
1. Observe the fixture's response as shown in this example of a two-port single-ended calibration for T11, T21, S11, and S21 measurements. Notice that the end of the fixture's response is difficult to identify. |
2. Remove the TDR head from the fixture's output port. This makes the location of the fixture's output easy to locate. |
3. Adjust the span to place the fixture's end near the right side of the window. |

Calibration Number of Averages

The recommended number of waveform averages during a TDR calibration is 128 to 256. By default 128 averages are taken. Increasing the number of averages decreases noise while increasing measurement accuracy. When making TDR/TDT measurements, averages can be decreased to 16 or 32. Increasing averages above the number used during calibration does not increase measurement accuracy. To set the number of a averages for measurements, click Setup > Acquisition Setup.


Select Responses To Calibrate

TDR Mode (Calibration)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Setup
  • 1. Verify
  • 2. Cal Kits
  • 3. Timebase
  • 4. Select Responses
  • 5. Start Cal

Select Respopnses To Calibrate

This area of the TDR Calibration Setup dialog box to you to manually select T-domain responses to be calibrated. This is the fourth step of the calibration setup.

Click Select responses… to manually open the pane shown in the following picture. Use this pane to specify the time domain responses, if any, that you want to calibrate. Seleted responses appear green as shown in the picture. The Number of Calibration Steps required to calibrate the current response selection is shown at the bottom of the pane. The number of calibration steps increases with the number of selected responses. By default, all available responses that are possible for the test setup will be selected.


Start TDR Calibration

TDR Mode (Calibration)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Setup
  • 1. Verify
  • 2. Cal Kits
  • 3. Timebase
  • 4. Select Responses
  • 5. Start Cal

Start Calibration

To perform a TDR calibration:

  1. If needed, perform a module calibration.
  2. Click Start Calibration Measurement Wizard in the TDR Calibration Setup dialog box.
  3. Follow the on-screen instructions. The following picture shows an example of a step using an ECal module. As each step is completed, a green checkmark is placed next to the completed step. Make the connections as shown in the dialog box and then click Measure.

The following picture shows the same calibration setup as shown above except that the a SOLT calibration method is used instead of an ECal module. Notice that the required steps have increased from 3 to 15 steps! Using an ECal module greatly reduces the time required for a calibration and decreases the chance of making a connection error.

If a step is interpreted as having been improperly performed, as shown in step 3 in the following picture, you can either repeat the step or click Use Current to specify that the calibration data is correct for this step.

As shown in the following picture, steps can be skipped or performed in a different order.


Customize Port Connectors and Cal Kits

Use this dialog box to specify the type of RF Connectors on each of the DUT's ports and the Calibration Kits that you plan to use during the calibration. The Calibration Kits selections are standard mechanical kits and are not displayed when you have selected to use an ECal Module in the TDR Calibration Setup dialog box.

Connectors Field

Specify the type of connector on each of the DUT's ports. Selections are available for all DUTs regardless of the calibration method selected. Supported connector types include 1.85 mm, 2.4 mm, 2.92 mm, and 3.5 mm (both male and female). If all of the RF connections are of the identical type, select All Connectors Match.

Calibration Kits Field

When not using an ECal module, select the standard mechanical calibration kit that you will use for each of the DUT's ports. The 85056A/D and 85058B/D kits contain precision standard opens, shorts, and loads as well as adapters to change the sex of the test port connector. Gauges for verifying and maintaining the connector interface and a torque wrench are also provided. If you plan to use the same calibration kit for all of the ports, select Use Single Cal Kit. Using a generic calibration kit can result in compromised measurement results.

Note

Always use precision loads during a calibration. Calibrations performed using non-precision loads can fail or result in inaccurate results. High quality shorts and precision terminations can be purchased with the N1024A/B TDR Calibration Kit.

Supported Calibration Kits for Each Type of Port Connector
Calibration Kits | Port Connector
 | 3.5 mm | 2.92 mm | 2.4 mm | 1.85 mm | Probe
85052B/D 3.5 mm | ♦ | ♦ |  |  |
85056A/D 2.4 mm |  |  | ♦ | ♦ |
85058B/E 1.85 mm |  |  | ♦ | ♦ |
85052K E01/E02(2.92 mm Broadband Load) | ♦ | ♦ |  |  |
Maury 8770D (2.92 mm Broadband Load) | ♦ | ♦ |  |  |
Maury 8770C (2.92 mm Sliding Load) | ♦ | ♦ |  |  |
Generic 2.92 (2.92 mm calibration kit) | ♦ | ♦ |  |  |
Generic 3.5 (3.5 mm calibration kit) | ♦ | ♦ |  |  |
Generic 2.4 (2.4 mm calibration kit) |  |  | ♦ | ♦ |
Generic 1.85 (1.85 mm calibration kit) |  |  | ♦ | ♦ |
Generic Probe (Probe Calibration kit) |  |  |  |  | ♦


Configure ECal Adapters for DUT

COMPATIBLE CONNECTORS

When selecting adapters:

  • 1.85 mm and 2.4 mm connectors are intermateable.
  • 2.92 mm, 3.5 mm, and SMA connectors are intermateable

Inserting the larger SMA (m) center pin into a 2.92 mm or 3.5 mm connector can slightly degrade the connector. It is recommended that you only mate SMA (m) connectors to other connectors that you reserve for this purpose.

Use the Configure ECal Adapters for DUT dialog box to select or add adapters that are needed to connect the ECal ports to the TDR head. Adding adapters is accomplished using the Add New Adapter wizard, which steps through the following tasks:

  • Naming the adapter so that it can be selected in this dialog box.
  • Entering is connector types.
  • Measuring or manually entering the delay introduced by the Adapter.

If your test setup does not require an adapter to connect to the ECal module, you may skip this task. The following cases describe the different needs for adapters:

  • Matching Connectors on Head, DUT, and ECal
  • Matching Connectors on Head and DUT but not ECal
  • Different Connectors on Head, DUT, and ECal

Default User Folder

The default user data folder for adapter definition files is \Adapter Definitions.

To define an adapter, run the Add New Adapter wizard.

Case 1. Matching Connectors on Head, DUT, and ECal

If the TDR head mates to the DUT port and the ECal port, no adapter is required. Select None in the dialog box for the Port adapter.

Case 2. Matching Connectors on Head and DUT but not ECal

If the TDR head mates to the DUT port but not the ECal port, an adapter is required. In the Add New Adapter wizard, add the information for this ECal adapter.

Note

Because the TDR head connector requires an adapter to mate to the ECal connector, the following message is displayed near the top of the application until a compatible ECal adapter is assigned.

Case 3. Different Connectors on Head, DUT, and ECal

If the ports on the TDR head, DUT, and ECal module do not mate, an adapter is required to connect the head to the DUT and an additional adapter is needed to connect the head adapter to the ECal module. In Add New Adapter wizard, only enter the ECal adapter and not the DUT adapter.

Note

Because the TDR head adapter's connector requires an adapter to mate to the ECal connector, the following message is displayed near the top of the application until a compatible ECal adapter is assigned.

To Add a New ECal Adapter

TO DELETE AN ADAPTER

Your adapter definitions are saved in individual .XML files. If you create an adapter name that you later do not like, you can delete the file thus removing the adapter. Adapter files are located in the user folder:

  • \User Files\Adapter Definitions

In the filename, spaces are represented by the "%20" characters. Do not attempt to create definition files as this may result in corrupting the FlexDCA installation.

  1. Click Add New Adapter.

  2. Enter a name for your adapter. The name can be descriptive of the type, use, or other identification. If the adapter name already exists, you can overwrite the existing definition.
  3. Click Next.
  4. Select the type of connector for Connector 1 and Connector 2.
  5. Select the Delay Specification: Measure Delay or Manually Set Delay.

  6. If Manually Set Delay was selected, click Next. You will be prompted to enter a delay value in seconds.
  7. If Measure Delay was selected, connect your adapter to the TDR head. Do not connect anything to the adapter's other end. Click Next, and wait while the delay is automatically measured. When prompted, remove the adapter from the TDR head and click Next. A second measurement is made to complete the adapter definition.


Supported ECal Modules

Keysight's ECal modules provide advanced calibration originally developed as the gold standard for S-parameter measurements on a Vector Network Analyzers (VNA). The following three DC-67 GHz 2-Port ECal modules were developed specifically for DCA-X TDR measurements as they enable fast and accurate calibration and de-skew of TDR modules. These are the only supported ECal modules for the 86100D:

Supported 2-Port ECal Modules
ECal Module | Description | Model Number For Ordering
N4694-61001 | DC to 67 GHz module with one female and one male 1.85 mm connectors | N4694A-HMF
N4694-61002 | DC to 67 GHz module with both 1.85 mm connectors male | N4694A-HMM
N4694-61003 | DC to 67 GHz module with both 1.85 mm connectors female | N4694A-HFF


TDR Setup

TDR Mode (Setup)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude

TDR Setup

Use the TDR Setup dialog box to define, configure, and calibrate a TDR measurement setup and to display Time Domain and S-parameter waveforms. As shown in the following picture, the setup uses a graphical representation of the DUT and TDR head connections. After calibrating your setup, select the T-parameters and S-parameters that you want to view.

Click TDR Setup on the Setup tab to open this dialog box.

To define a TDR/TDT setup

  1. In the TDR Setup dialog box, select the TDR Stimulus Mode: Single Ended or Differential.
  2. Click Add DUT if you have multple DUT setups to define. You can define up to 16 DUT setups.

    3. Click on this picture!

  3. Click Change DUT Type to select the type of DUT that you are using.

    4. COMPATIBLE CONNECTORS

    When selecting adapters:

    • 1.85 mm and 2.4 mm connectors are intermateable.
    • 2.92 mm, 3.5 mm, and SMA connectors are intermateable

    Inserting the larger SMA (m) center pin into a 2.92 mm or 3.5 mm connector can slightly degrade the connector. It is recommended that you only mate SMA (m) connectors to other connectors that you reserve for this purpose.

  4. Drag channel symbols shown along the dialog box's left side to the DUT ports as needed, as shown in the above picture.
  5. Make the hardware connections shown in the test setup. You may need to use adapters between the TDR head and the DUT as shown in this example picture.
  6. In the DUT Layout panel, click these icons to configure the setup:
    7. Setup Control Description
    Turns a TDR step on and off. You must turn on each step that will be active during some portion of your measurements. This control only appears for channels on N1055A and 54754A TDR modules.

    Note

    Turning TDR steps on determines which TDR and TDT responses (time domain parameters) and S-parameters are available for your measurements.

    License Required

    The ability to use S-parameters requires Option 202.

    Opens the Configure DUT controls for defining custom names for the DUT ports.
    Opens the Channel Step controls for defining a TDR step's type, method, direction, amplitude, and rate. Normally, these setting are configured automatically and you will not need to change them.
    For TDR and TDR modules, turns the channel on and off.

    Note

    If two or more TDR steps are simultaneously on, the channel waveforms include the effects of both step responses and are therefore not an accurate display of individual responses. Always view the time domain parameter waveforms to ensure that you are looking at an accurate waveform.

  7. Click Step Skew to correct for any skew between TDR channels.
  8. Click De-embed Fixture Setup to move the measurement plane to the DUT side of a fixture.
  9. Shown beneath the DUT Layout panel, click T-Parameters available or S-parameters available to select the responses that you want to measure.
  10. Click the Display buttons to select which available T- and S-parameters to display.
  11. Click the Export button to select which available S-parameters to export to a file.
  12. Click New Calibration to open the TDR Calibration Setup dialog box from which you can calibrate your test setup.

    13. Note

    Calibrations can be saved (*.tdrx files) and recalled and applied later to test setups. Use the Browse button to open a previously saved calibration file.

  13. After a calibration has been done, the TDR Setup dialog box displays the Rise Time setting from which you can adjust for the stimulus step.

Click Add Dut… to define additional TDR setups. Within the dialog box, each setup will be shown in its own tab. Up to 16 DUT setups can be defined.


Change DUT Type

Depending on the TDR stimulus mode (Single Ended or Differential), the following DUT type are available for you to select. Select the symbol that represents the number of ports on your DUT.

Click Change DUT Type in the TDR Setup dialog box to open this dialog box.

Single-Ended DUT Selections
1 Port | 2 Port | 4 Port | 8 Port | 12 Port | 16 Port
Differential DUT Selections
1 Port | 2 Port | 4 Port | 6 Port | 8 Port |


Step Skew

This dialog box is available from the following two buttons on the TDR/TDT toolbar:

TDR Setup's TDR Fixture Deskew button. This access to Step Skew is only available under the following conditions:

  • Differential or Common-Mode TDR steps are used
  • True Mode selected (Mixed Mode is the default). To switch to True Mode TDR stimulus, click on the gear icon [image] for the module block of the TDR Setup diagram.
  • TDR Calibration disabled

TDR Calibration Setup's Step 5. Step Deskew button. This access to Step Skew is only available when the TDR Calibration is disabled. TDR steps can be single-ended, differential, or common mode. The TDR stimulus can be Mixed Mode or True Mode.

TDR skew allows you to use two TDR step paths of unequal lengths to make differential or common stimulus measurements at the reference plane. TDR Step skew regulates the time differential between the launches of TDR steps. It is hardware delay to the actual TDR incident step. To deskew the test setup:

  • Click TDR Fixture Deskew Wizard to run a guided deskew procedure, which is the easiest deskew method. Or,
  • Manually entering the skew for each TDR step, clicking the step keys, or using the 86100D's front-panel knobs. The SW Delay value is a delay that is implemented in software. The actual skew adjustment consists of applying equal amounts of TDR and Horizontal skew to minimize round-trip measurement errors.

To open this dialog box, click TDR Fixture Deskew in the TDR Setup dialog box or Step Deskew in the TDR Calibration Setup dialog box.

Note

Follow the TDR and TDT skew procedures carefully. The procedures are not difficult to follow. Improperly performed skew adjustments can result in unexpected measurement behavior.


Channel Step Setup

Use the Channel Step Setup dialog box to control the TDR incident step from TDR modules.

  • Settings for Differential Setups Only
  • Settings for Single-Ended and Differential Setups

In the TDR Setup dialog box, click the channel symbol's gear icon to open this dialog box.

Selecting Activate Step turns the TDR step on and is identical to clicking the [image] button in the TDR Setup dialog box.

Settings for Differential Setups Only

Select the type of stimulus for the DUT: Differential or Common Mode. The default setting is Differential and the incident steps have the opposite polarity. If Common Mode is selected the two incident steps have the same polarity. The Step Method selection determines how S-parameters are derived: Mixed Mode or True Mode. The default method is Mixed Mode.

Mixed Mode
In Mixed Mode, also known as superposition, the differential TDR responses are measured by internally setting both TDR steps to positive polarity and mathematically deriving the responses as if the –step was negative. This allows all other parameters to be mathematically determined. In the TDR Setup dialog box, the steps are shown to have opposite polarity. This is the default method.
True Mode
In True Mode the differential TDR responses are measured with TDR steps of opposite polarity.

Note

Normally, the Step Type and Step Method settings are automatically determined when you select which time domain parameters and S-parameters that you want to view during the TDR Setup.

General Information on Differential Measurements

Differential TDR involves making measurements on a differential pair of transmission lines. A differential pair is defined as transmission lines that are electromagnetically coupled in some way. PC board designers use differential transmission lines for various applications. Because differential pairs are less affected by interference than a single transmission line, designers use differential lines for applications that are especially sensitive to interference.

There are three ways to make measurements on differential pairs:

  • Common stimulus measurement. Introduce a positive-going, same magnitude step on each line. If the lines are symmetric and the impulses are synchronized, there will be no voltage difference present between the two lines. Therefore, coupling of one signal onto the adjacent line does not take place.
  • Differential stimulus measurement. Introduce steps of equal magnitude but opposite polarity into the pair. In other words, a positive-going step is launched on one line and an effective negative-going step is launched on the adjacent line. Coupling is important with this measurement stimulus due to the voltage difference between the two lines. If you change a channel's units to ohms (or, % reflection) while using differential stimulus, the channel's trace (negative step) will be inverted in order to avoid displaying negative impedance values.
  • Single-ended stimulus measurement. Send a fast step signal down one transmission line while the adjacent line has no voltage (quiet line). This measurement will give the impedance of the active line. The measurement will also provide information about the crosstalk between the two lines by measuring the amount of voltage coupled into the quiet line from the signal line.

The three measurement methods yield different characteristic impedance. Which one is the "real" impedance? They all are. Differential pair measurements require that a new concept must be introduced. Differential pairs have an impedance matrix as opposed to single characteristic impedance as in single transmission lines. This matrix is made up of terms corresponding to the amount of coupling that takes place between the lines. The diagonal terms of the matrix are the self-impedance terms. The other elements of the matrix are related to the amount of voltage induced on the quiet line due to current from the active line. The closer the physical distance the two lines are, the larger the coupling terms will be.

The magnitude and phase of the step voltage coupled into each line affects the impedance of the lines. There are only certain voltage magnitude and phase combinations that will propagate down the transmission lines without distortion. These voltage combinations are known as modes. Not coincidentally, the non-distorting modes are the modes that are used for measuring differential pairs as discussed above. The modes are defined as follows:

  • Even mode propagates on a line when the differential pair is driven by a common signal.
  • Odd mode propagates on a line when a differential pair is driven differentially.

Similarly, the impedance seen by the source on a single line when the differential pair is driven with a common impulse is known as the even mode impedance. The impedance seen by the source on a single line when the differential pair is driven differentially is known as the odd mode impedance.

When using differential TDR, keep in mind that the transmission line properties are greatly influenced by the manner in which they are driven. Pay careful attention to the amount of coupling between lines and the propagation velocity.

Settings for Single-Ended and Differential Setups

The Step Direction by default is set to Positive going but can be changed to Negative going if needed for your device.

Use the Step Amplitude field to set the amplitude of the step.

The Step Rate setting affects the repetition rate of the TDR step generator. The default settings is Automatic which varies the repetition rate as you change the time base scale. This prevents multiple steps from appearing on the display. As the TDR rate decreases, TDR measurements can be made on longer transmission lines. You can manually set the repetition rate from 1 Hz to 1 MHz.

Note

Decreasing the TDR repetition rate slows down TDR measurements.


Set Custom Connector Names

Use the Set Custom Connector Names dialog box to apply custom port labels and to change the channel waveform labels on graphs. This allows you to more easily identify the ports.

Click the DUT symbol's gear icon in the TDR Setup dialog box to open this dialog box.

The following table shows how custom port names are applied with the Auto Diff Port Names setting.

Auto Diff Port Names Effect on DUT Symbol
 | Name Selection in Dialog Box | Resulting Labels on DUT Symbol
Custom Names are Not Applied |  |
Custom Names Applied |  |


Stimulus Rise Time Setting

The Rise Time setting appears in the TDR Setup dialog box after a TDR calibration is completed. You can specify the 10% to 90% rise time of the stimulus steps. The setting range depends on the TDR/TDT module that is installed. Rise time is often used to match the TDR/TDT rise time to the rise time of the actual signal that is expected to be applied to the DUT.


Select Calibration Set Dialog Box

Default User Folder

The default user data folder for TDR calibration files is \TDR calibration.

Use the Select Calibration Set dialog box to import a TDR calibration into the TDR Setup dialog box. TDR Calibration files are saved as part of the calibration that is performed using the TDR Calibration Setup dialog box.

Always recall a calibration file with the same instrument setup as when the calibration file was saved. This includes the temperature of the instrument. Although the stimulus and destination settings are saved in the file, these settings are not restored when the saved calibration data file is opened. (The stimulus and destination settings in the file enable the instrument to detect changed conditions that would invalidate the calibration). If you want to restore stimulus and destination settings, save and recall an instrument setup file along with your calibration data file.

The calibration file stores specific instrument settings include the following:

  • position of the reference plane
  • horizontal (time base) scale settings
  • delay associated with the calibration data
  • averages used to construct the calibration filter
  • number of measurement points per waveform
  • stimulus and destination

Remember to always copy important calibration files to an external memory device. If your original files are damaged or lost, you can restore the files from the backup.


TDR Setup (legacy experience)

LEGACY SETUP LIMITATIONS

It is recommended that you use the DUT based experience instead. If you use the TDR Setup explained in this topic, you cannot:

  • Run TDR Calibration Wizard
  • View T-Parameters
  • View S-Parameters

STANDARD SETUP ADVANTAGES

The standard DUT-based experience has the following advantages:

  • Easyest to use and most intuitive.
  • Shows available S-parameters and time domain parameters.
  • Allows use of the TDR Calibration Wizard.
  • Allows assignment of custom names to ports.
  • Ability to apply fixture DeEmbedding.

This version of the TDR Setup wizard is not recommended, but is provided for those users who desire a more traditional TDR setup experience. Instead, use the standard TDR Setup wizard.

Click Setup > TDR Basic Control to open this dialog box. Or, click the Trigger button, located at the bottom of the screen.

To Define a TDR/TDT Setup

  1. Configure the setup:
    2. Click | To Configure
 | On a channel symbol to configure the Channel Step
 | For a TDR module, turns the TDR step on and off.
 | For a receiver module or channel, turns the channel on and off.
  2. Click Step Skew to correct for any skew between TDR channels.


Fixture De-embedding

TDR Mode (De-embedding)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Why De-embed?
  • Fixture Components
  • AFR
  • Quick AFR
  • Full AFR
  • Valid AFR?

Why Use De-embedding?

When making TDR/TDT measurements, TDR test setups often require components (adapters, cables, PC board fixtures, or probes) to be inserted between the TDR head's connector and the ports on the DUT. We need to electrically remove (de-embed) these components thereby moving the measurement plane from the TDR head's connector to the DUT port.

There are two ways to de-embed depending on the type of components used:

  • For connectorized components such as shown in the above picture (adapter and cables), you don't need to perform de-embedding! Ignore this section on de-embedding and instead simply leave these components connected to the TDR head during the TDR Calibration for your DUT Setup.
  • For components that have one non-connectorized port such as a probe or some PC board fixtures, you must perform de-embedding as described in this section. The powerful Automatic Fixture Removal (AFR) tool is provided in case you do not have an existing Touchstone file for your component.

If you are an expert at TDR/TDT measurements, you may occasionally need to use de-embedding for connectorized components which is fine. But for most users, you don't need to worry about this case.

General Steps to De-embed a Device

  1. If you already have a Touchstone S-parameter file for the component that you want to de-embed, skip this step. Otherwise do the following:
    1. Select a DUT Setup that represents the component that you want to de-embed. For example, to de-embed a probe select a 1-port DUT.
    2. Perform a TDR Calibration for the DUT Setup. Use 512 averages and select to create all available S-parameters.
    3. Use AFR to create a characterize the component and create a Touchstone S-parameter file.
    4. Remember the name of the Touchstone file.
    5. Verify that the Touchstone file is valid.
  2. Select a DUT Setup for the DUT on which you want to make TDR/TDT measurements.
  3. In the DUT Setup dialog box, click on the De-Embed Fixture button.
  4. In the Fixture De-embedding Setup panel, for each unique device that you are de-embedding, import the S-parameter file that you created in Step 1 above to create a Fixture Component. The Fixture Component symbol represents the device that you want to de-embed.
  5. Drag your new Fixture Component onto the Fixture De-embedding Setup diagram to show its position in the test setup. For DUTs with multiple ports you may need to create multiple Fixture Components.
  6. Click the Back to DUT Layout button.
  7. Perform a TDR Calibration for the DUT Setup. Do not include any of the devices that you are going to de-embed.
  8. Select the Time Domain and S-Parameters that you want to view and close the TDR Setup dialog box.
  9. Click Setup > Acquisition Setup. In the Smoothing tab, enter averaging with 16 or 32 waveforms.


Characterize Fixture

TDR Mode (Fixture Components)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Why De-embed?
  • Fixture Components
  • AFR
  • Quick AFR
  • Full AFR
  • Valid AFR?

De-embedding Fixture Components

A Fixture Component models a component that has a non-connectorized port. Fixture Components are created in the Fixture De-embedding Setup pane of the TDR Setup dialog box.

Click De-Embed Fixture in the TDR Setup dialog box to open this dialog box.

  • For fixtures with a non-connectorized port:
    • Click Launch AFR Wizard ( [image]) to start FlexDCA's PLTS AFR. Or,
    • Drag an AFR Fixture Component symbol ( [image]) to the Fixture De-embedding Setup diagram. This launches Quick AFR. Quick AFR characterizes the fixture, saves the Touchstone files, and automatically loads the Touchstone file into a new Fixture Component.

To create a new Fixture Component

Fixture Components represents a fixture that you want to de-embed. Up to 16 Fixture Components can be created and they are labeled "A" through "P". Once created, you drag a Fixture Component to the Fixture De-embedding Setup drawing that is located in the center of the dialog box. You must characterize a fixture before you can create a Fixture Component. Characterization results in an S-parameter Touchstone file that is imported into the TDR Setup dialog box to create a Fixture Component.

  1. If the Load From File button is not shown in the dialog box's left-side panel, click the add new Fixture Component button.

  2. Make one of the following selections:
    • Click Load From File, and import the data from your Touchstone S-parameter file. This creates a new Fixture Component and labels it with the first available letter between "A" and "P". A total of 16 fixture components can be created. Or,
    • Click the AFR symbol to start Quick AFR. Quick AFR is an abbreviated version of Full AFR that offers a smaller set of options and automatically loads the created Touchstone fixture characterization file into the new Fixture Component.

To de-embed an Fixture Component

  1. Select an existing Fixture Component.
  2. Click the Details button to identify how the port data within the S-parameter file is ordered. Because the port ordering method can vary depending on the S-parameter file, use this command to allow FlexDCA to correctly interpret the S-parameters.
    3. Examples of Port Order of the Data for 4-Port Device
Fixture Component | Description
 | Default port order.
 | Alternate port order.
  3. Drag your Fixture Component to the setup diagram.
  4. To reverse the ports on a Fixture Component, click the gear [image] icon.
  5. Click Back to DUT layout to close the Fixture De-Embedding Setup.


N1930B PLTS Automatic Fixture Removal (AFR)

TDR Mode (AFR)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Why De-embed?
  • Fixture Components
  • AFR
  • Quick AFR
  • Full AFR
  • Valid AFR?

Introduction to N1930B PLTS AFR

The Keysight N1930B Physical Layer Test System's Automatic Fixture Removal (AFR) de-embedding algorithm has been directly ported into FlexDCA. In FlexDCA, there is also an additional Quick PLTS AFR which leverages and simplifies the standard AFR.

The power of AFR is that it:

  • Characterizes the response of a fixture that has a non-connectorized port. Both single-ended and differential fixtures and probes can be characterized. For example, this photograph shows a fixture that does not have connectors on the DUT side of the fixture.
  • Saves an S-parameter Touchstone file (.s2p or .s4p) for importing into a FlexDCA Fixture Component. Fixture Components model the component to be de-embedded.

Note

AFR in FlexDCA cannot be remotely controlled. The are no remote programming commands for AFR.

Option N1010A-BFP. Automatic Fixture Removal requires FlexDCA option N1010A-BFP and option 202, Enhanced Impedance and S-Parameters. You must purchase and install these options before the features that are described in this section can be used.

Typical AFR Use Case

Most of the time, you'll use AFR to characterize test setups that have a single-ended fixture with an RF connector on one end and a non-connectorized end at the DUT as shown in this picture. The "fixture" may not even be a PC board but instead, for example, a probe. Simply connect the TDR head to the fixture's connector and create an "open" or "short" at the non-connectorized end.

Custom Characterization Boards

The following diagrams show a typical combination of DUT and fixture for single-ended and differential measurements. For multi-port single-ended DUT measurements, trace coupling is not removed. For multiport Differential test fixtures, do remove the effects of coupling between the differential traces.

Diagrams of DUT with Test Fixture
Single-Ended | Differential (Balanced)

For most situations, you'll want to create custom characterization boards consisting of a 2x Thru, right 1X Thru half, or left 1X Thru half as shown in the following pictures. Both the test fixture and characterization boards should be made of the exact same material, preferably fabricated on the same piece of board as the fixture.

When characterizing your fixture, the AFR wizard will prompt you for the type of characterization board used: 2X Thru or 1X Thru. Use a 2X Thru characterization board if available. If not, use a 1X Thru characterization board, with an open at the desired TDR reference plane as a start. Using an open reference plane is an extremely fast and easy test to see if the fixture open works well or not. If the fixture open radiates too much (like a SMA male connector would), then the next step is to try a 1-port AFR with a short at the fixture output. These are both very easy to test without building special calibration standards. If neither of these two methods work, then the best practice might be to build a 2X Thru standard and use following the 2X Thru AFR method.

Before starting the AFR process, perform a calibration at the test fixture connectors which are identified by the red lines in the diagrams in this topic. The AFR Wizard guides you through these steps:

  1. Describe your fixturing situation.
  2. Specify how the Thru fixture characterization will occur.
  3. Perform characterization.
  4. Remove the effects of the test fixture, leaving only the displayed results of the DUT.
  5. Touchstone files are saved and automatically used to characterize the two halves of the test fixture.

Requirements

  • Test fixture and either a 2X Thru or left and right 1X Thru halves, all shown below. The fixture itself can be used as a left or right Thru half.
  • Left and right 1X Thru half (for 1-port DUTs).

Test Fixtures

Diagrams of Custom Characterization Boards
Single-Ended | Differential (Balanced)
2X Thru
Left half of 2X Thru
Right half of 2X Thru

To verify a 2X Thru reponse

Ideally, your 2X Thru should be perfectly symmetric, meaning that S11 = S22 and S12 = S21. Use the following steps in FlexDCA to compare the S-parameters:

  1. Click File > S-Parameter Viewer / Memories.
  2. In the S-Parameter Memory dialog box, select a Memory tab..
  3. Click Load From File and load the S-parameter file for the 2X Thru.
  4. Click the New Chart icon to create a Magnitude chart.
  5. Click Select All to display all of the S-parameters and close the dialog box.
  6. Visually compare the responses to determine the level of symmetry.


Fixture De-embedding

TDR Mode (Quick AFR)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Why De-embed?
  • Fixture Components
  • AFR
  • Quick AFR
  • Full AFR
  • Valid AFR?

Quick AFR

For most situations, you'll want to use Quick PLTS AFR to deembed your fixtures. Compared to full PLTS AFR, Quick PLTS AFR has fewer options, takes less time, and does not require an extensive knowledge of PLTS. With Quick PLTS AFR, you can choose between measurements using open and shorts or 2X Thru standards.

Option N1010A-BFP. Automatic Fixture Removal requires FlexDCA option N1010A-BFP and option 202, Enhanced Impedance and S-Parameters. You must purchase and install these options before the features that are described in this section can be used.

Measurements using a short or open

You can characterize the fixture using a combination of measurements using open and short standards depending on your fixture. Some fixtures radiate energy on the open end which can degrade the measurement. In this case an additional measurement with a short improves the accuracy. For example, if the fixture is a probe you could short the probe tips together.

Measurements using a 2X thru

A 2X Thru measurement .


Full AFR. Step 1

TDR Mode (Full AFR)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • <
  • 1. Describe Fixture
  • 2. Specify Standards
  • 3. Measure Standards
  • 4. Save Fixture

Full AFR (Step 1. Describe Fixture)

For experienced PLTS users, performing steps 1 through 4 of the full PLTS AFR offers more fixture measurement options than using the Quick AFR characterization.

This topic describes the available selections for the Full AFR's Step 1. Describe Fixture tab. The version number for AFR is shown in the upper-left portion of the dialog and is added to the AFR extracted touchstone file. This information helps to determine which algorithm was used.

Option N1010A-BFP. Automatic Fixture Removal requires FlexDCA option N1010A-BFP and option 202, Enhanced Impedance and S-Parameters. You must purchase and install these options before the features that are described in this section can be used.

My fixture inputs are and My measurement is

Fixture/DUT Setups
Measurement | Fixture Inputs
 | Single Ended Fixture and DUT have single-ended inputs and outputs. | Differential Fixture and DUT have differential inputs and outputs
1 Port | Example: S11 Current fixture and DUT Assumptions: DUT Z0 will be set to System Z0 |
2 Port | Example: S21 Current fixture and DUT Assumptions: Fixture Match: A ≠ B Fixture Length: A = B DUT Z0 will be set to System Z0 | Example: SDD11 Current fixture and DUT Assumptions: DUT Z0 will be set to System Z0
4 Port |  | Example: SDD21 Current fixture and DUT Assumptions: Fixture Match: A ≠ B Fixture Length: A = B DUT Z0 will be set to System Z0
Multiport | Select up to 32 ports. Current fixture and DUT Assumptions: Fixture Match: A ≠ B Fixture Length: A ≠ B DUT Z0 will be set to System Z0 | Select up to 32 ports. Current fixture and DUT Assumptions: Fixture Match: A ≠ B Fixture Length: A ≠ B DUT Z0 will be set to System Z0

After fixture removal set Calibration Reference Z0 to: (Advanced Settings)

System Z0. Sets impedance to the System Impedance setting.

Measured Fixture Z0. Sets system impedance to the value that is measured during the AFR process. For example, if de-embedding fixtures designed for a device having an input and output impedance of 42.5Ω, the system impedance will be set to 42.5 Ω automatically. The input and output impedance must be the same to use this function. This selection is not allowed if the My fixture is band limited (use Bandpass time domain mode) setting in this tab is selected. Changing the port impedance setting changes the measured S-parameter data.

Ohms. Sets impedance to an arbitrary value. Changing the port impedance setting changes the measured S-parameter data.

Set 'System Z0' to Calibration Reference Z0. When the impedance is measured or set to an arbitrary value, check to also set the System Z0 to the same value. Changing the System Z0 setting does not change measured S-parameter data.

Additional Advanced Settings

I want to correct for Fixture Length A ≠ B. Make this selection when to the electrical length of fixture A does not equal the electrical length of fixture B.

My fixture is band limited (use Bandpass time domain mode). Bandpass mode will be used during the time-domain measurement. If this item is not selected, the lowpass mode is used.

My characterization fixture ≠ DUT measurement fixture. In some cases, the 2x thru is different from the actual DUT measurement fixture but the 2x thru is used to characterize the fixture. In these cases, gating on the DUT measurement fixture is performed that accounts for the fixture input reflection (S11a) and output reflection (S22b) to improve accuracy.


Full AFR. Step 2

TDR Mode (Full AFR)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • <
  • 1. Describe Fixture
  • 2. Specify Standards
  • 3. Measure Standards
  • 4. Save Fixture

Full AFR: Step 2. Specify Standards

Use the selctions in this tab to specify how the thru-standard characterization is measured or loaded. Depending on your selections in step 1. Describe Fixture, a specific drawing appears in this tab that shows your fixtures.

Open and Short fields

Select the type of calibration standards that you will connect to the fixture's ports during the AFR procedure. Choose Open, Short, or both Open and Short. These selections appear next to the picture that represents your fixtures. For example, the following picture represents a 2X Thru for a two-port single-ended DUT. The picture shows that the left and right fixtures are mirror images of each other and have the same S-parameters. The cascaded combination of the two fixtures are Fixture A + Reversed Fixture A, or A'. If both halves are identical and you do not have a 2X Thru, only Fixture A measurements are necessary.

The following picture shows how the tab might look for multiport differential AFR.

2X Thru

Select this field when a two-port single-ended or a four-port differential AFR is performed using a 2X Thru standard. Clear this selection if you are using separate 1X Thru fixtures, also known as one-port AFR.

Fixtured DUT

The Fixtured DUT field is shown and selected if, in step 1. Describe Fixture, you selected My characterization fixture ≠ DUT measurement fixture. This field is shown in the following picture. In this case, even though your 2x thru is different from the actual DUT measurement fixture, the 2x thru will be used to characterize the fixture. The procedure improves accuracy by performing gating on the DUT measurement fixture that accounts for the fixture input reflection (S11a) and output reflection (S22b).

Advanced Settings

Use the Advanced Settings fields to describe any additional length between the halves of a 2X Thru or added to either of left or right fixtures.

My Thru fixture has:

  • Known thru length. Enter the length in nanoseconds. A simulated length in the diagram between the two halves of the 2X Thru is shown. If the electrical length of the Thru standard is identical to the test fixture, then make no changes to the default settings (0 ns).
  • Unknown thru length computed using reflects. This setting requires the two halves of the Thru fixture be characterized separately with a reflect standard.
  • Unknown thru length computed using fixtured DUT measurements. This setting requires an additional characterization of the Fixture + DUT.


Full AFR. Step 3

TDR Mode (Full AFR)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • <
  • 1. Describe Fixture
  • 2. Specify Standards
  • 3. Measure Standards
  • 4. Save Fixture

Full AFR: Step 3. Measure Standards

Use this tab to characterize the 1X Thru or 2X Thru standards. You can either measure each standard or load *.snp characterization files.

Measure or Load Cal Standards

Use this field to characterize the calibration standards. The dialog box shows the standard that is associated with each fixture port. Notice that for each listed standard there is a Load button so that you can import a *.snp characterization file for the standard and a Measure button so that you can measure the standard. loading standards from files, the typical system characterization impedance (Z0) value is used, which is 50Ω. Click Measure to measure a standard using the N1055A module.

To load a characterization file

  1. Click Load. The following panel is displayed. The fixtures shown in the panel will depend on your setup.
  2. Select the N1055A TDR module's remote head that will be used for the measurement.
  3. For 2X Thru standards, the following panel is displayed to allow you to remap the fixture ports, if needed.

To measure a standard

  1. Make sure that the start and step frequencies are equal.
  2. Click Measure. The following panel is displayed. The fixtures shown in the panel will depend on your setup.
  3. Select the N1055A TDR module's remote head that will be used for the measurement. Connect the indicated standard to the remote head.
  4. Click Measure.


Full AFR. Step 4

TDR Mode (Full AFR)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • <
  • 1. Describe Fixture
  • 2. Specify Standards
  • 3. Measure Standards
  • 4. Save Fixture

Full AFR: Step 4. Save Fixture

Use this tab to save the S-parameter characterization for the fixture to a Touchstone file. To deembed the fixture, import the Touchstone file to create a FlexDCA Fixture Component.

Select File format to save fixture data

  • Touchstone. The file is saved in *.snp format.
  • Touchstone 2. The file is saved in *.ts format.
  • Citifile. The file is saved in *.cti format.
  • Make 4 port file from 2 port data. This selection is available only when two single-ended 2-port fixtures are selected in the Describe Fixture tab. This is shown in the above picture. Make this selection to save one *.s4p file. Clear this selection to save two *s2p files.

Choose port assignment for save fixture files

Different applications and programs interpret the port assignments in fixture files differently. Use this selection to choose port ordering that is compatible with PLTS, PNA, or ADS.

Choose the directory and base names for the saved files

Use these fields to specify the folder and file name of the fixture file. A suffix is automatically appended to your base file name as shown in the following table for Touchstone files.

Example of Touchstone File Names
Fixture | File Name
Left half of differential fixture | <base file name>_1.S4P
Right half of differential fixture | <base file name>_2.S4P
Left half of single-ended fixture | <base file name>_1.S2P
Right half of single-ended fixture | <base file name>_2.S2P


Valid AFR?

TDR Mode (Valid AFR)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude
  • Why De-embed?
  • Fixture Components
  • AFR
  • Quick AFR
  • Full AFR
  • Valid AFR?

Valid AFR?

AFR creates an S-parameter Touchstone file that characterizes the fixture that you want to de-embed. This topic explains how to use FlexDCA's S-parameter Viewer to check the available frequency content of the file. If the S-parameter file's frequency contents is too low, you should repeat the AFR while terminating the fixture with a short as well as an open. If this does not increase the frequency content, you may be able to design a 2X Thru and use two-port AFR.

To evaluate the frequency content of the Touchstone file, perform the following steps:

  1. Click File > S-Parameter Viewer / Memories to open the S-Parameter Memories dialog box.
  2. In the dialog box, select a memory tab and click Load From File. Loacate the Touchstone file and import it into memory.
  3. For a Magnitude graph, click the New Chart button.
  4. Select S11 and S22 responses to view in the Freq-Mag graph.
  5. You may also wanto to create a Phase graph, with S11 and S22 responses as well.
  6. Close the dialog box and view the Freq-Mag graph as shown in the following picture. The top trace is the insertion loss (S21) and the bottom trace is the return loss (S11).
  7. Ideally, the insertion loss trace should not cross the return loss trace. If the traces do cross, the frequency at which both traces are equal in amplitude marks the frequency above which the data is invalid.

    8. In the following picture the traces do not cross at any frequency up to the measurement limit of 50 GHz. This indicates that the low-loss fixture was well designed. The Touchstone file for this fixture can be used for de-embedding up to the maximum frequency of the 86100D (50 GHz).


Display Time Domain Parameters

AVAILABILITY

The ability to display time domain parameters is not available when using the Basic Control experience. Use the DUT Based experience instead.

Using the Display Time Domain Parameters dialog box, you can display any number of Ohms (Time-Ohms), Volts (Time-Volts), or Percent (Time-Percent) charts, which are waveform content windows. To view the time domain parameters that are available for your specific TDR setup, click the Available Time Domain Parameters in the TDR Setup dialog box. Increasing the number of activated TDR steps increases the number of available parameters. Depending on the TDR stimulus mode, multiple single-ended or differential responses will be available.

TDR Stimulus Mode | Type of Available Responses
 | Single-Ended | Differential
Single-Ended | ♦ |
Differential | ♦ | ♦

Note

Responses that are currently unavailable for display can still be selected for calibration in the TDR Calibration Setup dialog box.

To Display Time Domain Parameters

  1. Open the Display S-Parameters dialog box by clicking:
    2. The Display button in the TDR Setup dialog box, or
    The Time Domain Displays button in the Setup toolbar.
  2. In the pane, click the [image] icon to select a time domain parameter for either an existing or new Ohms (Time-Ohms), Volts (Time-Volts), or Percent (Time-Percent) chart.
  3. Click to select as many available time domain parameters as you want on the chart. Available parameters are highlighted; selected parameters are green. In this picture, four single-ended parameters where available for the chart and two (T11 and T33) were selected. Additional parameters may be available on the Differential tab.

    4. Note

    Only TDR (reflection) responses are available for Ohms charts. Both TDR and TDT responses can be selected for Volts or Percent charts.

  4. After the graph is displayed, use the Configure Window pane to quickly perform the following tasks:
    • View or hide individual T-parameter waveforms.
    • Scale the graph's Y-axis.
    • Set the X-axis units to time or distance (meters).
    • Apply tracking markers.


Available Time Domain Parameters

This informational dialog box shows the time domain parameters (TDR responses) that are currently available for your specific DUT setup diagram (shown in the TDR Setup dialog box). These available time domain parameters can be selected for display in the TDR Setup dialog box and selected for calibration in the TDR Calibration dialog box.

Note

Responses that are currently unavailable for display can still be selected for calibration in the TDR Calibration Setup dialog box.

Note

Time domain parameters cannot be saved to a file.

Time Domain Parameter Names

Click on this link to learn more about how Time Domain Parameter and S-Parameters are named:

  • Time Domain Parameters and S-Parameters.

For differential setups, the dialog box shows both the available single-ended and differential time domain parameters that can be displayed and calibrated. For single-ended setups, the dialog box only includes the available single-ended time domain parameters.

The dialog box identifies all possible time domain parameters, which are determined by the number of ports on the DUT. Time domain parameters become available (highlighted) by activating TDR steps in the DUT setup diagram. Only those parameters that are highlighted are available for display. Parameters that are dim are not available. For example, in the above pictures, the T11 and TDD11 responses are available, but the T12 and TDD12 responses are not. To enable more responses, you must turn on the associated TDR steps in the DUT setup diagram.

The following examples show all of the time domain parameters that could be available for selected DUTs. If you are unfamiliar with time domain parameter names, you may find this section helpful.

Example of Time Domain Parameters on Single Ended 4-Port DUT

There are 16 possible time domain parameter responses for this DUT. When using an N1055A TDR module all 16 responses could be simultaneously displayed.

Single Ended Time Domain Parameters (4-Port DUT)
DUT Setup Diagram | Time Domain Parameter | Response Description
Port 1 Step: On | T11 | Return loss
 | T21 | Insertion loss
 | T31 | Near-end cross talk
 | T41 | Far-end cross talk
Port 2 Step: On | T12 | Insertion loss
 | T22 | Return loss
 | T32 | Far-end cross talk
 | T42 | Near-end cross talk
Port 3 Step: On | T13 | Near-end cross talk
 | T23 | Far-end cross talk
 | T33 | Return loss
 | T43 | Insertion loss
Port 4 Step: On | T14 | Far-end cross talk
 | T24 | Near-end cross talk
 | T34 | Insertion loss
 | T44 | Return loss

Example of Time Domain Parameters on Differential 2-Port DUT

There are 16 possible differential and common-mode time domain parameter responses for this DUT. Because this is a differential DUT, 16 single-ended time domain parameter responses are also available. Therefore, a total of 32 possible time domain parameters are available for this DUT. When using an N1055A TDR module, all 32 responses could be simultaneously displayed.

Differential Time Domain Parameters (2-Port DUT)
DUT Setup Diagram | Time Domain Parameter | Response Description | Time Domain Parameter | Response Description
Port 1 Step: On | Differential Stimulus |  | Commom-Mode Stimulus
 | TDD11 | Diff. return loss | TDC11 | Diff. return loss
 | TDD21 | Diff. insertion loss | TDC21 | Diff. insertion loss
 | TCD11 | Comm. return loss | TCC11 | Comm. return loss
 | TCD21 | Comm. insertion loss | TCC21 | Comm. insertion loss
Port 2 Step: On | Differential Stimulus |  | Commom-Mode Stimulus
 | TDD12 | Diff. return loss | TDC12 | Diff. return loss
 | TDD22 | Diff. insertion loss | TDC22 | Diff. insertion loss
 | TCD12 | Comm. return loss | TCC12 | Comm. return loss
 | TCD22 | Comm. insertion loss | TCC22 | Comm. insertion loss

Example of Time Domain Parameters on Differential 4-Port DUT

For this DUT, a total of 128 time domain parameter responses are possible including 64 single-ended and 64 differential. There is a maximum limit of 64 responses can be acquired at a single time. So, when two N1055A modules are used, all eight cables are connected to the DUT but only two TDR incident steps can be activated.

Differential Time Domain Parameters (4-Port DUT)
DUT Setup Diagram | Time Domain Parameter | Response Description | Time Domain Parameter | Response Description
Port 1 Step: On | Differential Stimulus |  | Common-Mode Stimulus
 | TDD11 | Diff. return loss | TDC11 | Diff. return loss
 | TDD21 | Diff. insertion loss | TDC21 | Diff. insertion loss
 | TDD31 | Diff. near-end cross talk | TDC31 | Diff. near-end cross talk
 | TDD41 | Diff. far-end cross talk | TDC41 | Diff. far-end cross talk
 | TCD11 | Comm. Return loss | TCC11 | Comm. Return loss
 | TCD21 | Comm. insertion loss | TCC21 | Comm. insertion loss
 | TCD31 | Comm. near-end cross talk | TCC31 | Comm. near-end cross talk
 | TCD41 | Comm. far-end cross talk | TCC41 | Comm. far-end cross talk
Port 2 Step: On | Differential Stimulus |  | Common-Mode Stimulus
 | TDD12 | Diff. insertion loss | TDC12 | Diff. insertion loss
 | TDD22 | Diff. return loss | TDC22 | Diff. return loss
 | TDD32 | Diff. far-end cross talk | TDC32 | Diff. far-end cross talk
 | TDD42 | Diff. near-end cross talk | TDC42 | Diff. near-end cross talk
 | TCD12 | Comm. insertion loss | TCC12 | Comm. insertion loss
 | TCD22 | Comm. return loss | TCC22 | Comm. return loss
 | TCD32 | Comm. far-end cross talk | TCC32 | Comm. far-end cross talk
 | TCD42 | Comm. near-end cross talk | TCC42 | Comm. near-end cross talk
Port 3 Step: On | Differential Stimulus |  | Common-Mode Stimulus
 | TDD13 | Diff. near-end cross talk | TDC13 | Diff. near-end cross talk
 | TDD23 | Diff. far-end cross talk | TDC23 | Diff. far-end cross talk
 | TDD33 | Diff. return loss | TDC33 | Diff. return loss
 | TDD43 | Diff. insertion loss | TDC43 | Diff. insertion loss
 | TCD13 | Comm. near-end cross talk | TCC13 | Comm. near-end cross talk
 | TCD23 | Comm. far-end cross talk | TCC23 | Comm. far-end cross talk
 | TCD33 | Comm. return loss | TCC33 | Comm. return loss
 | TCD43 | Comm. insertion loss | TCC43 | Comm. insertion loss
Port 4 Step: On | Differential Stimulus |  | Common-Mode Stimulus
 | TDD14 | Diff. far-end cross talk | TDC14 | Diff. far-end cross talk
 | TDD24 | Diff. near-end cross talk | TDC24 | Diff. near-end cross talk
 | TDD34 | Diff. insertion loss | TDC34 | Diff. insertion loss
 | TDD44 | Diff. return loss | TDC44 | Diff. return loss
 | TCD14 | Comm. far-end cross talk | TCC14 | Comm. far-end cross talk
 | TCD24 | Comm. near-end cross talk | TCC24 | Comm. near-end cross talk
 | TCD34 | Comm. insertion loss | TCC34 | Comm. insertion loss
 | TCD44 | Comm. return loss | TCC44 | Comm. return loss


Setup Toolbar

tdr/tdt toolbars:

  • i
  • Setup
  • Time
  • Amplitude
  • User Meas.

Setup Toolbar

The following buttons are available on the Setup toolbar.

TDR Setup. Setup your TDR/TDT measurement first and then perform a TDR calibration.
Time Domain Displays. Display TDR and TDT waveforms in a time domain charts with vertical-axis units of Volts, Ohms, or Percent. Once a graph is displayed, you can configure the graph.
Freq Domain Displays. Display S-Parameter waveforms in Magnitude, Phase, or Group Delay charts. Once a graph is displayed, you can configure the graph.

License Required

The ability to use S-parameters requires Option 202, S-Parameter and Time Domain Characterization.
TDR Calibration. TDR calibrations are easy to perform and quick to complete, especially if you use an eCal module.
Add Limit Line Test. Add limit-line testing to T-parameters and S-parameters.


Amplitude Toolbars

TDR Mode (Amplitude Toolbar)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude

Amplitude Toolbar

Use the Amplitude measurement toolbar to perform the following measurements on the TDR/TDT waveform. With the exception of Excess Capacitance and Excess Inductance, these measurements use the same algorithm as the corresponding Oscilloscope measurements.

For TDR/TDT measurements, standards may specify the thresholds used to determine the risetime of a discontinuity that is measured on a TDR/TDT waveform. You can specify this threshold ( 10%/90% or 20%/80%) in the Thresholds tab of the Configure Measurements dialog box.

Average
Maximum
Minimum
Amplitude at Time
Excess Capacitance
Excess Inductance


Time Toolbar

TDR Mode (Time Toolbar)

  • <
  • i
  • Learning
  • Setup
  • Calibration
  • De-embedding
  • Time
  • Amplitude

Time Toolbar

Use the Time measurement toolbars to perform the following measurements on the TDR/TDT waveform. These measurements use the same algorithm as the corresponding Oscilloscope measurements.

For TDR/TDT measurements, standards may specify the thresholds used to determine the risetime of a discontinuity that is measured on a TDR/TDT waveform. You can specify this threshold ( 10%/90% or 20%/80%) in the Thresholds tab of the Configure Measurements dialog box.

Rise Time
Fall Time
Δ Time
Time at Max
Time at Min
Time at Amplitude
Time at Edge


Excess Capacitance, Excess Inductance

Excess Capacitance measures the excess capacitive reactance on a portion of the TDR waveform as shown in the following figure. The response area over which the inductance is to be measured must first be placed within a measurement region. This measurement does not work over the entire display.

Excess Inductance measures the excess inductive reactance on a portion of the TDR waveform as shown in the following figure. The response area over which the inductance is to be measured must first be placed within a measurement region. This measurement does not work over the entire display.

These two measurements are located on the Amplitude toolbar.

Both measurements can be performed on any waveform that is displayed in one of the following content windows:

  • Waveform
  • Time-Ohms
  • Time-Volts
  • Time-%

The following picture shows an example of shunt capacitance followed by series inductance on a TDR T11 waveform. The shunt capacitance is measured over measurement region 1 (R1) and the series inductance is measured over measurement region 2 (R2).

Shunt capacitance is negative going. Series inductance is positive going.

Excess Reactance Measurements in Results Tab

Note

When measuring discontinuities on lines whose impedance is not 50Ω, the excess reactance measurement is still valid as long as the 50Ω measurement system is connected to the non 50Ω line without using matching resistors.

To Measure Excess Reactance

  1. Click Measure > Measurement Regions. In the Measurement Region Setup dialog box, select Enable Measurement Regions and select Number of Regions that you want. You can perform a separate measurement over each region.
  2. Close the dialog box. On the display, drag and size the measurement region over the portion of the TDR response that you to measure the reactance.
  3. On the Amplitude toolbar, click Excess Inductance or Excess Capacitance.
  4. If multiple signals are shown in the dialog box, select the appropriate TDR T-domain response. For example, T11(Ω) or Port 1 (channel).
  5. In the dialog box, select the Measurement Region, if multiple regions are displayed. Select the side of the measurement region to be used as the Reference: Left or Right. Then, click OK.

After Making the Measurement

Once measured, you can compensate for the excess inductance in your design. Excess inductance on high-speed digital DUTs with fast signal speeds results in large impedance discontinuities. These discontinuities can result in higher reflections, signal degradation, and crosstalk. Most impedance discontinuities seen on a TDR waveform are a result of series inductance or shunt capacitance:

  • Sources of series inductance include very narrow wire bonds or microstrip traces.
  • Sources of shunt capacitance include wire-bond pads or microstrip traces that are too wide.

The impedance environment must be controlled to compensate for these imbalances and ensure low reflections and good signal integrity. Excess inductance or capacitance measures the area within the measurement region and calculates the excess reactance by integrating the percent of reflection between the markers. You can relate this excess reactance to the characteristic impedance of your DUT. As noticed in this equation, excess inductance increases Zo, excess capacitance decreases Zo.


Timebase

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • Precision Timebase
  • Timebase Setup
  • Precision Timebase Setup
  • 86107A Setup

Introduction

The horizontal timebase controls consist of the front-panel Horizontal scale and position knobs and the associated Timebase Setup dialog box. To open the dialog box, click Setup > Timebase Setup, or click the Timebase button at the bottom of the display. To synchronize samples of the input waveform so that successive input waveforms can be aligned, you must provide the 86100D with an external trigger.

Use the Horizontal scale and position knobs to change the time-per-division and horizontal position for all displayed waveforms. This does not modify the waveform. The horizontal reference position marks a specific delay value relative to the trigger event. Adjust the scale and position to view any data point on the screen and determine when the data point was sampled relative to the trigger event. You can set the reference position on the display to the left edge or center.

Reference Position Indicator

An arrow on the top of the display indicates the location of the horizontal (time) reference position.

General Notes

Note

Clock degradation due to factors such as increased noise or sub-harmonic content, may result in increased jitter, noise, or waveform distortion.

Note

Waveform memories cannot be adjusted.

Note

The horizontal timebase controls are unavailable in Jitter mode.

Note

The instrument only saves the currently acquired data that is displayed on the screen. Therefore, as you adjust the horizontal position of the waveform memory and move it off the display screen, you will see the bounds of the saved data.

Note

When you perform an Auto Scale, the instrument adjusts the horizontal scale based on the trigger source and input selected. The waveform is evaluated and adjusted so that at least one cycle (or edge) of the waveform is displayed (within 6 horizontal graticule divisions).


Timebase Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • Precision Timebase
  • Timebase Setup
  • Precision Timebase Setup
  • 86107A Setup

Timebase Setup

Auto Scale

To quickly set the horizontal scale, use the Auto Scale function. Click Auto Scale in the menu bar.

Use the Timebase Setup dialog box to select the horizontal units and reference position and to adjust the horizontal scale. You can select either time or bits displayed for horizontal scale and position.

Click Setup > Timebase Setup to open this dialog box. Or, click the Timebase button located at the bottom of the application.

Click the tabs in this picture!

Note

When you click Auto Scale on the menu bar, FlexDCA adjusts the horizontal scale based on the trigger source and input selected. The waveform is evaluated and adjusted so that at least one cycle (or edge) of the waveform is displayed (within 6 horizontal graticule divisions).

Time Units

Scale. Increase or decrease the scale in a 1-2-5 sequence; the waveform width will compress. The 1-2-5 sequence gives FlexDCA the ability to assign whole, easy to interpret values. Large incremental changes occur to the waveform display. For example, the scaling can change from 10 ns/div to 20 ns/div and from 20 ns/div to 50 ns/div. If pattern lock is on, click View Entire Pattern to automatically set the scale for the pattern length.

Delay From Reference. Increase or decrease the delay from reference horizontal position. This sets the delay between the time a trigger is received and when the data is actually sampled and is defined relative to the horizontal reference position as described below. As the delay increases, the waveform moves to the left on the display. As the delay decreases, the waveform moves to the right on the display. By default, Reference Left is selected and the Delay From Reference value is displayed in the upper-left corner of the graticule window as shown in the following figure. If Reference Center is selected, the Delay From Reference value is displayed in the upper-center area of the graticule.

Click the minimum delay button to return the horizontal position to the minimum value. This does not return the position to 0. The minimum value you can set the horizontal position to is 24 ns, or the equivalent number or bits, defined at the left edge of the display graticule. If pattern lock is on (requires 86100D Option ETR Enhanced Trigger), the minimum time delay is set by the Minimum Timebase Position setting on the Advanced Trigger Setup tab of the Trigger Setup dialog box.

Bit Units

The Enter Bit Rate list is available when Pattern Lock is on and autodetection is off. In the Trigger Setup dialog box's Pattern Lock Setup tab, Auto Detect is cleared for the Data Rate. Click Select From List to select from a list of standard optical and digital telecommunications rates. This list is also available in the Pattern Lock Setup tab of the Trigger dialog box. To enter a non-standard bit rate, click the Enter Bit Rate box. An example of a non-standard bit rate is 1.36 Gb/s. If pattern lock is on, click View Entire Pattern to automatically set the bits displayed for the pattern length.

With Bits selected as the units, the instrument internally performs the calculation to convert the number of bits displayed on the screen to the time per division. For example, if you wanted to convert x bits-per-screen to time-per-division, you would have to compute the following:

Reference Point

You can set the reference point (an arrow at the top of the display) to the left edge or center of the graticule. The horizontal reference point defines a specific delay value relative to the trigger event. Using the reference point and the horizontal scale, you can view any data point on the screen and determine when the data point was sampled, relative to the trigger event.

Find Bit Sequence

Click Find Bit Sequence to locate a specific sequence of bits within a pattern waveform.


Standard Bit Rates

The following table lists the standard data (bit) rates selections available from any of the following controls:

  • Bits as the horizontal (timebase) scale units
  • Data Rate for Pattern Lock triggering and clock recovery
  • Frequency for external precision timebase

This list includes the rate designation for the filter associated with the data rate (SONET/SDH, Fibre Channel, or Gigabit Ethernet).

Standard Data Rates
Data Rate | Rate Designation
51.84 Mb/s | STM-0/OC-1
125.0 Mb/s | FDDI/100M Ethernet
155.52 Mb/s | STM-1/OC-3
270.0 Mb/s | SDI
614.4 Mb/s | CPRI
622.08 Mb/s | STM-4/OC-12
768.00 Mb/s | OBSAI
1.06250 Gb/s | FC-1063
1.22880 Gb/s | CPRI 2x
1.25000 Gb/s | Gb Ethernet
1.48500 Gb/s | SDI
1.50000 Gb/s | SATA-1/SAS-1
1.53600 Gb/s | OBSAI 2x
2.12500 Gb/s | FC-2125 (2x)
2.4576 Gb/s | CPRI 4x
2.48832 Gb/s | STM-16/OC-48
2.50000 Gb/s | PCIe1/2 Gb Ethernet/InfiniBand
2.6660570 Gb/s | STM-16/OC-48 FEC
2.85760 Gb/s | CPRI 4x
2.97000 Gb/s | SDI
3.00000 Gb/s | SATA-2/SAS-2
3.07200 Gb/s | CPRI 5x / OBSAI 4x
3.12500 Gb/s | XAUI / 10GbE Base-LX4
3.18750 Gb/s | FC-3187/10GBE Base-LX4
3.25000 Gb/s | Rapid IO
3.32000 Gb/s | 12x Parallel Optics
4.25000 Gb/s | 4x Fibre Channel
4.9152 Gb/s | CPRI 8x
5.00000Gb/s | PCIe-2/2x InfiniBand
6.00000 Gb/s | SATA-3/SAS3/CEI
6.144 Gb/s | CPRI 10X / OBSAI 8X
6.25000 Gb/s | 2x XAUI
6.37500 Gb/s | CEI 6G+
8.50000 Gb/s | 8x Fibre Channel
9.8304 Gb/s | CPRI 16x
9.95328 Gb/s | STM-64/OC-192/10GbEthernet
10.00 Gb/s | InfiniBand QDR
10.3125 Gb/s | 10Gb Ethernet LR/ER
10.51875 Gb/s | 10GFC
10.664230 Gb/s | STM-64/OC-192 FEC
10.7090 Gb/s | STM-64/OC-192 FEC
11.0000 Gb/s | CEI 11G
11.0957 Gb/s | 10Gb Ethernet FEC
11.3170 Gb/s | 10GFC FEC
12.249450 Gb/s | STM-64/OC-192 SuperFEC
12.288 Gb/s | CPRI 20X
14.025000 Gb/s | 16x Fibre Channel
14.06250 Gb/s | InfiniBand FDR
25.78125 Gb/s | 100Gb Ethernet / 4 / InfiniBand EDR
27.7393 Gb/s | 100Gb Ethernet / 4 FEC
27.952493 Gb/s | OTU4/ITU-T G.959.1
28.05 Gb/s | 32x Fibre Channel
39.81312 Gb/s | STM-256/OC-768
41.250000 Gb/s | 40Gb Ethernet
43.018413 Gb/s | STM-256/OC-768 FEC


Find Bit Sequence

AVAILABILITY

The Find Bit Sequence feature is available in Oscilloscope and Eye/Mask modes only.

Use the Find Bit Sequence dialog box to locate a specific sequence of bits within a pattern waveform. For example, you may need to observe how your device under test responds to a 1110 bit sequence.

Click Tools > Find…(Cntrl-F) to open this dialog box. Or, click Find Bit Sequence within the Timebase Setup dialog box.

Wildcard

The question mark (?) can be used as a wildcard character. Each instance of the "?" character in the find string represents either a one or a zero bit. For example, the find string 11?1 will locate instances of 1101 and 1111 in the pattern.

Each time you click Find Next, the next sequence matching your criteria is located as shown in the following figure. The time scale is automatically adjusted to zoom in on the bit sequence. Notice that the location of the sequence within the pattern is marked in the pattern acquisition bar that is shown at the top of the display. A maximum sequence of 128 bits can be entered.

Note

To use this feature, pattern lock must be turned on or a external pattern trigger connected to the 86100D's front panel.

It is recommended that the entire pattern be acquired. Find Bit Sequence only works on that data that has already been acquired. If Acquire Entire Pattern is not enabled, the search only includes the signal that is displayed on the screen. To select Acquire Entire Pattern, click Acquisition > Acquisition Setup and make the selection in the Waveform tab of the Acquisition Setup dialog box.

The dialog box's Data Rate field is only displayed if pattern lock is not turned on. In this case, an external pattern trigger is assumed to be connected to the oscilloscope.

Note

If pattern lock is not turned on, the pattern lock message is displayed as shown in the above picture. Because the Find Bit Sequence only works on a single-valued waveform, as opposed to an eye diagram, ensure that the trigger setup results in a single-valued waveform. To achieve this, turn on pattern lock or use an external pattern trigger. Ignore this notice, if you are using an external pattern trigger.


Precision Timebase

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • Precision Timebase
  • Timebase Setup
  • Precision Timebase Setup
  • 86107A Setup

Precision Timebase

A precision timebase provides an alternate 86100D timebase source (clock) that greatly improves the 86100D's jitter performance and timebase linearity. Sampling is random with the precision timebase and the timing of each random sample is precisely identified. The following precision timebases are available:

  • Internal Precision Timebase (86100D Option PTB)
  • 86108A/B Precision Waveform Analyzer Modules
  • 86107A Precision Timebase Module

Figure. Example Setup with Internal Precision Timebase Option

When using a precision timebase, observing the following requirements:

  • Connect a full or sub-rate reference clock that is synchronous with the input signal to the front-panel Precision Timebase Input as shown in the above figure. The location of this connector depends upon the precision timebase that you are using.
  • If pattern lock will be turned on or Jitter Mode will be used, connect the reference clock to both the Precision Timebase Input and to the front-panel Trigger Input.
  • The clock frequency must be entered in the Precision Timebase dialog box. The entered frequency value must equal the actual clock frequency with a precision better than 0.1%. Larger differences will affect time accuracy. The inaccuracy is proportional to the error. If the reference clock is turned off or the values for the input clock and specified frequency differ, Auto Scale will fail.

REFERENCE CLOCK CONSTRAINTS

Using a reference clock increases performance but imposes a constraint. Input data is only relevant within the period of the clock. The relevant information is limited to one Unit Interval (UI) of the reference clock. You can change the horizontal scale to produce repetition of the input data and fill up the display graticule. If the clock is a sub-multiple of the data rate, more than one eye will carry relevant information. In this situation, it is possible to visualize some pattern structure in the data, such as uneven gain in the multiplexing stage.

In addition, if you are using an 86100D precision timebase (option 86100D-PTB or an 86107A precision timebase module), observe the following constraint that when also using a front-panel Clock/Divided trigger without pattern locking the:

86100D Front-Panel Triger Input Clock Frequency ≤ Precision Timebase Clock Frequency

Failure to comply with these conditions may result in an inaccurately displayed waveform. To setup this condition when using an N4877A Clock/Data Recovery and Demultiplexer extended module, you can simply open the N4877A Setup dialog box and increase the Front Panel Output divide ratio until the waveform looks normal. Also, when pattern lock is turned on, this issue does not occur.

Note

If present, the Internal Precision Timebase (86100D Option PTB) is disabled whenever an 86108A/B Precision Waveform Analyzer Module or 86107A Precision Timebase Module is installed.

Features Affected by Precision Timebase

Auto Scale for Time Reference Only

Auto Scale is one method to reset the time reference. Since the instrument does not use a trigger when the precision timebase is enabled, the internal trigger settings are not affected. Alternatively during Auto Scale, the instrument analyzes the reference clock frequency and resets the time reference in lieu of the trigger. Auto Scale will fail if the precision timebase is on, gated trigger is on, and the instrument takes more than three (3) seconds when acquiring a waveform. In this condition, a message will appear to inform you that trigger gating is too slow.

Note

If the instrument is not able to correctly detect an external clock source during an Auto Scale (resulting in errors), clear Auto Detect so that it is no longer selected. Auto Detect allows the automatic detection whenever an Auto Scale is performed or pattern lock is turned on.

Horizontal Controls

There are different limits on the timebase controls when you enable the precision timebase. These limits are based on the reference clock frequency. The limits on the horizontal scale/division depend upon the maximum and minimum allowable reference clock frequencies. The scale/division limits allow a range of 0.1 period of the maximum frequency to four periods of the minimum frequency on the display screen. For example, if you use the maximum reference clock frequency of 40 GHz, the minimum scale/division is 200 fs/division. Conversely, a minimum reference clock frequency of 9 GHz results in the maximum scale/division of 50 ps/division. The minimum bit delay is 24 ns times the selected bit rate. The maximum bit delay is equal to the minimum delay plus the number of bits in two periods of the reference clock.

If you select Bits as the units for horizontal scale, the minimum bit rate you can select is the frequency of the reference clock. The bit rate value is restricted to multiples of the reference clock frequency. For example, if you have set up a reference clock of 10 GHz, your data rates can be 10, 20, or 40 Gbits/s.

The number of bits that can be displayed is also limited. You can enter a value from 0.1 to 16 bits. The maximum value allows the instrument to display up to four periods of the reference clock, when the bit rate is four times the reference clock frequency.

Horizontal Skew in Precision Timebase

When you enable the precision timebase, you can use horizontal skew to adjust the time reference of the waveform. This allows you to line up input channels on the instrument display. You can then establish any point within the bit period as the time reference. The default skew value for each channel is 0.0s.

Limited Trigger Controls

When you enable the precision timebase, you can view the signal's amplitude without a traditional trigger source. In the precision timebase mode, the gated trigger mode is available. However, the instrument disables all other trigger sources and controls.

Precision timebase modules provide internal filtering for reference clock signals in certain frequency bands. Within these bands, you may use a typical digital clock signal. For example, a square wave, BERT output, or a sine wave. Outside of these bands, external filtering may be required to provide a clean sine wave for the reference clock. If the reference clock signal varies from a sinusoid, there will be error in the precision of the timebase. Thus harmonics and subharmonics should be eliminated.

Note

To ensure accuracy, you must set the reference clock frequency and the external reference clock to the same frequency. Any deviations in either frequency will result in an inaccurate timebase. The instrument will display a warning message on the screen if the time reference is not valid. You must ensure that you connect a valid reference clock.


86107A Precision Timebase Module Setup

86107A Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • Precision Timebase
  • Timebase Setup
  • Precision Timebase Setup
  • 86107A Setup

86107A Precision Timebase Module Setup

Use the 86107A Precision Timebase Setup dialog box to configure and turn on the 86107A precision timebase. The 86107A module has a front-panel port to connect an external clock.

  • Additional Information on timebases
  • Features Affected by Precision Timebase

Click Setup > Modules > Precision Timebase to open this dialog box. Or, click the Precision Timebase button (on the button toolbar).

Before entering the data in this dialog box, make the required connections as shown in the following figure. When the precision timebase is used, the instrument does not normally use a trigger. The reference clock is connected directly to the 86100D's front-panel Precision Timebase Input. You can also use the 86100D in Free Run mode with this setup.

If pattern lock is turned on or Jitter Mode is used, connect the reference clock to both the 86107A module's precision timebase reference clock Input and to the 86100D's front-panel Trigger Input.

Figure. Setup for 86107A with Pattern Lock or Jitter Mode

Reference Clock Frequency Settings

Select the Reference Clock Frequency by clicking Select From List. This displays a list of standard optical and digital telecommunications rates. This list is also available in the Pattern Lock Setup tab of the Trigger dialog box. FlexDCA determines the phase of a data sample within one period.

If pattern lock is turned on, the Autodetect check box is displayed as shown in this picture. An Auto Scale automatically detects the external reference frequency. With pattern lock on, the instrument may be unable to correctly detect an external reference frequency. If this happens, clear the Autodetect check box.

Note

PRBS data is not a suitable reference clock signal.

Note

To ensure accuracy, the entered reference clock frequency must equal the actual external reference clock. Any deviations in either frequency will result in an inaccurate timebase. The instrument will display a warning message on the screen if the time reference is not valid. You must ensure that you connect a valid reference clock. If the precision timebase is on, you can perform an Auto Scale to reset the time reference. Auto Scale will fail if the precision timebase is on and gated trigger is on and the instrument takes more than three (3) seconds when acquiring a waveform. In this condition, a message will appear to inform you that trigger gating is too slow.

Within the frequency bands listed in the following table, the reference clock input to the 86107A module can be a typical digital clock signal: square wave, BERT output, or a sine wave. Outside of the listed bands, a sine wave should be used or an external low-pass filter may be required to provide a clean sine wave for the reference clock. If the reference clock signal varies from a sinusoid, there will be error in the precision of the timebase. Thus harmonics and subharmonics should be eliminated.

Internal Filtering For Reference Clock Signals
86107A Input Range | Internal Filtered Bands
86107A-010 (2.0 to 15 GHz) | 2.4— 4.0 GHz 9.0 — 12.6 GHz
86107A-020 (2.4 to 25 GHz) | 9.0 — 12.6 GHz 18.0 — 25.0 GHz
86107A-040 (2.4 to 48 GHz) | 9.0 — 12.6 GHz 18.0— 25.0 GHz 39.0 — 45.0 GHz

Note

Using 86107A-040. Use only one input connector at a time. If both inputs on the module are connected to external equipment, a significant amount of crosstalk will occur, producing invalid results. To avoid invalid results, terminate the unused input (preferred) or leave open (disconnected). If you connect a 10-20 GHz signal to the 40 GHz input, the resultant waveform will appear distorted, non-linear, and the time axis will be inverted.

Observe the following additional clock requirements:

  • Frequency range listed above
  • 0.5 to 1.5V peak-to-peak amplitude
  • Signal to noise ratio: 200:1 or better
  • Subharmonic content: < –30dB
  • Duty Cycle: 50% (preferred)
  • DC Offset range: ±200mV.
  • The following blocking capacitor accessories are recommended: Keysight 11742A (86107A-010), Keysight 11742A (86107A-020), and Keysight 11742A-K01 (86107A-040). The 11742A (and 11742A-K01) blocking capacitor prevents DC offset if DC offset is greater than ±200mV.

Note

When using the 86107A, be aware that jitter becomes a system parameter. In other words, the system jitter is dependent upon the specific Infiniium DCA mainframe, vertical channel, and 86107A module used in the measurement. As a result of the interaction between the instrument mainframe and module, the jitter performance cannot be specified. However, statistical data supports that the generated RMS jitter will be in the order of 200 fs.

Note

Use only compatible connectors, adapters and cables to provide the reference clock signal. The input to the 86107A-010 is a 3.5 mm electrical connector. The input to the 86107A-020 is a 3.5 mm electrical connector. The inputs to the 86107A-040 include both a 3.5 mm and a 2.4 mm electrical connector.

Timebase Control Settings

Select Enable Precision Timebase to enable or disable the precision timebase. The Precision Timebase button's green indicator [image] (on the button toolbar) indicates when the precision timebase is on. If the yellow warning indicator [image] is shown, the time reference is not set or the signal is not connected to the 86107A's front'panel connector. If any changes in the reference clock occur, click Reset Time Reference to reset the precision timebase. The time reference will fail if:

  • Reference clock signal does not meet the requirements listed above
  • A setup, in which the precision timebase was enabled when saved, is recalled
  • The instrument power is turned on, when the state of the precision timebase is enabled at instrument power off

Synchronization Method Settings

By default, precision timebase synchronization optimizes for RJ (Random Jitter) only. This provides a fast synchronization that is suitable for analysis of most signals. Optionally, you can choose to optimize both for RJ and for timebase linearity. This type of synchronization takes much longer but results in an extremely linear timebase as well as the lowest possible RJ. This type of synchronization is suggested for signals with extremely low DJ (Deterministic Jitter), where the signal rate is a multiple of the precision timebase reference frequency. For example, if your Data Rate is 32 Gb/s while your precision timebase reference frequency is 8 GHz, this option may improve the accuracy of the DJ measurements.

Status

The Status area of the dialog box provides the following messages:

  • Precision Timebase Off. The precision timebase is disabled. The time reference will be invalid until the precision timebase is enabled.
  • No Time Reference. The precision timebase is enabled; however, the time reference is invalid. This status appears after changing the frequency band of the reference clock signal or recalling an instrument setup.
  • Time Reference Set. The precision timebase is enabled and the time reference is valid.
  • Time Reference Lost. The precision timebase is enabled. The instrument continues to acquire data using the most recent time reference. This status follows an absent reference clock signal, a clock signal that is too large (or too small), a clock signal that is not in a valid frequency band, or a clock signal that does not have a stable frequency.

Select the Show Precision Timebase Signals field to view the In Phase Waveform and Quadrature Waveform inputs to the precision timebase circuitry. Both an amplitude-vs-time chart and a Lissajous Pattern chart are displayed. This feature provides a qualitative view of the inputs. There is no remote command for making this selection. However, you can use the :WAVeform:SOURce command to return the two waveforms.


Internal Precision Timebase Setup

IPTB Setup

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • Precision Timebase
  • Timebase Setup
  • Precision Timebase Setup
  • 86107A Setup

Internal Precision Timebase Setup

The Internal Precision Timebase tab is displayed on 86100Ds that have option PTB.

Click Setup > Timebase Setup to open this dialog box. Or, click the Timebase button located at the bottom of the application.

Click the tabs in this picture!

Note

The Internal Precision Timebase (86100D Option PTB) is disabled whenever an 86108A/B Precision Waveform Analyzer Module or 86107A Precision Timebase Module is installed.

  • Additional Information on timebases
  • Features Affected by Precision Timebase

Before entering the data in this dialog box, make the required connections as shown in the following figure. When the precision timebase is used, the instrument does not normally use a trigger as the precision timebase creates its own internal trigger, and the reference clock is connected directly to the 86100D's front-panel Precision Timebase Input. You can also use the 86100D in Free Run mode with this setup.

If pattern lock is turned on or Jitter Mode is used, connect the reference clock to both the front-panel Precision Timebase Input and to the front-panel Trigger Input. The Precision Timebase Input requires a full or sub-rate reference clock signal (square wave, BERT output, or a sine wave) from 2.4 to 44 GHz. If the edges of the clock are too fast for a reliable reference, you may need to add an external low-pass filter or additional cable length to soften the edges.

Figure. Setup for Optional Internal Precision Timebase

Avoid damaging the front-panel Precision Timebase Input. Do not use a reference clock greater than 1.3Vpp.

The following picture shows the rear-panel PRECISION TIME BASE DELAY LOOP jumper cable that is located on 86100D Option PTB instruments. This cable is meant for Keysight use only.

Note

Removing the rear-panel PRECISION TIME BASE DELAY LOOP jumper cable disables the internal precision timebase.

Figure. Rear-Panel Location of Delay Loop Jumper Cable

Reference Clock Frequency Settings

Select the Reference Clock Frequency by clicking Select From List. This displays a list of standard optical and digital telecommunications rates. This list is also available in the Pattern Lock Setup tab of the Trigger dialog box. FlexDCA determines the phase of a data sample within one period. The Precision Timebase Input requires a full or sub-rate reference clock signal (square wave, BERT output, or a sine wave) from 2.4 to 44 GHz.

If pattern lock is turned on, the Autodetect check box is displayed as shown in this picture. An Auto Scale automatically detects the external reference frequency. With pattern lock on, the instrument may be unable to correctly detect an external reference frequency. If this happens, clear the Autodetect check box.

Note

PRBS data is not a suitable reference clock signal.

Note

To ensure accuracy, the entered reference clock frequency must equal the actual external reference clock. Any deviations in either frequency will result in an inaccurate timebase. The instrument will display a warning message on the screen if the time reference is not valid. You must ensure that you connect a valid reference clock. If the precision timebase is on, you can perform an Auto Scale to reset the time reference. Auto Scale will fail if the precision timebase is on and gated trigger is on and the instrument takes more than three (3) seconds when acquiring a waveform. In this condition, a message will appear to inform you that trigger gating is too slow.

Timebase Control Settings

Select Enable Precision Timebase to enable or disable the precision timebase. The Precision Timebase button's green indicator [image] (on the button toolbar) indicates when the precision timebase is on. A yellow warning indicator [image] indicates that one of the following Internal Precision Timebase (IPT) conditions is true:

  • IPT is not calibrated.
  • Reference is not set.
  • The signal is not connected to the 86100D's front panel connector.

If any changes in the reference clock occur, click Reset Time Reference to reset the precision timebase. The time reference will fail if:

  • Reference clock signal is not:
    • Valid frequency range
    • Too large or too small
    • DC offset > ±200 mV
    • unstable frequency or amplitude
  • A setup, in which the precision timebase was enabled when saved, is recalled
  • Instrument power is turned on when the state of the precision timebase was enabled at instrument power off

Synchronization Method Settings

By default, precision timebase synchronization optimizes for RJ (Random Jitter) only. This provides a fast synchronization that is suitable for analysis of most signals. Optionally, you can choose to optimize both for RJ and for timebase linearity. This type of synchronization takes much longer but results in an extremely linear timebase as well as the lowest possible RJ. This type of synchronization is suggested for signals with extremely low DJ (Deterministic Jitter), where the signal rate is a multiple of the precision timebase reference frequency. For example, if your Data Rate is 32 Gb/s while your precision timebase reference frequency is 8 GHz, this option may improve the accuracy of the DJ measurements.

Status

The Status area of the dialog box provides the following messages:

  • Precision Timebase Off. The precision timebase is disabled. The time reference will be invalid until the precision timebase is enabled.
  • No Time Reference. The precision timebase is enabled; however, the time reference is invalid. This status appears after changing the frequency band of the reference clock signal or recalling an instrument setup.
  • Time Reference Set. The precision timebase is enabled and the time reference is valid.
  • Time Reference Lost. The precision timebase is enabled. The instrument continues to acquire data using the most recent time reference. This status follows an absent reference clock signal, a clock signal that is too large (or too small), a clock signal that is not in a valid frequency band, or a clock signal that does not have a stable frequency.

Select the Show Precision Timebase Signals field to view the In Phase Waveform and Quadrature Waveform inputs to the precision timebase circuitry. Both an amplitude-vs-time chart and a Lissajous Pattern chart are displayed. This feature provides a qualitative view of the inputs. There is no remote command for making this selection. However, you can use the :WAVeform:SOURce command to return the two waveforms.


Triggering

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • General Trigger Setup
  • Advanced Trigger Setup
  • Pattern Lock Setup
  • N1090A Trigger

Introduction

This topic describes the basics of triggering 86100D. You can also use pattern triggering.

Click Setup > Trigger to open the Trigger dialog box. Or, click the Trigger button, located at the bottom of the screen.

To Trigger the Instrument

A trigger signal must be provided to the 86100D using one of the following methods:

  • Connect a synchronous clock signal to the instrument's front-panel Trigger connector. Click Setup > Trigger to open the Trigger dialog box and specify Front Panel. This is the most often-used method (as well as the default) source for triggering. You can also press the instrument's front-panel Trigger Level knob to select Front Panel. After connecting and then selecting the trigger source click Auto Scale on the menu bar to set the trigger level to the amplitude midpoint of the trigger signal. To manually adjust the trigger level, turn the Trigger Level knob.

    • 83496A MODULES

    When using an 83496A module to recover the clock, if the data rate is below 400 Mb/s, the instrument must be triggered from the front panel rather than the 83496A's rear-panel connector. Connect the module's front-panel Recovered Clock Out to the mainframe's front-panel Trigger input.

  • Recover a trigger signal using clock recovery. Click Setup > Trigger and select Left Module or Right Module to trigger from the clock recovery module. Compatible modules (that have front-panel trigger input connectors) include 86108A, 8349x-series, and 8348x/5475x-series modules. When an 86108A precision waveform analyzer module is installed, the Left Module setting selects triggering from the recovered clock and the Right Module setting selects triggering from the precision timebase. When using the 86107A Precision Timebase module and the time reference is set, all external trigger sources and controls are disabled.
  • Trigger on the data input to a module. Split the incoming data signal and route half of the data to the instrument's trigger input. Route the other half to the module's input connector. Due to jitter and pattern dependencies this technique shows incomplete eye diagrams and approximately 75% of waveforms are never observed in a PRBS.
  • In Oscilloscope and Eye/Mask modes, you can also select Free Run. This selection causes the instrument to trigger as soon as the trigger is armed; an external trigger is not used. Free run is asynchronous to the data and can be used to quickly examine a signal's amplitude without any timing information.

Triggering 86100D-STR Instruments

If you are using a standard-trigger instrument (86100D-STR) with a clock recovery or 86108A Precision Waveform Analyzer module, you must connect a cable between the module's clock output port to the mainframe's Trigger input connector as shown in this picture. The following table describes the output port for each type of module. In addition to connecting the cable, press the 86100D's front-panel Trigger Level knob to select the Front Panel Trigger input. This cable is not required on 86100-ETR enhanced-trigger instruments.

Module Clock Output Ports
Module | Output Port | Description
86108A Precision Waveform Analyzer | Recovered Clk Output | Full rate output for data rates ≤7.1 Gb/s. Half rate output for data rates > 7.1 Gb/s
83491/2/3/4A Clock Recovery | Clock | Full rate output. Selected data rate must be below 3.2 Gb/s.
83495A Clock Recovery | Recovered Clock Out | Output rate is too high for 86100D-STR front-panel Trigger input.
83496A/B Clock Recovery | Recovered Clock Output | Output rate divide ratio is user selectable from 1 to 16 (≤ 7.1 Gb/s) and 2 to 16 (7.1 to 13.5 Gb/s). In clock recovery setup, ensure that divide ratio results in output rate below 3.2 Gb/s.

Triggering an 86100D-STR Instrument with 54754A TDR Modules

If you are using a standard-trigger instrument (86100D-STR) with a 54754A TDR/TDT module, you must connect a cable between the module's Trigger output port to the mainframe's Trigger input connector as shown in these pictures.

Triggering with One TDR Module

If two 54754A TDR modules are used, add an 11667B Power Splitter or 11636B Power Divider and combine the triggers as shown in the picture.

Triggering with Two TDR Modules


Pattern Lock

FlexDCA can internally generate a pattern trigger. When Pattern Lock is turned on, an Auto Scale automatically detects bit rate, pattern length, and trigger divide ratio and generates a pattern trigger. Pattern Lock is automatically turned on whenever Jitter Mode is entered and can be turned on in Eye/Mask and Oscilloscope Modes. The displayed pattern waveforms can be saved to a file.

To turn Pattern Lock on [image] and off [image], click the Pattern Lock button that is shown at the bottom of FlexDCA or on the Trigger Setup dialog box's General Trigger Setup tab.

Note

Pattern lock requires an 86100D-ETR instrument.

In Eye/Mask mode, pattern lock enables you to perform the following tasks:

  • To view averaged eye diagrams
  • To view a bit in a pattern
  • To find a bit sequence in a pattern

Manually Configuring Pattern Trigger

Use the Trigger Setup dialog box's Pattern Lock Setup tab to manually configure pattern triggering. (Click Setup > Trigger.) To automatically and immediately detect bit rate, pattern length, and trigger divide ratio, click Autodetect Parameters Now, which is located on the General Trigger Setup tab. If a poorly-defined signal can not be automatically detected, clear the Auto Detect settings and enter the required values. In the dialog box, you can also select input signal type (Clock or Data). The Signal Type setting can also be accessed on the Jitter Measurements tab of the Configure Jitter Mode Measurements dialog box.

Valid Ranges for Data Rate and Pattern Length
 | Range
Data Rate | 50 MHz to 160 Gbs
Pattern Length | 1 bit to 223 bits
Pattern Length (in Jitter Mode) | 1 bit to 216 bits

With Pattern Lock enabled you can view individual pattern bit trajectories. You don't need to provide a pattern trigger, because Pattern Lock automatically generates a pattern trigger. The internally generated pattern trigger is synchronized to an unknown bit number in the data pattern.


Trigger Setup Dialog Box

Trigger Setup (General)

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • General Trigger Setup
  • Advanced Trigger Setup
  • Pattern Lock Setup
  • N1090A Trigger

General Trigger Setup

The General Trigger Setup tab of the Trigger dialog box allows you to select the trigger source, level, and bandwidth.

Click Setup > Trigger to open this dialog box. Or, click the Trigger button, located at the bottom of the screen.

Source

The Source area always lists the currently available sources based on instrument settings and modules. If you change the trigger source while the acquisition is set to Run (click Run on the menu bar), all newly acquired data erases and overwrites the existing waveforms on the display. If the instrument is stopped, changing the trigger source does not change the display until the instrument is put into run mode. The following selections are available:

  • Automatic. FlexDCA automatically selects the trigger source.
  • Free Run. Triggers the instrument as soon as the trigger is armed, without having to provide trigger. Free run is asynchronous to the data. Use free-run triggering as an easy way to examine the amplitude of a signal without any timing information. An N1090A module can be used with this setting.
  • Front Panel. Trigger the instrument from an external trigger source that is connected to the front-panel Trigger input. This is the most often-used method (as well as the default) source for triggering. An N1090A module can be used with this setting and the Trigger Source will be listed as Clock In on the N1090A Trigger tab.
  • CDR. Trigger the instrument from a clock recovery module. Compatible modules include the 86108B and 8349x-series. When using the 86107A Precision Timebase module and the time reference is set, all external trigger sources and controls are disabled. An N1090A module can be used with this setting and the Trigger Source will be listed as Clock In on the N1090A Trigger tab.
  • PTB. Trigger the instrument from a precision timebase. Compatible modules include the 86108B and 86107A Precision Timebase. An N1090A module can be used with this setting and the Trigger Source will be listed as Clock In on the N1090A Trigger tab.

Triggering 86100D-STR Instruments

If you are using a standard-trigger instrument (86100D-STR) with a clock recovery or 86108A Precision Waveform Analyzer module, you must connect a cable between the module's clock output port to the mainframe's Trigger input connector as shown in this picture. The following table describes the output port for each type of module. In addition to connecting the cable, press the 86100D's front-panel Trigger Level knob to select the Front Panel Trigger input. This cable is not required on 86100-ETR enhanced-trigger instruments.

Module Clock Output Ports
Module | Output Port | Description
86108A Precision Waveform Analyzer | Recovered Clk Output | Full rate output for data rates ≤7.1 Gb/s. Half rate output for data rates > 7.1 Gb/s
83491/2/3/4A Clock Recovery | Clock | Full rate output. Selected data rate must be below 3.2 Gb/s.
83495A Clock Recovery | Recovered Clock Out | Output rate is too high for 86100D-STR front-panel Trigger input.
83496A/B Clock Recovery | Recovered Clock Output | Output rate divide ratio is user selectable from 1 to 16 (≤ 7.1 Gb/s) and 2 to 16 (7.1 to 13.5 Gb/s). In clock recovery setup, ensure that divide ratio results in output rate below 3.2 Gb/s.

Trigger Level

You can adjust the trigger level whenever the Trigger Bandwidth is set to Standard Edge or Filtered Edge. Use this control to define the threshold level that the trigger signal must cross to trigger on the signal. You can enter a level between –1.0V and 1.0V. You can also adjust the trigger threshold level by turning the Trigger Level control knob located on the instrument front panel. When the Divided bandwidth setting is selected, the trigger level is AC coupled and cannot be manually adjusted. The level that you select for the trigger threshold is applied to all trigger sources.

The Trig'd LED indicates the instrument accepted a trigger event. Every time the instrument accepts a trigger event, one data point is sampled. When enough points have been sampled to fill the record length, a trace is completed. The Trig'd LED on the instrument front panel can be used to help determine the trigger thresholds. To do this, move the trigger level in either direction by adjusting the Level in the Trigger dialog box or by turning the Trigger Level control knob. When the voltage level crosses the trigger threshold, the LED turns off. Move the trigger level in the other direction to determine the other threshold. You now know what the trigger thresholds are and you can set the trigger level as required by your application. Typically the trigger level is set halfway between the two thresholds. The Armed LED indicates the trigger circuit is armed and waiting for a valid trigger event to occur. A valid trigger event occurs when a signal meets the triggering conditions set in the Trigger dialog box.

Note

When the Clock/Divided (50 MHz — 32 GHz) bandwidth is selected, the trigger level is AC coupled and can not be manually adjusted.

Note

On Option ETR instruments, all settings, except Gated Trigger, are unavailable (shaded) whenever Pattern Lock is on or Divided bandwidth is selected.

Note

When using the 86107A Precision Timebase module and the time reference is set, all external trigger sources and controls are disabled.

Note

Auto Scale affects the trigger threshold level. Performing Auto Scale will not change the definitions (such as trigger source or bandwidth) set in the Trigger dialog box.

Trigger Mode

In Oscilloscope and Eye/Mask instrument modes, when the trigger source is set to the front panel and pattern lock is turned off, you can select the bandwidth of the trigger circuitry: Filtered Edge, Standard Edge, or Clock/Divided.

  • Filtered Edge (DC—100 MHz). Use for noisy, low frequency trigger signals, as it can reject high frequency noise. A low-pass filter is added to the trigger path. The DC—100 MHz mode allows for more accurate triggering, but will reduce the effective trigger bandwidth to approximately 100 MHz. The DC—100 MHz mode is DC coupled with an adjustable threshold level from –1.0V to 1.0V. You can select either the rising or falling edge as the trigger edge.
  • Standard Edge (DC—3.2 GHz). Use this default selection for typical measurement applications. It provides excellent performance for trigger signals up to 3.2 GHz. It is DC coupled with an adjustable threshold level from –1.0V to 1.0V. You can select either the rising or falling edge as the trigger edge.
  • Clock/Divided (50 MHz—32 GHz). This selection is provided on 86100D instruments having Option ETR Enhanced Trigger. Use this selection for direct or divided triggering on higher frequency signals and is useful with plug-in modules that display signals up to 50 GHz. Because the trigger circuit is AC-coupled, the circuit always triggers at the 0V level. Therefore, the trigger level control is always unavailable (shaded) in this mode. If a trigger signal with a significant DC offset is used, the DC element is blocked. Certain trigger signals that reside at 0V for a long time period and then have an occasional pulse (for example, a pattern generator pattern trigger) will not perform well.

The trigger signal's sensitivity to noise and response time is affected by the bandwidth. Selection of the proper bandwidth is a compromise between the trigger's response to very fast edge speeds and its sensitivity to noise. Noise on the trigger signal can result in inconsistent triggering, which is seen as timing instability (jitter) in the displayed waveform. To reduce the occurrence of inconsistent triggering, reduce the bandwidth of the instrument's trigger circuitry. When pattern lock is turned on, triggering information is automatically detected as the 86100D internally generates a pattern lock. Therefore, trigger bandwidth settings are not used and are unavailable.

Note

When the Clock/Divided (50 MHz — 32 GHz) bandwidth is selected, the trigger level is AC coupled and can not be manually adjusted.

Pattern Lock

Click Pattern Lock to turn pattern triggering on [image] and off [image]. Pattern lock cannot be used with an N1090A module.

Test Pattern

Test Pattern selections are available whenever Pattern Lock is on. Click Autodetect Parameters Now to force the immediate detection of bit rate, pattern length, and trigger divide ratio. The current pattern lock settings are displayed beneath this button, along with an indication of the detection setting (Auto or Manual) in the Pattern Setup tab of the Trigger dialog box.


Trigger Setup Dialog Box

Trigger Setup (Advanced)

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • General Trigger Setup
  • Advanced Trigger Setup
  • Pattern Lock Setup
  • N1090A Trigger

Advanced Trigger Setup

The Advanced Trigger Setup tab of the Trigger dialog box allows you to specify trigger Hysteresis, Slope, and Minimum Timebase Position.

Click Setup > Trigger to open this dialog box.

Availability of Hysteresis and Slope Settings

On Option ETR instruments, the hysteresis and slop settings are unavailable (shaded) whenever:

  • Pattern Lock is on
  • Clock/Divided is selected
  • The trigger source is set to Free Run or CDR.

These settings are located on the General Trigger Setup tab.

Hysteresis

Trigger hysteresis helps to prevent false triggers from occurring on a falling edge due to noise when the rising edge is selected as the trigger edge (or on a rising edge when the falling edge is selected as the trigger edge). The voltage through which the trigger signal must pass before another valid trigger is accepted is known as the arming voltage level. Hysteresis is the voltage difference between the arming level voltage and the trigger threshold level voltage.

Select Normal for the instrument to trigger if a trigger signal crosses both the arming voltage level and the trigger threshold voltage level. Normal provides good trigger performance while minimizing false triggers.

Select High Sensitivity when the hysteresis is small to allow best sensitivity to high frequency signals. This allows smaller signals to be used as triggers, but can result in false triggers if there is significant noise on the trigger signal, or if the trigger signal is not monotonic in the region of the trigger threshold level.

Note

When using the 86107A Precision Timebase module and the time reference is set, all external trigger sources and controls are disabled.

Slope

Select either the Rising Edge or Falling Edge. Triggering may occur on the rising or the falling transition of the trigger edge, but not both. The instrument identifies the trigger edge as a specified slope. Once the slope is found, the instrument triggers when the trigger signal crosses the threshold level.

Note

Performing an Auto Scale does not affect the transition direction of the trigger edge.

Note

The trigger signal must be connected to the trigger input of the instrument. For example, if you are using the trigger input on the instrument front panel, the trigger signal must be connected to the front panel trigger input. Auto Scale can then set the trigger level.

Pattern Lock / Rapid Eye

This setting allows you to specify the minimum trigger delay while in Pattern Lock when an 83496A/B clock recovery module is used. You can use this control to set the trigger-delay in Jitter Mode. In Jitter Mode, when making measurements on devices that employ a modulated clock, reduce the trigger's Minimum Timebase Position to 24.1 ns to ensure that lock can be established. Jitter measurements on devices with a modulated clock can result in artificially higher measured jitter levels, due to the 86100D's trigger delay. Reducing the Minimum Timebase Position reduces the amount of observed jitter. Reduce the value from a default of 40.1 ns to its minimum value of 24.1 ns.

Spread spectrum clocks that are used in computers are an example of a modulated clock. To learn more about the trigger position and modulated clocks, refer to Keysight Product Note 86100-5, "Triggering Wide-Bandwidth Sampling Oscilloscopes For Accurate Displays of High-Speed Digital Communications Waveforms." You can download this product note from the 86100D product page on Keysight's web site (www.keysight.com).


Trigger Setup Dialog Box

Trigger Setup (Pattern Lock)

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • General Trigger Setup
  • Advanced Trigger Setup
  • Pattern Lock Setup
  • N1090A Trigger

Pattern Lock Setup

The Pattern Lock Setup tab of the Trigger dialog box settings allows you to manually configure pattern triggering. To automatically and immediately detect bit rate, pattern length, and trigger divide ratio, click Autodetect Parameters Now, which is located on the General Trigger Setup tab.

Click Setup > Trigger to open this dialog box.

The 86100D, with Option ETR, can internally generate a pattern trigger off the supplied clock. When Pattern Lock is turned on, the instrument automatically detects bit rate, pattern length, and trigger divide ratio and generates the pattern trigger. Pattern Lock is automatically turned on whenever Jitter Mode is entered and can be turned on in Eye/Mask and Oscilloscope Modes. When Pattern Lock is on, an Auto Scale includes automatic detection of bit rate, pattern length, and trigger divide ratio. To turn Pattern Lock on [image] and off [image], click the Pattern Lock button that is shown along the bottom of the application or on dialog box's General Trigger Setup tab.

Pattern Lock

Data Rate Setting

Select Auto Detect to have the data rate automatically detected whenever Autodetect Parameters Now (General Trigger Setup tab) is clicked or an Auto Scale is performed (in Jitter mode or Pattern Lock turned on). To manually enter the data rate, clear the Auto Detect, and enter the data rate, which can be any rate between 50 MHz and 160 Gbs. For rates greater than 23.2 Gb/s, you must provide a divided trigger. Click Select From List to select standard optical and digital telecommunications rates. The same data rate list appears in Jitter, Eye/Mask, and Oscilloscope Modes and in the Timebase Setup dialog box when Units is set to Bits.

Valid Ranges for Data Rate and Pattern Length
 | Minimum Value | Maximum Value
Data Rate | 50 Mb/s | 160 Gbs
Pattern Length | 1 bit | 2 23 bits
Pattern Length (in Jitter Mode) | 1 bit | 2 16 bits

Pattern Length Setting

Select Auto Detect to have the pattern length automatically detected whenever Autodetect Parameters Now (General Trigger Setup tab) is clicked or an Auto Scale is performed (in Jitter mode or Pattern Lock turned on). To manually enter the pattern length, clear the Auto Detect, and enter the length of the test pattern in bits, which can be any value between 1 and 2 23. In Jitter Mode, the maximum pattern length is 2 16.

Trigger Divide Ratio Setting

Select Auto Detect check box to have the trigger divide ratio automatically detected whenever Autodetect Parameters Now (General Trigger Setup tab) is clicked or an Auto Scale is performed (in Jitter mode or Pattern Lock turned on). You can use the down arrow to select from several common clock divide ratios. In some situations, you may need to enter a trigger divide ratio for a trigger that is a divided rate from the data rate. For example, for rates greater then 23.2 Gbs, you must provide a divided trigger.

Signal Type (Jitter Mode) Setting

Specify the input signal type: Clock or Data. As a default, Auto Detect is selected, and the instrument automatically detects the signal type. The Signal Type setting can also be accessed on the Jitter Measurements tab of the Configure Jitter Mode Measurements dialog box. If a poorly-defined signal can not be automatically detected, unselect the Auto Detect feature.


Trigger Setup Dialog Box

Trigger Setup (DCA-M)

  • <
  • Triggering
  • Timebase
  • Acquisition
  • Meas Config
  • Jitter Config
  • Display
  • i
  • General Trigger Setup
  • Advanced Trigger Setup
  • Pattern Lock Setup
  • N1090A Trigger

N1090A Trigger

The N1090A Trigger tab is displayed whenever a communication link is established with an N1090A DCA-M Single Optical Channel Sampling Oscilloscope extended module. If multiple N1090A modules are connected, one dialog box tab will be displayed for each N1090A.

Click Setup > Trigger to open this dialog box.

The content of this tab is for information only. There are no settings. An N1090A requires that its Trigger Source be set to Front Panel or Free Run. This is done in the dialog box's General Trigger Setup tab. The normal setting is Front Panel which is shown on the N1090A Trigger tab as Clock In. The Free Run setting can be used to visually confirm that an input signal is present if you are having trouble viewing a signal. Be aware that you will not see any signal if the clock rate is not equal to one of the filter rates that are listed on the N1090A's front panel. These filter rates are provided as N1090A options. If you need to change the N1090A to another filter rate option, you must return the N1090A to Keysight.

Trigger Source
Setting in General Trigger Setup Tab | Source Shown in N1090A Trigger Tab
Free Run | Free Run
Front Panel | Clock In
CDR (86108B module installed) | Clock In
PTB (86108B module installed) | Clock In

Although all connected N1090A modules and an 86100D (if present) have independent triggers, the Trigger Source setting applies to all of these devices. Pattern Lock, also set the the dialog box's General Trigger Setup tab cannot be selected when an N1090A module's channel is displayed. An N1090A is not compatible with Pattern Lock.


User-Defined Measurements

User Operators

If you need your script to modify an input waveform rather than perform a scalar measurement, create a User Operator instead.

User-Defined Measurements and User-Defined Operators require the N1010A-201 Advanced Waveform Analysis license.

You can create custom user-defined measurements that are based on Python, MATLAB, and Compiled MATLAB. Like FlexDCA's standard measurements, user measurements perform a scalar measurement on an input waveform. The result is displayed in the measurement results table just like FlexDCA's standard measurements. You can create up to 8 user measurements in each of the following three FlexDCA modes:

  • Oscilloscope
  • Eye/Mask
  • TDR/TDT

You cannot create user-defined measurements in Jitter mode. User measurements support custom variables which are set from within a dialog box and can run standard FlexDCA (dependent) measurements whose measurement results are made available to the script. These are the basic steps required to create a user measurement:

  1. Write a MATLAB or Python script that performs your measurement.
  2. Write an XML file that describes the measurement and identifies the script.
  3. Import the XML file into the User Measurement Setup dialog box.
  4. Click on the User Meas button to run your measurement.

Python Based Measurements

  • Python Requirements
  • The Python Environment
  • Installing Python
  • Lesson 1. Python "Hello World!" User Measurement
  • Lesson 2. Python Pre-Emphasis User Measurement
  • Creating an XML Ffile
  • Accessing variables
  • Troubleshooting Python scripts

MATLAB Based Measurements

  • MATLAB Requirements
  • The MATLAB Script Environment
  • The MATLAB Application Environment
  • Lesson 1. Hello World!
  • Lesson 2. Creating a User Operator
  • Lesson 3. Creating a User Application
  • Creating an XML File
  • Accessing variables

Note

It is possible to open the script file directly in the User Measurement Setup dialog box without using an XML configuration file. However, without a configuration file you will not be able to initialize unique script variables or specify dependent FlexDCA measurements.


Environment for MATLAB Scripts (Measurements)

A simple XML configuration file identifies your measurement script. In addition to calling the script, the XML file populates the User Measurement Setup dialog box.

When a user measurement is run, FlexDCA performs the following tasks for each data acquisition:

  1. Makes the waveform, the standard variables, and any custom variables available in the MATLAB workspace. In Oscilloscope and TDR modes, the source waveform is a one-dimensional array. In Eye mode, the source database is a two-dimensional array.
  2. Runs any selected "dependent" FlexDCA measurements in which the measurement result is used by the script. (specified in XML file).
  3. Executes the script.
  4. Retrieves the measurement result from the MATLAB workspace and displays the result in the measurement results table. A number of standard output variables are also retrieved from the MATLAB workspace.


Environment for MATLAB Applications (Measurements)

A simple XML configuration file identifies your measurement script. In addition to calling the script, the XML file populates the User Measurement Setup dialog box.

MATLAB Standalone Application

MATLAB Applications are created using the MATLAB Compiler. The resulting *.exe file can be run without having MATLAB installed on the 86100D or PC. However, the MATLAB Compiler Runtime (MCR) must be installed on the 86100D or PC where FlexDCA is installed. The MCR version must match the MATLAB version that was used to compile the MATLAB application.

Script Variables

In general, variables in the MATLAB application workspace are not cleared after the application runs. As a result, user variables declared in scripts may contain stagnant values from a previous run. To avoid issues caused by stagnant values, initialize script variables before using them or clear them at the end of the script.

When a user measurement is run, FlexDCA performs the following tasks for each data acquisition:

  1. Pushes standard variables and custom variables into the MATLAB workspace, including the source waveform. The script must by named algorithm.m and have a algorithm function as described in Lesson 3.
  2. Runs any selected "dependent" FlexDCA measurements in which the measurement result is used by the script. (specified in XML file).
  3. Executes the script.
  4. Retrieves the measurement result from the MATLAB workspace and displays the result in the measurement results table. A number of standard output variables are also retrieved from the MATLAB workspace.


Lesson 1. Creating a "Hello World" User Measurement Script

MATLAB
User
Meas

In this MATLAB example, you'll learn how to create the simplest measurement possible to prove your FlexDCA / MATLAB environment. After you finish this lesson, continue with Lesson 2.

Procedure

  1. Make sure that you have fullfilled the basic requirements for MATLAB and that you are familiar with the environment for MATLAB scripts.
  2. Copy the following XML listing into a text editor. Name the file HelloWorld.xml and save it in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements).
    3. HelloWorld.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Measurement xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>HelloWorld.m</Script>
    • <Name>Hello World!</Name>
    • <!-- <Icon>MyPicture.png</Icon> -->
    • <ValidMode>Scope</ValidMode>
    • <MeasurementType>1 Source</MeasurementType>
    • </Measurement>
    The <Icon> element is optional. This element allows you to place a picture on your user operator icon.
    Example measurement button without
    <Icon> element
            Example measurement button with
    <Icon> element
  3. Copy the following script into MATLAB's editor. Save your script file in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements) and name it HelloWorld.m. Color in the following script identifies:
    • That Output variables should normally be initialized in your scripts.
    • The input waveform SrcData is missing as the script simply tests if a value can be returned.
    • That output variable, Result, returns a pretend measurement value, 4.2! This is a very simple script that doesn't even calculate a result.
    HelloWorld.m
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the MATLAB editor!
    % These values need to be set by the script.
% Set Status to Correct only when Result is computed.
Result = 0.0;
Status = 'Invalid';
ErrorMsg = '';
% Compute Result
Result = 4.2;
Status = 'Correct';

    Note

    Do not use spaces or hyphens when selecting a filename for your script.

    Note

    Enter the above script exactly as written. Otherwise, the script will fail.

  4. Place FlexDCA into Oscilloscope or Eye/Mask modes and display a waveform on the display.
  5. In FlexDCA's User measurement tab, click the User Meas Setup button.
  6. In the dialog box, select an available tab.
  7. Click Browse and select your XML configuration file, HelloWorld.xml.
  8. Close the dialog box and click on your new Hello World! measurement button.
  9. In the Results pane, notice that the Hello World! measurement result, 4.2 dB, is reported.


Lesson 2. Creating a Pre-Emphasis User Measurement Script

MATLAB
User
Meas

This MATLAB example creates a pre-emphasis measurement that runs in oscilloscope mode in the FlexDCA / MATLAB environment. The measurement takes one source waveform as an input and runs two dependent measurements. Dependent measurements are automatically run before the script. The dependent measurement results are passed as variables to your script. Although not required, it is a good practive to give the XML file and script files the same or similar base filename, but using different filename extensions of course! As the number of your measurements grow, you'll appreciate being able to quckly associate the different files at a glance.

Color has been added to the following example lines of the XML and script code to make them easier to read. After you finish this lesson, continue with Lesson 3 to convert this operator into a MATLAB standalone application.

Procedure

  1. Complete Lesson 1, if you have not already done so.
  2. Place FlexDCA into Oscilloscope mode and display a single-valued waveform.
  3. Copy the following XML listing into a text editor. Name the XML file PreEmphasis.xml and save the file in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements).
    • Later, when this XML file is imported into the User Measurement Setup dialog box, it identifies the PreEmphasis.m script, populates the dialog box, identifies two dependent measurements, and creates the user measurement button as shown in these figures.
    HelloWorld.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Measurement xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>PreEmphasis.m</Script>
    • <Name>Pre-Emphasis</Name>
    • <Abbreviation>PreEmp</Abbreviation>
    • <!-- <Icon>MyPicture.png</Icon> -->
    • <Comments>This measures the amount of pre-emphasis on a signal.</Comments>
    • <MeasurementType>1 Source</MeasurementType>
    • <ValidMode>Scope</ValidMode>
    • <Dependent Name = "Amplitude">
    • <SourceIndex>1</SourceIndex>
    • </Dependent>
    • <Dependent Name = "Peak-Peak">
    • <SourceIndex>1</SourceIndex>
    • </Dependent>
    • </Measurement>
    The <Icon> element is optional. This element allows you to place a picture on your user operator icon.
    Example without
    <Icon> element     		Example with
    <Icon> element
  4. Copy the following script into MATLAB's editor and save the script as PreEmphasis.m in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements). Color in the following script identifies:
    • Output variables that are initialized and input waveform, SrcData, is tested for data.
    • Dependent measurements (MeasData structure) that is iterated through checking for valid results.
    • The Result output variable that is assigned the value of the pre-emphasis measurement.
    PreEmphasis.m
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the MATLAB editor!
    % These values need to be set by the script.
% Set Status to Correct only when Result is computed.
Result = 0.0;
Units = 'dB';
Status = 'Invalid';
ErrorMsg = '';
% Do nothing if there is no input waveform.
if isempty(SrcData)
   return;
end
% Variables only get cleared when a MATLAB measurement is installed.
% So, clear dependent measurement results to prevent another MATLAB
% measurement from creating them and confusing the script.
clear Vpp Vamptd;
% Iterate through MeasData to find V p-p and V amptd
NumMeas = length(MeasData);
for i=1:NumMeas
   if strcmp(MeasData(i).Name, 'Peak-Peak') && strcmp(MeasData(i).Source1, Source)
      Vpp.Result = MeasData(i).Result;
      Vpp.Status = MeasData(i).Status;
      Vpp.Source = MeasData(i).Source1;
   elseif strcmp(MeasData(i).Name, 'Amplitude') && strcmp(MeasData(i).Source1, Source)
      Vamptd.Result = MeasData(i).Result;
      Vamptd.Status = MeasData(i).Status;
      Vamptd.Source = MeasData(i).Source1;
   end;
end;
% Verify required measurements have been made.
if (~exist('Vpp') || ~exist('Vamptd'))
   ErrorMsg = ['Error: Unable to retrieve "Peak-Peak" and "Amplitude" measurements.\n' ...
      'Please be in Oscilloscope Mode and make "Peak-Peak" and "Amplitude" '...
      'measurements from Amplitude Measurement Tab on ' Source '.'];

   return;
end;
% Compute Result
Result = 20 * log10(Vpp.Result/Vamptd.Result);
% Status of dependent measurements
if (strcmp(Vpp.Status, 'Correct') && strcmp(Vamptd.Status, 'Correct'))
   Status = 'Correct';
elseif (strcmp(Vpp.Status, 'Invalid') || strcmp(Vamptd.Status, 'Invalid'))
   Status = 'Invalid';
   % Return now before possibly setting to Questionable later.
   return;
else
   Status = 'Questionable';
end

    Note

    Do not use spaces or hyphens when selecting a filename for your script.

    Note

    Enter the above script exactly as written. Otherwise, the script will fail.

  5. In FlexDCA's User measurement tab, click the User Meas Setup button.
  6. In the dialog box, select an available tab.
  7. Click Browse and select your XML configuration file, PreEmphasis.xml and close the dialog box.
  8. Click on your new Pre-Emphasis measurement button and view the results in the Results panel. Notice that the results of the two dependent measurements are not listed.

    9. Note

    You may have to wait a few seconds for the waveform to appear.


Lesson 3. Creating a Pre-Emphasis User Application Script

MATLAB
User
Meas

In this MATLAB example, you'll learn how to modify the pre-emphasis measurement that you created in Lesson 2 to be a MATLAB standalone application. MATLAB standalone applications can be run using the MATLAB Runtime without have to install MATLAB.

MATLAB Standalone Application

MATLAB Applications are created using the MATLAB Compiler. The resulting *.exe file can be run without having MATLAB installed on the 86100D or PC. However, the MATLAB Runtime must be installed on the 86100D or PC where FlexDCA is installed and the MATLAB Runtime version must be the same version as was targeted when the MATLAB Application was created.

Procedure

  1. Complete Lesson 2. The resulting PreEmphasis.xml and Butterworth.m files should be in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements).
  2. Using a text editor, open the PreEmphasis.xml file. Change the content of the file's <Script> element from PreEmphasis.m to algorithm.exe. We will create algorithm.m which will be compiled into algorithm.exe.

    3. Note

    All letters in algorithm.m must be typed in lower case. Naming the function Algorithm.m will break the script.

    PreEmphasis.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Measurement xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>algorithm.exe</Script>
    • <Name>Pre-Emphasis</Name>
    • <Abbreviation>PreEmp</Abbreviation>
    • <!-- <Icon>MyPicture.png</Icon> -->
    • <Comments>This measures the amount of pre-emphasis on a signal.</Comments>
    • <MeasurementType>1 Source</MeasurementType>
    • <ValidMode>Scope</ValidMode>
    • <Dependent Name = "Amplitude">
    • <SourceIndex>1</SourceIndex>
    • </Dependent>
    • <Dependent Name = "Peak-Peak">
    • <SourceIndex>1</SourceIndex>
    • </Dependent>
    • </Measurement>
  3. Make a copy of the PreEmphasis.m file and rename the copy algorithm.m. The name of a script file for a standalone application must always be algorithm.m.
  4. Open the algorithm.m scipt file in MATLAB. Make the following edits to the script as shown in this listing:
    1. Add a algorithm function definition before the first line in the script as shown in green.
    2. Add the reference InputVars. shown in red before every input variable in the script. Do not forget to add the period character "." between InputVars. and the variable. For example, SrcData becomes InputVars.SrcData.
    3. Add a structure of output variables shown in blue to the end of the script.
    Script algorithm.m with Modifications
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the MATLAB editor!
    function OutputVars = algorithm(InputVars)

% These values need to be set by the script.
% Set Status to Correct only when Result is computed.
Result = 0.0;
Units = 'dB';
Status = 'Invalid';
ErrorMsg = '';
% Do nothing if there is no input waveform.
if isempty(InputVars.SrcData)
   return;
end
% Variables only get cleared when a MATLAB measurement is installed.
% So, clear dependent measurement results to prevent another MATLAB
% measurement from creating them and confusing the script.
clear Vpp Vamptd;
% Iterate through MeasData to find V p-p and V amptd
NumMeas = length(InputVars.MeasData);
for i=1:NumMeas
   if strcmp(InputVars.MeasData(i).Name, 'Peak-Peak') && strcmp(InputVars.MeasData(i).Source1, Source)
      Vpp.Result = InputVars.MeasData(i).Result;
      Vpp.Status = InputVars.MeasData(i).Status;
      Vpp.Source = InputVars.MeasData(i).Source1;
   elseif strcmp(InputVars.MeasData(i).Name, 'Amplitude') && strcmp(InputVars.MeasData(i).Source1, Source)
      Vamptd.Result = InputVars.MeasData(i).Result;
      Vamptd.Status = InputVars.MeasData(i).Status;
      Vamptd.Source = InputVars.MeasData(i).Source1;
   end;
end;
% Verify required measurements have been made.
if (~exist('Vpp') || ~exist('Vamptd'))
   ErrorMsg = ['Error: Unable to retrieve "Peak-Peak" and "Amplitude" measurements.\n' ...
      'Please be in Oscilloscope Mode and make "Peak-Peak" and "Amplitude" '...
      'measurements from Amplitude Measurement Tab on ' Source '.'];

   return;
end;
% Compute Result
Result = 20 * log10(Vpp.Result/Vamptd.Result);
% Status of dependent measurements
if (strcmp(Vpp.Status, 'Correct') && strcmp(Vamptd.Status, 'Correct'))
   Status = 'Correct';
elseif (strcmp(Vpp.Status, 'Invalid') || strcmp(Vamptd.Status, 'Invalid'))
   Status = 'Invalid';
   % Return now before possibly setting to Questionable later.
   return;
else
   Status = 'Questionable';
end

OutputVars = struct(...
    'Result', Result,...
    'Units', Units,...
    'Status', Status,...
    'ErrorMsg', ErrorMsg);
end
  5. Create a folder to which you will save the files that will be compiled into your standalone application. The following simplified picture shows a project folder (Application Source Files) created within MATLAB's default project folder. You can give your folder any name that you like. Place the files shown in the picture into your folder. The file are:
    1. Copy the algorithm.m scipt file that you created in the previous step.
    2. Copy three additional files that are required when compiling a MATLAB scipt into a MATLAB standalone application:
      • InteropHelper.jar
      • protobuf-java-2.6.1.jar
      • wrapper.m.
      Location of Additional Files to Compile
From the shortcut folder located in \My Documents\Keysight\FlexDCA\User Functions | Directly from the folder \Program Files\Keysight\FlexDCA\Demo\ User Functions\Demo Compiled MATLAB

    Note

    Do not place the Butterworth.xml file into this folder.

  6. Your folder for compiling your script should now have the files shown in the following picture.
  7. In MATLAB's Command Window, run the deploytool command to view the Compiler dialog box.
  8. In the Compiler dialog box, double click Application Compiler to run the compiler.
  9. In the MATLAB Compiler, click the button to add the wrapper.m script from your source folder. Select Runtime downloaded from web as show in this picture. Finally, in the Application information field enter the name for your application. This will be the name given to your .exe file.
  10. In the Files required for your application to run field, click the [image] button and add the algorithm.m, InteropHelper.jar, and protobuf-java-2.6.1.jar files as shown in the following picture.
  11. Save your standalone application project, and click the Compiler's Package button.
  12. When the compile completes, close the MATLAB compiler and open File Explorer. MATLAB has placed the compiled files for the application in the \for_testing folder as shown in this picture. The executable file is PreEmphasis.exe. Remember, at the start of this lesson you edited the PreEmphasis.xml file's <Script> element to use the PreEmphasis.exe file.
  13. Copy the PreEmphasis.exe file to FlexDCA's user functions folder (\Documents\Keysight\FlexDCA\User Functions).
  14. On each PC or 86100D where you want to run your executable, perform the following steps:
    1. Install FlexDCA
    2. Place the PreEmphasis.xml and PreEmphasis.exe files in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements).
    3. Install the correct MCR version.
    4. In FlexDCA's User measurement tab, click the User Meas Setup button.
    5. In the dialog box, select an available tab.
    6. Click Browse and select your XML configuration file, PreEmphasis.xml and close the dialog box.
    7. Click on your new Pre-Emphasis measurement button and view the results in the Results panel.

      8. Note

      You may have to wait a few seconds for the waveform to appear.


Accessing Variables in MATLAB User-Measurement Scripts

When FlexDCA starts a user-measurement script, the variables listed in the following table are placed in the MATLAB workspace. This includes any variables that you defined with the <Variable> XML element.

Input Variables

Note

Each input variables, except MeasData and SoftwareVersion, listed in the following table has two forms. The one listed is for a single input waveform or the waveform 1 of a dual-waveform input measurement. If a second input waveform exists, its variable has the digit "2" appended. For example, SrcData becomes SrcData2 for the second waveform.

Input Variables
Variables | Description | FlexDCA Modes
Scope | TDR | Eye
SrcData The input waveform in Oscilloscope and TDR/TDT mode where the waveform consists of y-data values. Values are in volts for electrical signals and Watts for optical signals. ♦ ♦
The input waveform in Eye/Mask mode is a database where the waveform consists of hits-per-pixel arranged in a two-dimensional array ([column][row]). The column index represents increasing time values starting from the waveform's displayed left side to its right side. The row index represents increasing amplitude values that are in volts for electrical signals and Watts for optical signals. ♦
Source The source of the input waveform.
Example: Source = 'Channel 1B' 		♦ ♦ ♦
SourceBw The bandwidth of the input source.
Example: SourceBw = 150000000000.0 		♦ ♦ ♦
TotalHits The number of hits in eye database.
Example: TotalHits = 2809395 		♦
NumCols The number of columns in eye database. ♦
NumRows The number of rows in eye database. ♦
XOrg The time of the first x-axis value of the input waveform value of SrcData.
Example: XOrg = 8.785e-11 		♦ ♦ ♦
XInc The spacing of the x-axis input waveform values of SrcData.
Example: XInc = 2.232e-13 		♦ ♦ ♦
XUnits The X units associated with the input waveform. Refer to Valid Measurement Units.
Example: XUnits = 'Second' 		♦ ♦ ♦
YOrg The time of the first y-axis value of SrcData.
Example: YOrg = -0.42711 		♦
YInc The spacing of the y-axis values of SrcData.
Example: YInc = 0.0016430 		♦
YUnits The Y units associated with the input waveform. Refer to Valid Measurement Units.
Example: YUnits = 'Volt' 		♦ ♦ ♦
BitRate The current value of the 'Data Rate' control in the pattern lock tab of the trigger setup dialog. If pattern lock is not turned on, this value may not be correct.
Example: BitRate = 9953280000.0 		♦ ♦ ♦
PatLength The current value of the 'Pattern Length' control in the pattern lock tap of the trigger setup dialog. If pattern lock is not turned on, this value may not be correct.
Example: PatLength = 127 		♦ ♦ ♦
SrcClipped Set to True if the source data was clipped high or low; otherwise set to False.
Example: SrcClipped = True 		♦ ♦
ClipHigh The maximum value that could be present in the source waveform. If SrcClipped is True, check to see which elements of SrcData are equal to ClipHigh to determine which elements were clipped.
Example: ClipHigh = 0.51057 		♦ ♦
ClipLow The minimum value that could be present in the source waveform. If SrcClipped is True, check to see which elements of SrcData are equal to ClipLow to determine which elements were clipped.
Example: ClipLow = -0.510869 		♦ ♦
IsAvgComplete Flag tells if waveform averaging is complete. Set to True if complete, otherwise False if not complete.
Example: IsAvgComplete = True 		♦ ♦
IsPeriodic Flag tells if waveform is periodic. Set to True if complete, otherwise False if not complete.
Example: IsPeriodic = False 		♦ ♦
AvgAcqCount The current value of the 'Number of Averages' control in the Averaging tab of the Acquistion dialog if averaging is enabled, otherwise its value is 1.
Example: AvgAcqCount = 1 		♦ ♦
TdrAmplitude The current amplitude of the TDR waveform. ♦
TdrPolarity The current polarity of the TDR waveform. ♦
TdrRiseTime The current rise time of the TDR waveform. ♦
DielectricConstant The dielectric constant of the TDR waveform. (If horizontal units are defined in distance instead of time.) ♦
VelocityFactor The velocity factor of the TDR waveform.(If horizontal units are defined in distance instead of time.) ♦
Markers Marker information if markers are on source waveform. If a marker is not on, it is not available. ♦ ♦ ♦
Example: x = Markers(1).Position
Markers = [struct('Name','X1','Source','Channel 1A','Position',5.9853e-10,'Status','Correct')...
struct('Name','X2','Source','Channel 1A','Position',6.4853e-10,'Status','Correct')...
struct('Name','X3','Source','Channel 1A','Position',8.0353e-10,'Status','Correct')...
struct('Name','X4','Source','Channel 1A','Position',8.5603e-10,'Status','Correct')]
MeasData A structure for each defined dependent measurement. Up to four dependent measurements can be defined. ♦ ♦ ♦
Example: x = MeasData(1).Result
MeasData = [struct('Name','Amplitude','Result',0.5032,'Status','Correct','Units','Volt','Source1','Channel 1A','Source2','')...
struct('Name','Peak-Peak','Result',0.5096,'Status','Correct','Units','Volt','Source1','Channel 1A','Source2','')]
SoftwareVersion The FlexDCA software version that is being run. ♦ ♦ ♦

Output Variables

This topic lists the variables whose values are returned to FlexDCA when your script completes. The Result variable must be set in your script. The remaining variables may be returned, if needed.

Output Variables
Variable | Type | Description
Variables that must be returned by your script
Result | float | The measured scalar result.
Optional variables that can be returned by your script
Units | string | Returns the measurement units of the result. Refer to Valid Measurement Units.
Status | string | Returns the status of the measurement result. The string can be 'Correct', 'Questionable', or 'Invalid'.
ErrorMsg | string | Returns an error message for the measurement. The error message is displayed in the DCA message area.


Environment for Python Scripts (Measurements)

A simple XML configuration file identifies your measurement script. In addition to calling the script, the XML file populates the User Measurement Setup dialog box.

Python Support

The version of Python supported for user operators is Python 2.7. Python 3 is not supported. You must modify the PC's PATH environment variable to include the path to the Python 2.7 executable. For example, C:\Anaconda on a PC and C:\Users\dca-admin\Anaconda on an 86100D.

When a user measurement is run, FlexDCA performs the following tasks for each data acquisition:

  1. Passes the source waveform, standard variables and any custom variables to the Python script. In Oscilloscope and TDR modes, the source waveform is a one-dimensional NumPy array. In Eye mode, the source database is a two-dimensional NumPy array.

    2. Numpy

    NumPy is a library for creating multidimensional arrays that is included with the Anaconda distribution. For more information, go to http://docs.scipy.org. To import NumPy into your Python script enter the following line:

    import numpy as np
  2. Runs any selected "dependent" FlexDCA measurements as specified in XML file.
  3. Executes the script.
  4. The script returns to FlexDCA a dictionary of the measurement result and the result is displayed in the measurement results table. A number of standard output variables are also retrieved from the script.


Installing Python

Use the following steps to install Python 2.7 on your PC or 86100D and to confirm that Python is correctly installed. You cannot use Python 3.x versions.

  1. Install Python 2.7 on the 86100D or PC where FlexDCA is running. The Anaconda distribution of Python that is downloaded from CONTINUUM Analytics is recommended. If you use another distribution or a different editor, you may need to perform different and additional setup steps.

    2. Python Support

    The version of Python supported for user measurements is Python 2.7. Python 3.x is not supported.

  2. Modify the PC's System PATH environment variable to include the path to the Python 2.7 executable. On the PC's Start menu:
    1. Click Computer, System properties, Advanced System Settings.
    2. In the Advanced tab, select Environment Variables and edit the Path under System variables. The string that you add to the PATH variable should look similar to ;C:\Anaconda on a PC. On an 86100D, it should look similar to ;C:\Users\dca-admin\Anaconda

    Use caution when editing the PATH variable. If you are not experienced in editing this variable, ask a computer expert for help.

    Note

    If you install both Python 2.7 and 3.4 and set up an environment to switch between 2.7 and 3.4 using Anaconda's Launcher application, you must still add Python 2.7 to you PC's PATH environment variable. For example, the string that you add may look similar to ;C:\Anaconda3\envs\Python27.

  3. It the Window's Start menu, type cmd and press the Enter key.
  4. In the cmd window, enter python and press return. As shown below, you should see a confirmation that Python 2.7 is installed. Enter quit() and then enter path and confirm that the PATH environment variable is properly set. Close the cmd window.
  5. Using Anaconda's Launcher application, start the script editor, Spyder. In Spyder, enter the following two lines of code. If the script runs without warnings or errors, your environment should be properly configured. This script includes a NumPy import statement. The NumPy library is automatically installed with the Anaconda distribution. NumPy is used by FlexDCA to provide input variables to your scripts, so even if you don't import NumPy into your scripts you must still have NumPy installed with Python.
    6. import numpy
print "This is a test!"

    Note

    If you use a Python editor that was not installed with your Python download, you must configure the editor to work with the Anaconda or other distribution.

  6. Click in the IPython console which should be visible in Spyder. This selects the console for output.
  7. In Spyder's menu, click Run > Run to run the script. If "This is a test!" is printed on the IPython console and no errors concerning NumPy are reported, your Python environment should be correctly installed and ready to use.
  8. Now that your Python editor works correctly, try "Lesson 1. Hello, World!" to quickly run and test your first user measurement.


Lesson 1. Creating a "Hello World" User Measurement Script

Python
User
Meas

This Python example is the equivalent of a typical "Hello World" user measurement script. It is the simplest possible example designed to prove that your FlexDCA / Python environment is working correctly and to illustrate all of the basic steps required to create a user measurement. After you've been successful with this example, try the Lesson 2. Pre-Emphasis a real-world example. Like all user-measurement Python scripts, HelloWorld.py consists of the following items:

  • An algorithm function. Your scripts can have additional functions, but it must have the algorithm function.
  • FlexDCA passes a dictionary of input variables to the algorithm function.
  • The script must return a dictionary of measurement results. These are the values that are returned to FlexDCA and get displayed in FlexDCA's measurement results table and indicate the measurement's status.
  • If the measurement cannot be made, return a dictionary that has one key "ErrorMsg" with the value "No Data'.

Color has been added to the following example lines of the XML code to make them easier to read.

Procedure

  1. Make sure that you have fullfilled the properly installed Python.
  2. Copy the following XML listing into a text editor. Name the file HelloWorld.xml and save it in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements). Later, when this XML file is imported into the User Measurement Setup dialog box, it identifies the HelloWorld.py script, populates the dialog box, and creates the user measurement button as shown in these figures.
    3. HelloWorld.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Measurement xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>HelloWorld.py</Script>
    • <Name>Hello World!</Name>
    • <!-- <Icon>MyPicture.png</Icon> -->
    • <ValidMode>Scope</ValidMode>
    • <MeasurementType>1 Source</MeasurementType>
    • </Measurement>
    The <Icon> element is optional. This element allows you to place a picture on your user operator icon.
    Example measurement button without
    <Icon> element
            Example measurement button with
    <Icon> element
  3. Start Anaconda's Launcher application and then start the Python editor, Spyder. Copy the following script into Spyder. Name your script file HelloWorld.py and save it in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements). Spyder will keep line indentation correct for Python and will help to flag any typing mistakes. Color in the following script identifys:
    • Input waveform, SrcData, that is passed as a key:value pair in the variables dictionary.
    • Output variable, Result, that returns a pretend measurement value, 4.2. This is a very simple script that doesn't even calculate a result.
    • The print statement that can be used for troubleshooting by writing text to the Show Output dialog box.
    • Four variables returned as a dictionary (key:value pairs). The order that you list the key: value pairs is not important, however all four key:value pairs must be returned.
    HelloWorld.py
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the Spyder editor!
    def algorithm(variables):
    SrcData = variables['SrcData']
    num_samples = len(SrcData)
    if num_samples == 0:
        return {'ErrorMsg': 'No data'}
    print 'Hello World!'
    Result = 4.2
    return {'Result':Result,
            'Units':'dB',
            'Status':'Correct',
            'ErrorMsg':''}

    Note

    The algorithm function name must be written in lower case. Naming the function Algorithm.m or ALGORITHM, for example, will break the script.

    Note

    Do not use spaces or hyphens when selecting a filename for your script.

    Note

    Enter the above script exactly as written. Otherwise, the script will fail.

  4. Let's test your script in Spyder before we run it in FlexDCA:
    1. Click in the IPython console to select it.
    2. In Spyder's menu, click Run > Run to run the script. No result will appear in the IPython console until the next step is performed.
    3. In the IPython console window, type algorithm({'SrcData':'12345'}) and press Enter. The following picture shows what should be displayed in the window. Notice that Hello World! is displayed along with a dictionary listing. The order of the dictionary key:value pairs (ErrorMsg, Result, Status, and Units) in the window does not matter.
  5. Place FlexDCA into Oscilloscope mode and display a single waveform on the display.
  6. In FlexDCA's User measurement tab, click the User Meas Setup button.
  7. In the dialog box, select an available tab.
  8. Click Browse and select your XML configuration file, HelloWorld.xml.
  9. Close the dialog box and click on your new Hello World! measurement button.
  10. In the Results pane, notice that the Hello World! measurement result of 4.2 dB is reported.
  11. On the User tab, click the User Meas Setup button. In the Hello World measurement tab, click the Show Output button. This button only appears on the dialog box after the measurement has been started.
  12. In the displayed Output dialog box, you should see the output of the print statement in your HelloWorld.py script. One Hello World! is printed each time the measurement is run. For this picture, FlexDCA was in Single acquisition mode with the Single button clicked four times. You can use this feature to troubleshoot your scripts.


Lesson 2. Creating a Pre-Emphasis User Measurement Script

Python
User
Meas

This Python example creates a pre-emphasis measurement that runs in oscilloscope mode in the FlexDCA / Python environment. The measurement takes one source waveform as an input and runs two dependent measurements. Dependent measurements are automatically run before the script and their measurement results are passed as variables to your script. Although not required, it is a good practice to give the XML file and script files the same or similar base filename, but using different filename extensions of course! As the number of your measurements grow, you'll appreciate being able to quckly associate the different files at a glance.

Color has been added to the following example lines of the XML and script code to make them easier to read.

Procedure

  1. Complete Lesson 1, if you have not already done so.
  2. Place FlexDCA into Oscilloscope mode and display a single-valued waveform.
  3. Copy the following XML listing into a text editor. Save the file as PreEmphasis.xml in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements). Later, when this XML file is imported into the User Measurement Setup dialog box, it identifies the PreEmphasis.py script, populates the dialog box, and creates the user measurement button as shown in these figures.
    4. PreEmphasis.xml
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into your text editor!
    • <?xml version="1.0" encoding="utf-8"?>
    • <Measurement xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    • <Script>PreEmphasis.py</Script>
    • <Name>Pre-Emphasis</Name>
    • <Abbreviation>PreEmp</Abbreviation>
    • <!-- <Icon>MyPicture.png</Icon> -->
    • <Comments>This measures the amount of pre-emphasis on a signal.</Comments>
    • <MeasurementType>1 Source</MeasurementType>
    • <ValidMode>Scope</ValidMode>
    • <Dependent Name = "Amplitude">
    • <SourceIndex>1</SourceIndex>
    • </Dependent>
    • <Dependent Name = "Peak-Peak">
    • <SourceIndex>1</SourceIndex>
    • </Dependent>
    • </Measurement>
    The <Icon> element is optional. This element allows you to place a picture on your user operator icon.
    Example without
    <Icon> element     		Example with
    <Icon> element
  4. Copy the following script into Anaconda's Python editor, Spyder. Save the script as PreEmphasis.py in FlexDCA's user measurements folder (\Documents\Keysight\FlexDCA\User Measurements). Color in the following script identifys:
    • Output variables that are initialized.
    • Three input variables that are assigned to local function variables.
    • Results from the two dependent measurements (from input dictionary MeasData) thar are assigned to local variables Vpp and Vamptd.
    • Two print statements that send the dependent results to the Show Output dialog box illustrating a technique used for troubleshooting.

    Note

    The algorithm function name must be written in lower case. Naming the function Algorithm.m or ALGORITHM, for example, will break the script.

    PreEmphasis.py
    Drag the mouse over this listing, enter Ctrl-C to copy, and paste it into the Spyder editor!
    import math  # Import Python's standard math library.

# Argument "variables" is a dictionary from
# FlexDCA that maps from variable name to value.
def algorithm(variables):

    # Initialize the four variables that are returned to FlexDCA.
    Result = 0.0
    Units = 'dB'
    Status = 'Invalid'  # Set to 'Correct' after Result is computed.
    ErrorMsg = ''

    # Initialize local function variables with variables from FlexDCA.
    SrcData = variables['SrcData']    # String of Y-data values of input waveform
    Source = variables['Source']      # Source of the input waveform
    MeasData = variables['MeasData']  # A dictionary of dependent measurement results

    # Do nothing if there is no SrcData.
    num_samples = len(SrcData)
    if num_samples == 0:
        return { 'ErrorMsg' : 'No data' }

    # Find dependent measurement results in MeasData: V p-p and V amptd
    i = 1
    print '\nDependent measurement results:'
    for meas in MeasData:
        print 'Meas', i, '=', meas['Name'], ',', meas['Result'], ',', meas['Source1'], ',', meas['Status']
        i = i + 1
        if (meas['Source1'] == Source):
            if (meas['Name'] == 'Peak-Peak'):
                Vpp = meas   # Peak-Peak measurement result
            elif (meas['Name'] == 'Amplitude'):
                Vamptd = meas   # Amplitude measurement result

    # Verify required measurements have been made.
    if (Vpp is None) or (Vamptd is None):
        ErrorMsg = 'Unable to retrieve "Peak-Peak" and "Amplitude" measurements.'
        return { 'ErrorMsg' : ErrorMsg }

    # Need to have status of V p-p and V amptd cary through
    if (Vpp['Status'] == 'Correct') and (Vamptd['Status'] == 'Correct'):
        Status = 'Correct'

    elif (Vpp['Status'] == 'Invalid') or (Vamptd['Status'] == 'Invalid'):
        ErrorMsg = 'Dependent measurements have invalid statuses.'

        # Return now before possibly setting to Questionable later.
        return { 'Status' : Status,
                 'ErrorMsg' : ErrorMsg }
    else:
        Status = 'Questionable'
        ErrorMsg = 'Dependent measurements have questionable statuses.'

    # Compute result
    Result = 20 * math.log10(Vpp['Result'] / Vamptd['Result'])

    # Return dictionary of results to FlexDCA
    return { 'Result' : Result,       # Calculated scalar result
             'Units' : Units,         # Measurement units
             'Status' : Status,       # Status string 'Correct', 'Questionable', or 'Invalid'
             'ErrorMsg' : ErrorMsg }  # Error message string
  5. In FlexDCA's User measurement tab, click the User Meas Setup button.
  6. In the dialog box, select an available tab.
  7. Click Browse and select your XML configuration file, PreEmphasis.xml and close the dialog box.
  8. Click on your new Pre-Emphasis measurement button and view the results in the Results panel. Notice that the results of the two dependent measurements are not listed.
  9. Return to the User Meas Setup dialog box, and in the Pre-Emphasis measurement tab click the Show Output button. The output of the print statement shows information about the dependent measurements.


Troubleshooting Python scripts

You can add print statements to your Python scripts as a troubleshooting aid. The ouput of the print statement is written to the User Measurement Output dialog box as shown in the following picture. Each time that the script is executed, which is once per measurement acquisition, the print statements are executed. It is often helpful to set FlexDCA's data acquisition to Single mode and then click the Single button to control the output.

The following script was used to write the results of two dependent measurements (Amplitude and Peak-Peak) in the above picture. This represent two waveform acquisitions.

def algorithm(variables): # Argument "variables" is a dictionary from FlexDCA that maps from variable name to value.
    …
    …
    …
    # Write dependent measurement results to Show Output
    i = 1
    print '\nDependent measurement results:'
    for meas in MeasData:
        print 'Meas', i, '=', meas['Name'], ',', meas['Result'], ',', meas['Source1'], ',', meas['Status']
        i = i + 1
    …
    …
    …

To view the output

  1. Add print statements to your script.
  2. On FlexDCA's User measurement tab, click your User measurement button to start your measurement.
  3. In the User measurement tab, click the User Meas Setup button to open the Setup dialog box and select the tab for your measurement.
  4. Click the Show Output button as seen in the following picture.


Variables Passed to Python User-Measurement Scripts

Accessing Variables in Python User-Measurement Scripts

Input Variables

When FlexDCA starts a user-measurement script, the following variables are passed to the script as key:value pairs in a dictionary. Any variables that you defined with the <Variable> XML element are also passed to the script. For example, your script will start with the function definition shown below. The input variables are passes in the variables dictionary. In the second line, the function uses the SrcData dictionary key to assign the value which is the input waveform to the SrcData variable.

def algorithm(variables):
    SrcData = variables['SrcData']
    …
    …

Note

Each input variable, except MeasData and SoftwareVersion, listed in the following table has two forms. The one listed is for a single input waveform or the waveform 1 of a dual-waveform input measurement. If a second input waveform exists, its variable has the digit "2" appended. For example, SrcData becomes SrcData2 for the second waveform.

Input Variables
Dictionary keys | Type | Description | FlexDCA Modes
Scope | TDR | Eye
SrcData numpy.ndarray The input waveform in Oscilloscope and TDR/TDT mode where the waveform consists of y-data values. Values are in volts for electrical signals and Watts for optical signals. ♦ ♦
The input waveform in Eye/Mask mode is a database where the waveform consists of hits-per-pixel arranged in a two-dimensional array ([column][row]). The column index represents increasing time values starting from the waveform's displayed left side to its right side. The row index represents increasing amplitude values that are in volts for electrical signals and Watts for optical signals. ♦
Example key: value pair:
'SrcData': array([[0,0,0,…,0,0],
[0,0,0,…,0,0],
[0,0,0,…,0,0],
…
[0,0,0,…,0,0],
[0,0,0,…,0,0]], dtype=uint32)
Source string The source of the input waveform.
Example key: value pair: 'Source': 'Channel 1B' 		♦ ♦ ♦
SourceBw float The bandwidth of the input source.
Example key: value pair: 'SourceBw': 150000000000.0 		♦ ♦ ♦
TotalHits long The number of hits in eye database. The value is an unsigned long integer in Python 2.
Example key: value pair: 'TotalHits': 2809395L 		♦
XOrg float The time of the first x-axis value of the input waveform value of SrcData.
Example key: value pair: 'XOrg': 8.785e-11 		♦ ♦ ♦
XInc float The spacing of the x-axis input waveform values of SrcData.
Example key: value pair: 'XInc': 2.232e-13 		♦ ♦ ♦
XUnits string The X units associated with the input waveform. Refer to Valid Measurement Units.
Example key: value pair: 'XUnits': 'Second' 		♦ ♦ ♦
YOrg float The time of the first y-axis value of SrcData.
Example key: value pair: 'YOrg': -0.42711 		♦
YInc float The spacing of the y-axis values of SrcData.
Example key: value pair: 'YInc': 0.0016430 		♦
YUnits string The Y units associated with the input waveform. Refer to Valid Measurement Units.
Example key: value pair: 'YUnits': 'Volt' 		♦ ♦ ♦
BitRate float The current value of the 'Data Rate' control in the pattern lock tab of the trigger setup dialog. If pattern lock is not turned on, this value may not be correct.
Example key: value pair: 'BitRate': 9953280000.0 		♦ ♦ ♦
PatLength integer The current value of the 'Pattern Length' control in the pattern lock tap of the trigger setup dialog. If pattern lock is not turned on, this value may not be correct.
Example key: value pair: 'PatLength': 127 		♦ ♦ ♦
SrcClipped bolean Set to True if the source data was clipped high or low; otherwise set to False.
Example key: value pair: 'SrcClipped': True 		♦ ♦
ClipHigh float The maximum value that could be present in the source waveform. If SrcClipped is True, check to see which elements of SrcData are equal to ClipHigh to determine which elements were clipped.
Example key: value pair: 'ClipHigh': 0.51057 		♦ ♦
ClipLow float The minimum value that could be present in the source waveform. If SrcClipped is True, check to see which elements of SrcData are equal to ClipLow to determine which elements were clipped.
Example key: value pair: 'ClipLow': -0.510869 		♦ ♦
IsAvgComplete bolean Flag tells if waveform averaging is complete. Set to True if complete, otherwise False if not complete.
Example key: value pair: 'IsAvgComplete': True 		♦ ♦
IsPeriodic bolean Flag tells if waveform is periodic. Set to True if complete, otherwise False if not complete.
Example key: value pair: 'IsPeriodic': False 		♦ ♦
AvgAcqCount long The current value of the 'Number of Averages' control in the Averaging tab of the Acquistion dialog if averaging is enabled, otherwise its value is 1. The value is an unsigned long integer in Python 2.
Example key: value pair: 'AvgAcqCount': 1L 		♦ ♦
Markers list of dictionaries Marker information if markers are on source waveform. If a marker is not on, it is not included in the list. ♦ ♦ ♦
Example key: value pair:
'Markers': [
{'Status': 'Correct','Source': 'Channel 1B','Name': 'X1,'Position': 1.01033e-10},
{'Status': 'Correct','Source': 'Channel 1B','Name': 'X2,'Position': 1.28445e-10},
{'Status': 'Correct','Source': 'Channel 1B','Name': 'X3,'Position': 1.50625e-10},
{'Status': 'Correct','Source': 'Channel 1B','Name': 'X4,'Position': 1.78664e-10}]
TdrAmplitude float The current amplitude of the TDR waveform. ♦
TdrPolarity string The current polarity of the TDR waveform. ♦
TdrRiseTime float The current rise time of the TDR waveform. ♦
DielectricConstant float The dielectric constant of the TDR waveform. (If horizontal units are defined in distance instead of time.) ♦
VelocityFactor float The velocity factor of the TDR waveform.(If horizontal units are defined in distance instead of time.) ♦
MeasData list of dictionaries A list of dictionaries with one dictionary for each defined dependent measurement. Up to four dependent measurements can be defined.♦ ♦ ♦
Example key: value pair:
'MeasData':[
{'Name': 'Amplitude', 'Status': 'Correct', 'Source1': 'Channel 1A', 'Result': 0.496241, 'Units':'Volt'},
{'Name': 'Peak-Peak', 'Status': 'Correct', 'Source2': 'Channel 1B', 'Result': 0.514348, 'Units':'Volt'},
 ....]
SoftwareVersion string The FlexDCA software version that is being run. ♦ ♦ ♦

Output Variables

This topic lists the variables whose values are returned to FlexDCA when your script completes. The Result variable must be set in your script. The remaining variables may be returned, if needed. For Python scripts, these variables are returned in a dictionary.

Variables Output From Script
Variable | Type | Description
Variables that must be returned by your script
Result | float | The measured scalar result.
Optional variables that can be returned by your script
Units | string | Returns the measurement units of the result. Refer to Valid Measurement Units.
Status | string | Returns the status of the measurement result. The string can be 'Correct', 'Questionable', or 'Invalid'.
ErrorMsg | string | Returns an error message for the measurement. The error message is displayed in the DCA message area.


User Measurement Configuration XML File

The XML file defines a user measurement and the file can be created using an ASCII editor, such as Notepad++. The following "clickable" list shows all valid XML elements. Be aware that XML is case sensitive. All content in the XML file must be enclosed by an element. Each element must begin with an opening tag and end with a closing tag. Opening tags are enclosed in < > characters, for example, <Name>. Closing tags are enclosed in </ > characters, for example </Name>. The root element is <Measurement>, and it is a required element. The file ends with the </Measurement> closing tag. Line indentation indicates element hierarchy, but is not required in your file. The indentation shows that the <Dependent> element is the child of the <Measurement> element and the parent of the <SourceIndex> element. In the following list, click on the elements to learn about their use. Many of the XML elements for user measurements are the same or similar to those used in defining user function XML files. The only elements that are required to create a valid file are <Measurement> and <Script>. All other elements are optional. The <Script> element identifies your script.

Click on these elements!

  • <Measurement> (required element)
  • <Name>content</Name>
  • <Abbreviation>content</Abbreviation>
  • <Comments>content</Comments>
  • <Script>content</Script> (required element)
  • <ValidMode>content</ValidMode>
  • <Icon>content</Icon>
  • <MeasurementType>content</MeasurementType>
  • <Variable attribute attribute />
  • <Dependent attribute >
  • <SourceIndex>content</SourceIndex>
  • </Dependent>
  • </Measurement>

Although all the XML elements except for <Measurement> and <Script> are optional, you would seldom create an XML file without optional elements as you would lose all of the powerful features that are available. However, you can just directly select the Matlab or Python script file in the User Measurement Setup dialog box.

XML Example File

  • <Measurement>
  • <Script>EyeMeasurement.py</Script>
  • <Name>My Eye Measurement</Name>
  • <Abbreviation>MyEye</Abbreviation>
  • <Comments>Before starting the measurement:
  • - Use ESD precautions!
  • - Use only approved cables.
  • - Warm up the DUT.
  • </Comments>
  • <Icon>EyeMeasBtn.png</Icon>
  • <ValidMode>Eye</ValidMode>
  • <Icon>EyeMeasBtn.png</Icon>
  • <MeasurementType>2</MeasurementType>
  • <Variable Name="Frequency" Value="10.125e9" />
  • <Dependent Name = "Rise Time"> <!-- Eye mode's Rise Time measurement. -->
  • <SourceIndex>2</SourceIndex> <!-- Measure source waveform 2. -->
  • </Dependent>
  • </Measurement>

Comments

You can add comments to your XML files using the <!-- and --> delimiters as shown here. Comments can be on their own line, at the end of a line, or extend over several lines.

<!-- This is my comment! -->


<Abbreviation> Element

Use this optional element to specify an shortened measurement name to display on FlexDCA's measurement results table. The abbreviated measurement name also appears on the associated tab in the User Measurement Setup dialog box. The abbreviated name string is limited in length to 15 characters. If this element is missing in the XML file, the default abbreviation is the name specified by the <Name> element.

  • <Abbreviation>EyeMeas</Abbreviation>
  • XML file elements

Parent Elements

  • <Measurement>

Child Elements

None.

Attributes

None.

Example

  • <Measurement>
  • <Name>3rd Order Fltr</Name>
  • <Abbreviation>3rdFltr</Abbreviation>
  • …
  • …
  • </Measurement>


<Comments> Element

Use this optional element to write a comment on the User Measurement Setup dialog box. The comment is typically used to describe the purpose of the measurement and is limited in length to 512 characters. To include line breaks, simply press the keyboard's Enter key as you would when typing in a word processor. For example:

  • <Comments>Before starting the measurement:
  • - Use ESD precautions!
  • - Use only approved cables.
  • - Warm up the DUT.
  • </Comments>
  • XML file elements

Parent Elements

  • <Measurement>

Child Elements

None

Attributes

None

Example

  • <Measurement>
  • …
  • <Comments>Before starting the measurement:
  • - Use ESD precautions!
  • - Use only approved cables.
  • - Warm up the DUT.
  • </Comments>
  • …
  • </Measurement>


<Dependent> Element

Use the <Dependent> element to select a standard FlexDCA measurement that automatically runs before the script performs its measurement on the source waveform. Up to four <Dependent> elements and therefore four dependent measurements can be selected for any single user measurement. The resulting dependent measurement data is passed from FlexDCA to MATLAB or Python as a MeasData object. The dependent measurement data is organized in the same order that the measurements are listed in the XML file. The following fields shows the data available for each measurement in the structure.

Accessing Measurement Data within MATLAB
Measurement Data | Method Used to Access Data
Name | MeasData(int).Name
Result | MeasData(int).Result
Status | MeasData(int).Status
Units | MeasData(int).Units
Source1 | MeasData(int).Source1
Source2 | MeasData(int).Source2

MeasData takes an integer argument that selects the measurement. It indexes the measurement based on 1. For example, if the following eye measurements are listed in the XML file:

  • <Dependent Name = "Rise Time" />
  • <Dependent Name = "Fall Time" />
  • <Dependent Name = "One Level" />

The result of Rise Time, the first measurement, is accessed within the MATLAB script by:

MeasData(1).Result

the result of Fall Time, the second measurement, is accessed by:

MeasData(2).Result

and, the result of One Level, the third measurement, is accessed by:

MeasData(3).Result

A separate <Dependent> statement is required for each measurement. Dependent measurements are not shown in FlexDCA's displayed results table, unless the measurement is already listed. You do not need to manually turn on the selected measurement. Not all FlexDCA measurements can be selected as a dependent. Only the measurements shown in the table in found in the Attributes section of this topic can be selected. The dependent measurements are shown on the associated tab in the User Measurement Setup dialog box.

  • <Dependent Name = "One Level">
  • </Dependent>
  • <Dependent Name = "Zero Level">
  • <SourceIndex>1</SourceIndex>
  • </Dependent>
  • <Dependent Name = "Crossing Time">
  • <SourceIndex>2</SourceIndex>
  • </Dependent>
  • <Dependent Name = "Bit Rate">
  • <SourceIndex>2</SourceIndex>
  • </Dependent>

If the user measurement takes two waveform inputs as indicated by the <MeasurementType> element, the Select Measurement Source dialog box is displayed when the measurement is started. This dialog box is shown in the following picture. In this dialog box, you select which waveform will be input Signal 1 and which waveform will be input Signal 2. When a dependent measurement is selected for a dual-input user measurement, use the <Dependent> element's <SourceIndex> child element to select Signal 1 or Signal 2 as the input to the dependent measurement. The above picture shows an example of Source 1 (Signal 1) having been selected for the One Level dependent measurement.

For each dependent measurement that you define, a dictionary of key:value pairs named MeasData is made available to MATLAB scripts and passed to Python scripts via the algorithm function's variables argument. For example, if two dependent measurements Amplitude and Peak-Peak are defined, the following key:value pairs could be available:

'MeasData':[
{'Name': 'Amplitude', 'Status': 'Correct', 'Source1': 'Channel 1A', 'Result': 0.496241, 'Units':'Volt'},
{'Name': 'Peak-Peak', 'Status': 'Correct', 'Source2': 'Channel 1B', 'Result': 0.514348, 'Units':'Volt'},
 ....]

Note

The maximum number of dependent measuremens allowed is four.

Note

If you have specified any dependent FlexDCA measurements, you do not need to run these measurements before starting your user measurement. Dependent FlexDCA measurements are automatically run.

  • XML file elements

Parent Elements

  • <Measurement>

Child Elements

  • <SourceIndex> (If missing, default source 1 waveform used.)

Attributes

Name
Identifies a FlexDCA measurement. Valid measurements and their names are listed in the following table. Measurements that are not listed in the following table cannot be selected as a dependent measurement.
Table of Measurement Name Attribute Values
Measurement | Valid Attribute Name
Oscilloscope Mode
Amplitude | Amplitude
Waveform Base | Waveform Base or Base
Duty Cycle | Duty Cycle
Fall Time | Fall Time
Frequency | Frequency
Maximum | Maximum
Minimum | Minimum
− Pulse Width | - Pulse Width or - Pulse
OMA | Optical Modulation Amplitude or OMA
Overshoot | Overshoot
Peak-Peak Amplitude | Peak-Peak Amplitude or Peak-Peak
Period | Period
+ Pulse Width | + Pulse Width or + Pulse
Preshoot | Preshoot
Rise Time | Rise Time
Time at Max | Time at Max
Time at Min | Time at Min
Waveform Top | Waveform Top or Top
Amplitude at Lower | Amplitude at Lower
Amplitude at Middle | Amplitude at Middle
Amplitude at Upper | Amplitude at Upper
Eye/Mask Mode
Eye Amplitude | Eye Amplitude or Amplitude
Bit Rate | Bit Rate
Crossing % | Crossing %
Database Peak Hits | Database Peak Hits or Peak Hits
Crossing Time | Crossing Time
Signal to Noise Ratio | Signal to Noise Ratio or SNR
Fall Time | Fall Time
One Level | One Level
Rise Time | Rise Time
Zero Level | Zero Level
TDR Mode
Fall Time | Fall Time
Maximum | Maximum
Minimum | Minimum
Rise Time | Rise Time
Time at Max | Time at Max
Time at Min | Time at Min

Example

  • <Measurement>
  • …
  • <Dependent Name = "+ Pulse"> <!-- Oscilloscope mode's + pulse width measurement. -->
  • <SourceIndex>1</SourceIndex> <!-- Measure source waveform 1. -->
  • </Dependent>
  • <Dependent Name = "− Pulse"> <!-- Oscilloscope mode's &minus; pulse width measurement. -->
  • <SourceIndex>2</SourceIndex> <!-- Measure source waveform 2. -->
  • </Dependent>
  • <!-- As <SourceIndex> is missing, default source waveform 1 is selected. -->
  • <Dependent Name = "Top"> <!-- Oscilloscope mode's waveform top measurement. -->
  • </Dependent>
  • …
  • </Measurement>


<Icon> Element

When the user measurement is created, an associated measurement button appears on FlexDCA's User tab. The optional <Icon> element allows you to display (overlay) a custom image on the button. This picture shows two user measurement buttons. The middle button was created using a custom icon. The bottom button is a default button (without an icon).

To create an icon, use a camera or drawing application and create a png, bmp, or jpg graphic. Although FlexDCA will scale the image, it is recommended that your graphic be 120 pixels wide by 80 pixels high (1.5 width to height ratio). The minimum size should be 60 pixels by 40 pixels. The 120 x 80 pixel high will ensure good quality buttons for all display situations.

The default folder for icons is the same User Measurements folder where the XML file is placed. Specify the picture's path and name between the opening and closing elements. If, for example, you placed your graphic file in a sub-folder called icons, the path/name specifier would be:

<Icon>icons/my_icon.png</Icon>
  • XML file elements

Parent Elements

  • <Measurement>

Child Elements

None

Attributes

None

Example

  • <Measurement>
  • <Name>My Eye MEas</Name>
  • <Abbreviation>MyEye</Abbreviation>
  • <Icon>EyeMeasBtn.png</Icon>
  • …
  • </Measurement>


<Measurement> Element

This is the root element of user measurement XML files. This element is required. It declares that the XML file defines a user measurement and not a user function. Always place the <Measurement> element directly after the XML declaration line as shown in example below.

  • XML file elements

Parent Elements

None

Child Elements

All other elements are descendent elements.

Attributes

The attributes for this element should never be changed and should be copied from the example in this topic.

xmlns:xsi
"http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation
"Functions.xsd"

Example

  • <Measurement>
  • …
  • </Measurement>


<MeasurementType> Element

Use this optional element to enter a digit (1 or 2) that specifies if the measurement script requires one or two source waveforms. If additional characters are added past the first character, they are ignored. Therefore, you can add additional characters to help you remember what these numbers represent. For example, you can specify strings like "1 eye", "2 waveforms", or "1 source". In the following line, only the character ("2") is read.

  • <MeasurementType>2 signals</MeasurementType>

In the User Measurement Setup dialog box, the Type setting listing always labels the number as "Source". If this element is missing from the XML file, the user measurement defaults to using one source waveform.

  • <MeasurementType>2 Source</MeasurementType>
  • XML file elements

Parent Elements

<Measurement>

Child Elements

None

Attributes

None

Example

  • <Measurement>
  • …
  • <MeasurementType>2</MeasurementType>
  • …
  • </Measurement>


<Name> Element

Use this optional element to specify a measurement name to appear on the measurement button that is placed on FlexDCA's User tab. The measurement name string entered with this element appears on the button. The measurement name also appears on the associated tab in the User Measurement Setup dialog box. Due to limited space on the measurement button, the name string is limited in length to 15 characters. Use the <Abbreviation> element to enter a shortened measurement name that appears on FlexDCA's measurement results table. Use the optional <Icon> element to place a custom picture on the button. If this element is missing from the XML file, the default name is the first 15 characters of the script file's name.

  • <Name>My Eye Meas</Name>
  • XML file elements

Parent Elements

<Measurement>

Child Elements

None

Attributes

None

Example

  • <Measurement>
  • …
  • <Name>My Eye MEas</Name>
  • <Abbreviation>MyEye</Abbreviation>
  • <Icon>EyeMeasBtn.png</Icon>
  • …
  • …
  • </Measurement>


<Script> Element

Use this element to specify the Matlab or Python script to run. The filename extension (.m, .exe, or .py) must be included. A path is required if the script is located in a folder other than the default \User Measurements folder. The script can be based on any of the following file types that you create:

  • MATLAB scripts (*.m)
  • MATLAB Standalone Application (*.exe)
  • Python scripts (*.py)

Note

Do not use spaces or hyphens when selecting a filename for your script.

  • XML file elements

Parent Elements

  • <Measurement>

Child Elements

None

Attributes

None

Example

  • <Measurement>
  • …
  • <Script>EyeMeasurement.m</Script>
  • …
  • </Measurement>


<SourceIndex> Element

When a dependent measurement is selected for a dual-input user measurement, use the <SourceIndex> element to select Signal 1 or Signal 2 as the input to a dependent measurement. When you start the user measurement, the Select Measurement Source dialog box is displayed as shown in the following picture. In this picture, Channel 5A is selected for Signal 1 and Channel 6A is selected for Signal 2. The example at the end of this topic shows Signal 2 selected for a dependent measurement.

  • XML file elements

Parent Elements

  • <Dependent>

Child Elements

None

Attributes

None

Example

  • <Measurement>
  • …
  • <Script>My Measurement.py</Script>
  • …
  • <MeasurementType>2</MeasurementType>
  • <Dependent Name = "+ Pulse"> <!-- Oscilloscope mode's + pulse width measurement. -->
  • <SourceIndex>2</SourceIndex> <!-- Measure source waveform 2. -->
  • </Dependent>
  • <!-- As <SourceIndex> is missing, default source waveform 1 is selected. -->
  • <Dependent Name = "Top"> <!-- Oscilloscope mode's waveform top measurement. -->
  • </Dependent>
  • …
  • </Measurement>


<ValidMode> Element

Use this element to specify which FlexDCA mode the script is designed to work in. If FlexDCA is not in the specified mode when the user measurement is started, a messege is displayed.

ValidMode Examples
FlexDCA Mode | Element Example
Oscilloscope | <ValidMode>Scope</ValidMode>
Eye/Mask | <ValidMode>Eye</ValidMode>
TDR/TDT | <ValidMode>TDR</ValidMode>
Jitter | Not supported by user measurements.
  • XML file elements

Parent Elements

  • <Measurement>

Child Elements

None

Attributes

None

Example

  • <Measurement>
  • …
  • <ValidMode>Eye</ValidMode>
  • …
  • …
  • </Measurement>


<Variable> Element

This element allows you to define up to four variables. To pass a variable to the script, include both the Name attribute and the associated Value attribute. If multiple variables are needed, use a separate <Variable> element to define each variable. The variable name with value is shown in the User Measurement Setup dialog box. Any space character in the Name attribute is removed. When the XML file is loaded, FlexDCA does not confirm that the variable is in the script file.

Note

Do not use spaces or hyphens when naming your variables.

  • <Variable Name = "Frequency" Value = "10.125E9"/>

<Variable> is an empty element. It does not accept any content between the opening and closing tags. All information is included in the element's attributes. Because this is an empty element, you can write it using a closing tag:

  • <Variable Name = "Frequency" Value = "10.125E9"></Variable> <!-- Opening and closing tags -->

or with a self-closing opening tag. Notice in the above example that the opening element must end with the "/>" characters instead of the usual ">" character.

  • <Variable Name = "Frequency" Value = "10.125E9" /> <!-- Self closing tag -->
  • <Variable Name = "Frequency" Value = "10.125E9" > <!-- Illegal. Missing "/" character. No closing tag -->

Note

The maximum number of variables allowed is four.

  • XML file elements

Parent Elements

  • <Measurement>

Child Elements

None

Attributes

Enclose attributes values in double quotes.

Name
The name of a script variable that will be passed to the script when the measurement is run.
Value
The value of the variable given in the Name attribute.

Example

  • <Measurement>
  • …
  • <Variable Name="FType" Value="low" />
  • <Variable Name="Frequency" Value="10.125e9" />
  • <Variable Name="N" Value="42"></Variable>
  • …
  • </Measurement>


# -*- coding: utf-8 -*-
"""
binary_transfer_eye.py (Python 3.X)

Establishes Basic Communication with FlexDCA
This script opens a connection to FlexDCA, installs a simulated module and,
in Eye mode, returns the time scale and eye height measurement.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""

import sys
import decimal as dc
import visa # http://pyvisa.sourceforge.net

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
CHANNEL = '5A'
IOTIMEOUT = 20000
"""______________________________________________________________________
"""

def introductory_text():
    """ Prints short description of script.
    """
    print('\nEstablishes a connection to FlexDCA offline.\n' + \
            'A simulated module is installed in slot 5. The eye data is\n' + \
            'acquired and displayed in a inline matplotlib plot.\n' + \
            'The graph is also saved to "eye_diagram.png" graphics file.')
    print('-' * 50)
    print('Required setup:')
    print('    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
            '      correct VISA address.')
    s = input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def default_setup():
    """ Identifies FlexDCA and performs default setup.
    """

    s = FlexDCA.query('*IDN?') # Identify FlexDCA
    print('\nConnection established to this FlexDCA:\n' + s)
    FlexDCA.write('*CLS') # Clear FlexDCA's status and error registers
    return handle_OPC_query(':SYSTem:DEFault','Default setup', verbose=True)

def install_simulated_module(channel):
    """ Installs a simulated dual-electrical module in slot 5 and
    configures module.
    """
    slot = channel[0]
    FlexDCA.write(':EMODules:SLOT'+slot+':SELection DEMini') # Install module
    FlexDCA.write(':SOURce'+channel+':DRATe 9.95328E+9')
    FlexDCA.write(':SOURce'+channel+':WTYPe DATA')
    FlexDCA.write(':SOURce'+channel+':PLENgth 127')
    FlexDCA.write(':SOURce'+channel+':AMPLitude 90E-3') # 90 mV amplitude
    FlexDCA.write(':SOURce'+channel+':NOISe:RN 3.0E-6') # Add 3 uV random noise
    FlexDCA.write(':SOURce'+channel+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
    FlexDCA.write(':CHANnel'+channel+':DISPlay ON')
    handle_OPC_query(':SYSTem:MODE EYE','Eye mode', verbose=True)
    handle_OPC_query('SYSTem:AUToscale','Autoscale', verbose=True)
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def acquire_waveforms():
    """ Run acquisition limit test and acquire 200 waveforms """

    FlexDCA.timeout = 60000 # 60s
    print('Acquiring waveforms. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 100')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquire waveforms', verbose=True)
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command, feature, verbose=False):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short. A successful
    query will not be printed unless verbose is True.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            sys.stdout.flush() # Flush print message in stdout
            return False
        elif verbose:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR occured during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.', flush=True)
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:', flush=True)
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

def check_errors():
    """ Check FlexDCA's message buffer and print all existing errors. """

    finished = False
    while not finished:
        FlexDCA.write(':SYSTem:ERRor:NEXT?')
        s = FlexDCA.read()
        errornum = s.split(',')
        if (errornum[0] == '0'):
            finished = True
            continue
        print('Error: ' + s)

def get_eye_data(channel):
    valid_eye_header = b'#71565084'
    FlexDCA.write(':WAVeform:SOURce CHANnel'+channel)
    xorg = FlexDCA.query(':WAVeform:EYE:XORigin?')
    yorg = FlexDCA.query(':WAVeform:EYE:YORigin?')
    xinc = FlexDCA.query(':WAVeform:EYE:XINCrement?')
    yinc = FlexDCA.query(':WAVeform:EYE:YINCrement?')

    xstart = eng_notation(xorg, '0.2') + 's'
    xend = str(float(xorg) + (float(xinc) * 750))
    xend = eng_notation(xend, '0.2') + 's'

    ymin = eng_notation(yorg, '0.2') + 'V'
    ymax = str(float(yorg) + (float(yinc) * 520))
    ymax = eng_notation(ymax, '0.2') + 'V'

    endiansetting = FlexDCA.query(':SYSTem:BORDER?')
    FlexDCA.write(':SYSTem:BORDER LENDian')
    FlexDCA.write(':WAVeform:EYE:INTeger:DATa?')
    eyedata = b'' # byte string (raw bytes) in Python 3
    eyedata = FlexDCA.read_raw()
    FlexDCA.write(':SYSTem:BORDER ' + endiansetting)
    if eyedata[0:9] == valid_eye_header: # Valid header for integer eye data
        return eyedata, (xstart, xend, ymin, ymax)
    else:
        print('Returned Eye data is not valid.')
        return b'', (xstart, xend, ymin, ymax)

def draw_graph(eyedata, Labels):
    """
    Labels is a string tupple of plot labels: (xstart, xend, ymin, ymax)
    """
    import struct
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib

    fig = plt.figure(figsize=(10,8), dpi=80, edgecolor='black')
    ax = fig.add_subplot(111)
    ax.set_xlim(0,10)
    ax.set_ylim(0,8)
    ax.set_aspect('0.8')
    ax.xaxis.set_major_locator(plt.MultipleLocator(1.0))
    ax.yaxis.set_major_locator(plt.MultipleLocator(1.0))
    ax.grid(which='major', axis='both', linewidth=0.75, linestyle='-', color='0.75')
    ax.set_xticklabels(['',Labels[0],'','','','','','','','','',Labels[1],''])
    ax.set_yticklabels(['',Labels[2],'','','','0','','','',Labels[3]])
    ax.set_ylabel('Voltage', fontsize=12)
    ax.set_xlabel('Time', fontsize=12)
    plt.plot((5, 5), (0, 8), 'k-', linewidth=2) # draw center line
    plt.plot((0, 10), (4, 4), 'k-', linewidth=2) # draw center line
    fig.suptitle('Eye Diagram', y=0.85, fontsize=12)

    x = []
    y = []
    start = 9 # starting byte of data
    end = 13
    col = 0
    while col < 751:
        row = 0
        while row < 521:
            point = struct.unpack('<L', eyedata[start:end])[0]
            if point: # point has hits
                x.append(round((col / 751.0 * 10), 3)) # scaled x location
                y.append(round((row / 521.0),3) * 8) # scaled y location
            row += 1
            start += 4
            end += 4
        col += 1
    plt.scatter(x, y, s=2, color='green', alpha=1, marker='.')
    plt.savefig('eye_diagram.png',dpi=300)
    plt.show()

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
if introductory_text() and default_setup():
    install_simulated_module(CHANNEL)
    acquire_waveforms()
    eyedata, plot_labels = get_eye_data(CHANNEL)
    draw_graph(eyedata, plot_labels)

check_errors()
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
binary_transfer_eye.py (Python 2.7)

Establishes Basic Communication with FlexDCA
This script opens a connection to FlexDCA, installs a simulated module and,
in Eye mode, returns the time scale and eye height measurement.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""

import sys
import decimal as dc
import visa # http://pyvisa.sourceforge.net

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
CHANNEL = '5A'
IOTIMEOUT = 20000
"""______________________________________________________________________
"""

def introductory_text():
    """ Prints short description of script.
    """
    print('\nEstablishes a connection to FlexDCA offline.\n' + \
            'A simulated module is installed in slot 5. The eye data is\n' + \
            'acquired and displayed in a inline matplotlib plot.\n' + \
            'The graph is also saved to "eye_diagram.png" graphics file.')
    print('-' * 50)
    print('Required setup:')
    print('    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
            '      correct VISA address.')
    s = raw_input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def default_setup():
    """ Identifies FlexDCA and performs default setup.
    """

    s = FlexDCA.query('*IDN?') # Identify FlexDCA
    print('\nConnection established to this FlexDCA:\n' + s)
    FlexDCA.write('*CLS') # Clear FlexDCA's status and error registers
    return handle_OPC_query(':SYSTem:DEFault','Default setup', verbose=True)

def install_simulated_module(channel):
    """ Installs a simulated dual-electrical module in slot 5 and
    configures module.
    """
    slot = channel[0]
    FlexDCA.write(':EMODules:SLOT'+slot+':SELection DEMini') # Install module
    FlexDCA.write(':SOURce'+channel+':DRATe 9.95328E+9')
    FlexDCA.write(':SOURce'+channel+':WTYPe DATA')
    FlexDCA.write(':SOURce'+channel+':PLENgth 127')
    FlexDCA.write(':SOURce'+channel+':AMPLitude 90E-3') # 90 mV amplitude
    FlexDCA.write(':SOURce'+channel+':NOISe:RN 3.0E-6') # Add 3 uV random noise
    FlexDCA.write(':SOURce'+channel+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
    FlexDCA.write(':CHANnel'+channel+':DISPlay ON')
    handle_OPC_query(':SYSTem:MODE EYE','Eye mode', verbose=True)
    handle_OPC_query('SYSTem:AUToscale','Autoscale', verbose=True)
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def acquire_waveforms():
    """ Run acquisition limit test and acquire 200 waveforms """

    FlexDCA.timeout = 60000 # 60s
    print('Acquiring waveforms. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 500')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquire waveforms', verbose=True)
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command, feature, verbose=False):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short. A successful
    query will not be printed unless verbose is True.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            sys.stdout.flush() # Flush print message in stdout
            return False
        elif verbose:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR occured during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
        sys.stdout.flush() # Flush print message in stdout
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        sys.stdout.flush() # Flush print message in stdout
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

def check_errors():
    """ Check FlexDCA's message buffer and print all existing errors. """

    finished = False
    while not finished:
        FlexDCA.write(':SYSTem:ERRor:NEXT?')
        s = FlexDCA.read()
        errornum = s.split(',')
        if (errornum[0] == '0'):
            finished = True
            continue
        print('Error: ' + s)

def get_eye_data(channel):
    valid_eye_header = b'#71565084'
    FlexDCA.write(':WAVeform:SOURce CHANnel'+channel)
    xorg = FlexDCA.query(':WAVeform:EYE:XORigin?')
    yorg = FlexDCA.query(':WAVeform:EYE:YORigin?')
    xinc = FlexDCA.query(':WAVeform:EYE:XINCrement?')
    yinc = FlexDCA.query(':WAVeform:EYE:YINCrement?')

    xstart = eng_notation(xorg, '0.2') + 's'
    xend = str(float(xorg) + (float(xinc) * 750))
    xend = eng_notation(xend, '0.2') + 's'

    ymin = eng_notation(yorg, '0.2') + 'V'
    ymax = str(float(yorg) + (float(yinc) * 520))
    ymax = eng_notation(ymax, '0.2') + 'V'

    endiansetting = FlexDCA.query(':SYSTem:BORDER?')
    FlexDCA.write(':SYSTem:BORDER LENDian')
    FlexDCA.write(':WAVeform:EYE:INTeger:DATa?')
    eyedata = '' # A string in Python 2, which is raw bytes.
    eyedata = FlexDCA.read_raw()
    FlexDCA.write(':SYSTem:BORDER ' + endiansetting)
    if eyedata[0:9] == valid_eye_header: # Valid header for integer eye data
        return eyedata, (xstart, xend, ymin, ymax)
    else:
        print('Returned Eye data is not valid.')
        return '', (xstart, xend, ymin, ymax)

def draw_graph(eyedata, Labels):
    """
    Labels is a string tupple of plot labels: (xstart, xend, ymin, ymax)
    """
    import struct
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib

    fig = plt.figure(figsize=(10,8), dpi=80, edgecolor='black')
    ax = fig.add_subplot(111)
    ax.set_xlim(0,10)
    ax.set_ylim(0,8)
    ax.set_aspect('0.8')
    ax.xaxis.set_major_locator(plt.MultipleLocator(1.0))
    ax.yaxis.set_major_locator(plt.MultipleLocator(1.0))
    ax.grid(which='major', axis='both', linewidth=0.75, linestyle='-', color='0.75')
    ax.set_xticklabels(['',Labels[0],'','','','','','','','','',Labels[1],''])
    ax.set_yticklabels(['',Labels[2],'','','','0','','','',Labels[3]])
    ax.set_ylabel('Voltage', fontsize=12)
    ax.set_xlabel('Time', fontsize=12)
    plt.plot((5, 5), (0, 8), 'k-', linewidth=2) # draw center line
    plt.plot((0, 10), (4, 4), 'k-', linewidth=2) # draw center line
    fig.suptitle('Eye Diagram', y=0.85, fontsize=12)

    x = []
    y = []
    start = 9 # starting byte of data
    end = 13
    col = 0
    while col < 751:
        row = 0
        while row < 521:
            point = struct.unpack('<L', eyedata[start:end])[0]
            if point: # point has hits
                x.append(round((col / 751.0 * 10), 3)) # scaled x location
                y.append(round((row / 521.0),3) * 8) # scaled y location
            row += 1
            start += 4
            end += 4
        col += 1
    plt.scatter(x, y, s=2, color='green', alpha=1, marker='.')
    plt.savefig('eye_diagram.png',dpi=300)
    plt.show()

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
if introductory_text() and default_setup():
    install_simulated_module(CHANNEL)
    acquire_waveforms()
    eyedata, plot_labels = get_eye_data(CHANNEL)
    draw_graph(eyedata, plot_labels)

check_errors()
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
binary_transfer_eye.py (Python 3.X)

Establishes Basic Communication with FlexDCA
This script opens a connection to FlexDCA, installs a simulated module and,
in Eye mode, returns the time scale and eye height measurement.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""

import sys
import decimal as dc
import visa # http://pyvisa.sourceforge.net

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
CHANNEL = '5A'
IOTIMEOUT = 20000
"""______________________________________________________________________
"""

def introductory_text():
    """ Prints short description of script.
    """
    print('\nEstablishes a connection to FlexDCA offline.\n' + \
            'A simulated module is installed in slot 5. Turns on pattern\n' + \
            'lock and acquires entire pattern. Binary pattern data is\n' + \
            'returned and plotted in an inline matplotlib plot.\n' + \
            'The graph is also saved to "pattern_waveform.png" graphics file.')
    print('-' * 50)
    print('Required setup:')
    print('    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
            '      correct VISA address.')
    s = input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def default_setup():
    """ Identifies FlexDCA and performs default setup.
    """

    s = FlexDCA.query('*IDN?') # Identify FlexDCA
    print('\nConnection established to this FlexDCA:\n' + s)
    FlexDCA.write('*CLS') # Clear FlexDCA's status and error registers
    return handle_OPC_query(':SYSTem:DEFault','Default setup', verbose=True)

def install_simulated_module(channel):
    """ Installs a simulated dual-electrical module in slot 5 and
    configures module.
    """
    slot = channel[0]
    FlexDCA.write(':EMODules:SLOT'+slot+':SELection DEMini') # Install module
    FlexDCA.write(':SOURce'+channel+':DRATe 9.95328E+9')
    FlexDCA.write(':SOURce'+channel+':WTYPe DATA')
    FlexDCA.write(':SOURce'+channel+':PLENgth 127')
    FlexDCA.write(':SOURce'+channel+':AMPLitude 90E-3') # 90 mV amplitude
    FlexDCA.write(':SOURce'+channel+':NOISe:RN 3.0E-6') # Add 3 uV random noise
    FlexDCA.write(':SOURce'+channel+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
    FlexDCA.write(':CHANnel'+channel+':DISPlay ON')
    handle_OPC_query(':SYSTem:MODE OSCilloscope','Scope mode', verbose=True)
    handle_OPC_query('SYSTem:AUToscale','Autoscale', verbose=True)
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def acquire_waveforms():
    """ Run acquisition limit test and acquire 16 waveforms """

    FlexDCA.timeout = 60000 # 60s
    print('Acquiring 16 pattern waveforms. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query('TRIGger:PLOCk ON','Pattern lock', verbose=False)
    pattern_length = FlexDCA.query(':TRIGger:PLENgth?') # get pattern length
    FlexDCA.write(':ACQuire:EPATtern ON') # acquire entire pattern
    if FlexDCA.query(':WAVeform:PATTern:COMPlete?'): # state of pattern lock
        FlexDCA.write(':TIMebase:BRANge ' + pattern_length) # view entire pattern
        FlexDCA.write(':TIMebase:POSition 0')
        FlexDCA.write(':ACQuire:ECOunt 16') # averaging with 16 waveforms
        FlexDCA.write(':ACQuire:SMOothing AVERage')
        FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
        FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
        FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 16')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        handle_OPC_query(':ACQuire:RUN','Acquire waveforms', verbose=True)
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        FlexDCA.timeout = IOTIMEOUT
        return True
    else:
        return False

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command, feature, verbose=False):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short. A successful
    query will not be printed unless verbose is True.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            sys.stdout.flush() # Flush print message in stdout
            return False
        elif verbose:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR occured during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.', flush=True)
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:', flush=True)
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

def check_errors():
    """ Check FlexDCA's message buffer and print all existing errors. """

    finished = False
    while not finished:
        FlexDCA.write(':SYSTem:ERRor:NEXT?')
        s = FlexDCA.read()
        errornum = s.split(',')
        if (errornum[0] == '0'):
            finished = True
            continue
        print('Error: ' + s)

def get_pattern_data(channel):
    y_data = b'' # byte string (raw bytes) in Python 3
    x_data = b''
    values = {'p_length':'',
              'p_points':'',
              'xmin':'',
              'xmax':'',
              'ymin':'',
              'ymax':'',
              'xscale':'',
              'yscale':''}

    FlexDCA.write(':WAVeform:SOURce CHANnel'+channel)
    values['p_length'] = FlexDCA.query(':WAVeform:PATTern:BITS?')
    values['p_points'] = FlexDCA.query(':WAVeform:XYFORmat:POINts?')
    values['xmin'] = FlexDCA.query(':TIMebase:XLEFt?')
    values['xmax'] = FlexDCA.query(':TIMebase:XRIGht?')
    values['ymin'] = FlexDCA.query(':CHANnel' + channel + ':YBOTTom?')
    values['ymax'] = FlexDCA.query(':CHANnel' + channel + ':YTOP?')
    values['xscale'] = FlexDCA.query(':TIMebase:SCALe?')
    values['yscale'] = FlexDCA.query(':CHANnel' + channel + ':YSCale?')
    print('-' * 30)
    print('X-scale maximum: ' + eng_notation(values['xmax'], '1.00') + 's')
    print('X-scale minimum: ' + eng_notation(values['xmin'], '1.00') + 's')
#    print('Time scale: ' + eng_notation(values['xscale'], '1.00') + 's/div')
    print('Y-scale maximum: ' + eng_notation(values['ymax'], '1.00') + 'V')
    print('Y-scale minimum: ' + eng_notation(values['ymin'], '1.00') + 'V')
#    print('Amplitude scale: ' + eng_notation(values['yscale'], '1.0') + 'V/div')
    print('Pattern length: ' + values['p_length'] + ' bits')
    print('-' * 30)
    endiansetting = FlexDCA.query(':SYSTem:BORDER?') # get current byte order
    FlexDCA.write(':SYSTem:BORDER LENDian') # set little endian byte order
    FlexDCA.write(':WAVeform:XYFORmat:FLOat:YDATa?')
    y_data = FlexDCA.read_raw()
    FlexDCA.write(':WAVeform:XYFORmat:FLOat:XDATa?')
    x_data = FlexDCA.read_raw()
    FlexDCA.write(':SYSTem:BORDER ' + endiansetting)

    if x_data: # Valid header for integer eye data
        return y_data, x_data, values
    else:
        print('Returned pattern data is not valid.')
        return b'', b'', values

def decode_binary_data(waveform, decodekey, axis):
    """
    Example header: b'#44060'.
    Format specifiers for struct.unpack:
    b: signed byte
    B: unsigned byte
    h: signed short integer
    H: unsigned short integer
    i: signed integer
    I: unsigned integer
    l: signed long integer
    L: unsigned long integer
    Q: unsigned long long integer
    f: single precision float
    d: double precision float
    """

    import struct
    decoded_data = []
    s = waveform[0:20].decode('ascii','replace') # first 20 bytes to search header
    start_loc = s.find('#') # locaton of header start byte
    header_count = int(s[start_loc + 1]) # get digit count number. eg. '4'
    data_cnt_start = start_loc + 2 # location of byte count chars. eg '4060'
    start_of_data = data_cnt_start + header_count # location of first data byte
    number_of_bytes = int(s[data_cnt_start:start_of_data]) # eg 4060
    if axis in 'y':
        print('Y values binary data:')
    else:
        print('X values binary data:')
    print('   Binary data header: ' + s[:start_of_data])
    print('   Number of binary data bytes: ' + str(number_of_bytes))
    bytes_in_number = {'b':1,'B':1,'h':2,'H':2,'i':4,'I':4,'l':4,'L':4,'Q':8,
                       'f':4,'d':8}
    num_size = bytes_in_number[decodekey[1]]
    numbers = int(number_of_bytes / num_size)
    print('   Data points: ' + str(numbers))
    num = 0
    while num < numbers:
        # array index at end of line gets number from tupple
        large_float = struct.unpack(decodekey, waveform[start_of_data:start_of_data + num_size])[0]
        if axis in 'y':
            decoded_data.append(large_float * 1E3) # data in mV
        else:
            decoded_data.append(large_float * 1E9) # data in ns
        start_of_data += num_size
        num += 1
    return decoded_data

def draw_graph(ydata, xdata, values):
    """

    """
    import numpy as np
    import matplotlib.pyplot as plt

    xmin = round(float(values['xmin']) * 1E9, 1)
    xmax = round(float(values['xmax']) * 1E9, 2)
    ymin = round(float(values['ymin']) * 1E3, 1)
    ymax = round(float(values['ymax']) * 1E3, 1)

    title = values['p_length'] + ' Bit Pattern Waveform'
    plt.figure(figsize=(8,6),dpi=80)
    plt.plot(xdata,ydata,'g-') # data points hidden. line only
    plt.title(title)
    plt.xlabel('Time (ns)')
    plt.ylabel('Voltage (mV)')

    y_ticks = np.linspace(ymin, ymax, num=9, endpoint=True)
    y_axis_midpoint = round(ymax - (ymax-ymin)/2.0, 1)
    s = str(y_axis_midpoint)
    y_text = (str(ymin),'','','',s,'','','',str(ymax))
    plt.yticks(y_ticks, y_text)

    x_ticks = np.linspace(xmin, xmax, num=11, endpoint=True)
    x_text = (str(xmin),'','','','','','','','','',str(xmax))
    plt.xticks(x_ticks, x_text)

    plt.grid(b=True, which='major', axis='both')
    plt.ylim(ymin, ymax)
    plt.xlim(xmin, xmax)
    plt.savefig('pattern_waveform.png',dpi=150)
    plt.show()

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
if introductory_text() and default_setup():
    install_simulated_module(CHANNEL)
    if acquire_waveforms():
        y_data, x_data, values = get_pattern_data(CHANNEL)
        ydata = decode_binary_data(y_data, '<f', 'y') # y data
        xdata = decode_binary_data(x_data, '<f', 'x') # x data
        print('-' * 30)
        draw_graph(ydata, xdata, values)
    else:
        print('Configuring the pattern waveform failed.')

check_errors()
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
binary_transfer_eye.py (Python 3.X)

Establishes Basic Communication with FlexDCA
This script opens a connection to FlexDCA, installs a simulated module and,
in Eye mode, returns the time scale and eye height measurement.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""

import sys
import decimal as dc
import visa # http://pyvisa.sourceforge.net

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
CHANNEL = '5A'
IOTIMEOUT = 20000
"""______________________________________________________________________
"""

def introductory_text():
    """ Prints short description of script.
    """
    print('\nEstablishes a connection to FlexDCA offline.\n' + \
            'A simulated module is installed in slot 5. Turns on pattern\n' + \
            'lock and acquires entire pattern. Binary pattern data is\n' + \
            'returned and plotted in an inline matplotlib plot.\n' + \
            'The graph is also saved to "pattern_waveform.png" graphics file.')
    print('-' * 50)
    print('Required setup:')
    print('    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
            '      correct VISA address.')
    s = raw_input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def default_setup():
    """ Identifies FlexDCA and performs default setup.
    """

    s = FlexDCA.query('*IDN?') # Identify FlexDCA
    print('\nConnection established to this FlexDCA:\n' + s)
    FlexDCA.write('*CLS') # Clear FlexDCA's status and error registers
    return handle_OPC_query(':SYSTem:DEFault','Default setup', verbose=True)

def install_simulated_module(channel):
    """ Installs a simulated dual-electrical module in slot 5 and
    configures module.
    """
    slot = channel[0]
    FlexDCA.write(':EMODules:SLOT'+slot+':SELection DEMini') # Install module
    FlexDCA.write(':SOURce'+channel+':DRATe 9.95328E+9')
    FlexDCA.write(':SOURce'+channel+':WTYPe DATA')
    FlexDCA.write(':SOURce'+channel+':PLENgth 127')
    FlexDCA.write(':SOURce'+channel+':AMPLitude 90E-3') # 90 mV amplitude
    FlexDCA.write(':SOURce'+channel+':NOISe:RN 3.0E-6') # Add 3 uV random noise
    FlexDCA.write(':SOURce'+channel+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
    FlexDCA.write(':CHANnel'+channel+':DISPlay ON')
    handle_OPC_query(':SYSTem:MODE OSCilloscope','Scope mode', verbose=True)
    handle_OPC_query('SYSTem:AUToscale','Autoscale', verbose=True)
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def acquire_waveforms():
    """ Run acquisition limit test and acquire 16 waveforms """

    FlexDCA.timeout = 60000 # 60s
    print('Acquiring 16 pattern waveforms. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query('TRIGger:PLOCk ON','Pattern lock', verbose=False)
    pattern_length = FlexDCA.query(':TRIGger:PLENgth?') # get pattern length
    FlexDCA.write(':ACQuire:EPATtern ON') # acquire entire pattern
    if FlexDCA.query(':WAVeform:PATTern:COMPlete?'): # state of pattern lock
        FlexDCA.write(':TIMebase:BRANge ' + pattern_length) # view entire pattern
        FlexDCA.write(':TIMebase:POSition 0')
        FlexDCA.write(':ACQuire:ECOunt 16') # averaging with 16 waveforms
        FlexDCA.write(':ACQuire:SMOothing AVERage')
        FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
        FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
        FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 16')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        handle_OPC_query(':ACQuire:RUN','Acquire waveforms', verbose=True)
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        FlexDCA.timeout = IOTIMEOUT
        return True
    else:
        return False

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command, feature, verbose=False):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short. A successful
    query will not be printed unless verbose is True.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            sys.stdout.flush() # Flush print message in stdout
            return False
        elif verbose:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR occured during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
        sys.stdout.flush() # Flush print message in stdout
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        sys.stdout.flush() # Flush print message in stdout
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

def check_errors():
    """ Check FlexDCA's message buffer and print all existing errors. """

    finished = False
    while not finished:
        FlexDCA.write(':SYSTem:ERRor:NEXT?')
        s = FlexDCA.read()
        errornum = s.split(',')
        if (errornum[0] == '0'):
            finished = True
            continue
        print('Error: ' + s)

def get_pattern_data(channel):
    y_data = b'' # byte string (raw bytes) in Python 3
    x_data = b''
    values = {'p_length':'',
              'p_points':'',
              'xmin':'',
              'xmax':'',
              'ymin':'',
              'ymax':'',
              'xscale':'',
              'yscale':''}

    FlexDCA.write(':WAVeform:SOURce CHANnel'+channel)
    values['p_length'] = FlexDCA.query(':WAVeform:PATTern:BITS?')
    values['p_points'] = FlexDCA.query(':WAVeform:XYFORmat:POINts?')
    values['xmin'] = FlexDCA.query(':TIMebase:XLEFt?')
    values['xmax'] = FlexDCA.query(':TIMebase:XRIGht?')
    values['ymin'] = FlexDCA.query(':CHANnel' + channel + ':YBOTTom?')
    values['ymax'] = FlexDCA.query(':CHANnel' + channel + ':YTOP?')
    values['xscale'] = FlexDCA.query(':TIMebase:SCALe?')
    values['yscale'] = FlexDCA.query(':CHANnel' + channel + ':YSCale?')
    print('-' * 30)
    print('X-scale maximum: ' + eng_notation(values['xmax'], '1.00') + 's')
    print('X-scale minimum: ' + eng_notation(values['xmin'], '1.00') + 's')
#    print('Time scale: ' + eng_notation(values['xscale'], '1.00') + 's/div')
    print('Y-scale maximum: ' + eng_notation(values['ymax'], '1.00') + 'V')
    print('Y-scale minimum: ' + eng_notation(values['ymin'], '1.00') + 'V')
#    print('Amplitude scale: ' + eng_notation(values['yscale'], '1.0') + 'V/div')
    print('Pattern length: ' + values['p_length'] + ' bits')
    print('-' * 30)
    endiansetting = FlexDCA.query(':SYSTem:BORDER?') # get current byte order
    FlexDCA.write(':SYSTem:BORDER LENDian') # set little endian byte order
    FlexDCA.write(':WAVeform:XYFORmat:FLOat:YDATa?')
    y_data = FlexDCA.read_raw()
    FlexDCA.write(':WAVeform:XYFORmat:FLOat:XDATa?')
    x_data = FlexDCA.read_raw()
    FlexDCA.write(':SYSTem:BORDER ' + endiansetting)

    if x_data: # Valid header for integer eye data
        return y_data, x_data, values
    else:
        print('Returned pattern data is not valid.')
        return b'', b'', values

def decode_binary_data(waveform, decodekey, axis):
    """
    Example header: b'#44060'.
    Format specifiers for struct.unpack:
    b: signed byte
    B: unsigned byte
    h: signed short integer
    H: unsigned short integer
    i: signed integer
    I: unsigned integer
    l: signed long integer
    L: unsigned long integer
    Q: unsigned long long integer
    f: single precision float
    d: double precision float
    """

    import struct
    decoded_data = []
    s = waveform[0:20].decode('ascii','replace') # first 20 bytes to search header
    start_loc = s.find('#') # locaton of header start byte
    header_count = int(s[start_loc + 1]) # get digit count number. eg. '4'
    data_cnt_start = start_loc + 2 # location of byte count chars. eg '4060'
    start_of_data = data_cnt_start + header_count # location of first data byte
    number_of_bytes = int(s[data_cnt_start:start_of_data]) # eg 4060
    if axis in 'y':
        print('Y values binary data:')
    else:
        print('X values binary data:')
    print('   Binary data header: ' + s[:start_of_data])
    print('   Number of binary data bytes: ' + str(number_of_bytes))
    bytes_in_number = {'b':1,'B':1,'h':2,'H':2,'i':4,'I':4,'l':4,'L':4,'Q':8,
                       'f':4,'d':8}
    num_size = bytes_in_number[decodekey[1]]
    numbers = int(number_of_bytes / num_size)
    print('   Data points: ' + str(numbers))
    num = 0
    while num < numbers:
        # array index at end of line gets number from tupple
        large_float = struct.unpack(decodekey, waveform[start_of_data:start_of_data + num_size])[0]
        if axis in 'y':
            decoded_data.append(large_float * 1E3) # data in mV
        else:
            decoded_data.append(large_float * 1E9) # data in ns
        start_of_data += num_size
        num += 1
    return decoded_data

def draw_graph(ydata, xdata, values):
    """

    """
    import numpy as np
    import matplotlib.pyplot as plt

    xmin = round(float(values['xmin']) * 1E9, 1)
    xmax = round(float(values['xmax']) * 1E9, 2)
    ymin = round(float(values['ymin']) * 1E3, 1)
    ymax = round(float(values['ymax']) * 1E3, 1)

    title = values['p_length'] + ' Bit Pattern Waveform'
    plt.figure(figsize=(8,6),dpi=80)
    plt.plot(xdata,ydata,'g-') # data points hidden. line only
    plt.title(title)
    plt.xlabel('Time (ns)')
    plt.ylabel('Voltage (mV)')

    y_ticks = np.linspace(ymin, ymax, num=9, endpoint=True)
    y_axis_midpoint = round(ymax - (ymax-ymin)/2.0, 1)
    s = str(y_axis_midpoint)
    y_text = (str(ymin),'','','',s,'','','',str(ymax))
    plt.yticks(y_ticks, y_text)

    x_ticks = np.linspace(xmin, xmax, num=11, endpoint=True)
    x_text = (str(xmin),'','','','','','','','','',str(xmax))
    plt.xticks(x_ticks, x_text)

    plt.grid(b=True, which='major', axis='both')
    plt.ylim(ymin, ymax)
    plt.xlim(xmin, xmax)
    plt.savefig('pattern_waveform.png',dpi=150)
    plt.show()

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
if introductory_text() and default_setup():
    install_simulated_module(CHANNEL)
    if acquire_waveforms():
        y_data, x_data, values = get_pattern_data(CHANNEL)
        ydata = decode_binary_data(y_data, '<f', 'y') # y data
        xdata = decode_binary_data(x_data, '<f', 'x') # x data
        print('-' * 30)
        draw_graph(ydata, xdata, values)
    else:
        print('Configuring the pattern waveform failed.')

check_errors()
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
FlexDCA.read_termination = '\n'
s = FlexDCA.query('*IDN?')
print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()
print('\tFlexDCA connection closed.')


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\n\tFlexDCA connection closed.')


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.query(':SYSTem:DEFault;*OPC?') # Instrument Setup, wait for completion
    FlexDCA.write(':EMODules:SLOT5:SELection DEMini') # Add simulated module
    FlexDCA.write(':CHAN5A:DISPlay ON') # Turn channel 5A on
    FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
    FlexDCA.query(':AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
    print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' mV')
    print('\nEye Height successfully measured.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA. Please wait...')
    try:
        #FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

def query_with_OPC(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?

    """
    global ErrorList
    try:
        FlexDCA.query(command + ';*OPC?')
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] != '0': # Error occurred
            ErrorList.append(error)
            print('\n\tFlexDCA error during ' + feature)
            print('\t  Error: ' + error)
            return False
        else:
            print('\t' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
    except:
        print('\tI/O timeout during ' + feature)
        return False

def read_error_messages():
    """ Check FlexDCA's message buffer. """
    ErrorList = []
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\n\tNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tError: ' + Error)

#________________________________________
# Main script
if connect_to_FlexDCA():
    while True:
        if query_with_OPC(':SYSTem:DEFault','Default setup') == False:
            break
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini') # Add simulated module
        FlexDCA.write(':CHAN5A:DISPlay ON') # Turn channel 5A on
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
        if query_with_OPC(':AUToscale','Autoscale') == False:
            break
        FlexDCA.write(':ACQuire:SINGle') # Single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        if query_with_OPC(':ACQuire:RUN','Data acquisition') == False:
            break
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        s = FlexDCA.query(':MEASure:EYE:EHEight?')
        print('\n\tEye Height: ' + s + ' mV')

        # FORCED COMMAND ERRORS
        #FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
        #FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

        read_error_messages()
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        print('\n\tMeasurement was successful.')
        break


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
FlexDCA.read_termination = '\n'
s = FlexDCA.query('*IDN?')
print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()
print('\tConnection closed.')


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\n\t86100D connection closed.')


import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
    FlexDCA.query(':AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    print('\n\tAcquiring 150 waveforms. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
    print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
    print('\n\tEye Height successfully measured.')

    # PYTHON VERSION SPECIFIC CODE!
    #input('\n\tPress any key to continue!') # Python 3.x
    raw_input('\n\tPress any key to continue!') # Python 2.x

    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':ACQuire:RUN') # run mode
    FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements
    print('\n\tDisconnecting from 86100D\'s FlexDCA.')
    FlexDCA.query(':RDCA:DISConnect;*OPC?')
    print('\tDisconnecting from PC\'s FlexDCA.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

ErrorList = []

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::K-86100D-20108::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\n\tCan\'t connect to instrument. Incorrect address string.')
        return False

def query_with_OPC(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?

    """
    global ErrorList
    try:
        FlexDCA.query(command + ';*OPC?')
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] != '0': # Error occurred
            ErrorList.append(error)
            print('\n\tFlexDCA error during ' + feature)
            print('\t  ERROR: ' + error)
            return False
        else:
            print('\t' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\tERROR: I/O timeout during ' + feature)
        return False

def read_error_messages():
    """ Check FlexDCA's message buffer. """
    global ErrorList
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\n\tNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tERROR: ' + Error)

#________________________________________
# Main script
if not connect_to_FlexDCA():
    print('\tAborting program.')
else: # Connections was established
    while True:
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
        if query_with_OPC(':AUToscale','Autoscale') == False:
            break
        FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\n\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        if query_with_OPC(':ACQuire:RUN', 'Data acquisition') == False:
            break
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
        print('\n\tEye Height successfully measured.')

        # PYTHON VERSION SPECIFIC CODE!
        input('\n\tPress any key to continue!') # Python 3.x
        #raw_input('\n\tPress any key to continue!') # Python 2.x

        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':ACQuire:RUN') # run mode
        FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements

        # FORCED COMMAND ERRORS
        #FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
        #FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

        read_error_messages()
        break
    print('\tDisconnecting from 86100D.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()

print('\tProgram has ended.')


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
print('\n\tConnecting to FlexDCA on PC. Please wait...')
FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
FlexDCA.timeout=20000 # wait up to 20s for response from FlexDCA
FlexDCA.read_termination = '\n'
s = FlexDCA.query('*IDN?')
print('\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
print('\n\tConnecting FlexDCA to 86100D. Please wait...')
FlexDCA.write(':RDCA:CONNect:METhod LAN')
FlexDCA.write(':RDCA:CONNect:MODE STANdard')
FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')
FlexDCA.query(':RDCA:CONNect;*OPC?')
s = FlexDCA.query('*IDN?')
print('\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
FlexDCA.query(':RDCA:DISConnect;*OPC?')
print('\n\tFlexDCA on 86100D is disconnected.')
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()
print('\tFlexDCA on PC is disconnected.')


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA on PC. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\tFlexDCA connection established to:\n\t' + s)
        return True
    except:
        print('\n\tCan\'t connect to FlexDCA on PC. Incorrect address string.')
        return False

def connect_FlexDCA_to_86100D():
    """Opens connections from FlexDCA to FlexDCA. """
    ErrorList = []
    print('\n\tConnecting to FlexDCA on 86100D. Please wait...')
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    s = FlexDCA.query('*IDN?')
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\tFlexDCA connection established to:\n\t' + s)
        return True
    else:
        count = str(len(ErrorList))
        print('\t  ' + count + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tError: ' + Error)
        s = '\n\tCan\'t connect to FlexDCA on 86100D. Ending program.'
        print(s)
        return False

#________________________________________
# Main script

if not connect_to_FlexDCA():
    print('\tAborting attempt to connect to 86100D.')
elif connect_FlexDCA_to_86100D():
    print('\n\tDisconnecting from 86100D\'s FlexDCA.')
    FlexDCA.query(':RDCA:DISConnect;*OPC?')
    print('\tDisconnecting from PC\'s FlexDCA.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else:
    print('\tDisconnecting from PC\'s FlexDCA.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
print('\tProgram has ended.')


import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA on PC. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\tFlexDCA connection established to:\n\t' + s)
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\n\tCan\'t connect to FlexDCA on PC. Incorrect address string.')
        return False

def connect_FlexDCA_to_86100D():
    """Opens connections from FlexDCA to FlexDCA. """
    ErrorList = []
    print('\n\tConnecting to FlexDCA on 86100D. Please wait...')
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    s = FlexDCA.query('*IDN?')
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\tFlexDCA connection established to:\n\t' + s)
        return True
    else:
        count = str(len(ErrorList))
        print('\t  ' + count + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tError: ' + Error)
        s = '\n\tCan\'t connect to FlexDCA on 86100D. Ending program.'
        print(s)
        return False

#________________________________________
# Main script

if not connect_to_FlexDCA():
    print('\tAborting program.')
elif not connect_FlexDCA_to_86100D():
    print('\tDisconnecting from PC\'s FlexDCA. Aborting program.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else: # Established all connections
    while True:
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
        FlexDCA.query(':AUToscale;*OPC?')
        FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\n\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        FlexDCA.query(':ACQuire:RUN;*OPC?')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        print('\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
        print('\tEye Height successfully measured.')
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')

        # PYTHON VERSION SPECIFIC CODE!
        input('\n\tPress any key to continue!') # Python 3.x
        #raw_input('\tPress any key to continue!') # Python 2.x

        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':ACQuire:RUN') # run mode
        FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements
        print('\n\tDisconnecting from 86100D\'s FlexDCA.')
        FlexDCA.query(':RDCA:DISConnect;*OPC?')
        print('\tDisconnecting from PC\'s FlexDCA.')
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        break

print('\tProgram has ended.')


import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

ErrorList = []

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA on PC. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 25000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\tFlexDCA connection established to:\n\t' + s)
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\n\tCan\'t connect to FlexDCA on PC. Incorrect address string.')
        return False

def connect_FlexDCA_to_86100D():
    """Opens connections from FlexDCA to FlexDCA. """
    print('\n\tConnecting to FlexDCA on 86100D. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "K-86100D-20108"')
    if query_with_OPC(':RDCA:CONNect','Connection to 86100D'):
        print('\t' + FlexDCA.query('*IDN?'))
        return True
    else:
        print('\n\tCan\'t connect to FlexDCA on 86100D. Ending program.')
        return False

def query_with_OPC(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?
    """
    global ErrorList
    try:
        FlexDCA.query(command + ';*OPC?')
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] != '0': # Error occurred
            ErrorList.append(error)
            print('\n\tFlexDCA error during ' + feature)
            print('\t  Error: ' + error)
            return False
        else:
            print('\t' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
    except:
        print('\tI/O timeout during ' + feature)
        return False

def read_error_messages():
    """ Check FlexDCA's message buffer. """
    ErrorList = []
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\n\tNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tError: ' + Error)

#________________________________________
# Main script

if not connect_to_FlexDCA():
    print('\tAborting program.')
elif not connect_FlexDCA_to_86100D():
    print('\tDisconnecting from PC\'s FlexDCA. Aborting program.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else: # All connections were established
    while True:
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode

        if query_with_OPC(':AUToscale','\n\tAutoscale') == False:
            break
        FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        if query_with_OPC(':ACQuire:RUN','Data acquisition') == False:
            break
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        print('\tMeasuring Eye Height...')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        s = FlexDCA.query(':MEASure:EYE:EHEight?')
        print('\n\tEye Height: ' + s + ' V')

        # PYTHON VERSION SPECIFIC CODE!
        input('\n\tPress any key to continue!') # Python 3.x
        #raw_input('\tPress any key to continue!') # Python 2.x

        FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements results
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':ACQuire:RUN') # run mode

        # FORCED COMMAND ERRORS
        FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
        FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

        read_error_messages()
        print('\tDisconnecting from 86100D.')
        query_with_OPC(':RDCA:DISConnect','Disconnect from 86100D')
        print('\tDisconnecting from PC\'s FlexDCA.')
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        break

print('\tProgram has ended.')


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
FlexDCA.read_termination = '\n'
s = FlexDCA.query('*IDN?')
print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()
print('\tConnection closed.')


import visa # import VISA library
rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\n\t86100D connection closed.')


import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tConnection established to:\n\t' + s) # Identify FlexDCA
        return True
    except:
        s = '\n\tCan\'t connect to instrument. Incorrect address string.\
            \n\tEnding program.'
        print(s)
        return False

#________________________________________
# Main script

print('\n\tConnecting to FlexDCA. Please wait...')
if connect_to_FlexDCA():
    FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
    FlexDCA.query(':AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    print('\n\tAcquiring waveform data. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
    print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
    print('\n\tEye Height successfully measured.')
    input('\n\tPress any key to continue!')
    FlexDCA.write(':ACQuire:CDISplay') # Clear display
    FlexDCA.write(':ACQuire:RUN') # run mode
    FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements
    print('\n\tDisconnecting from 86100D\'s FlexDCA.')
    FlexDCA.query(':RDCA:DISConnect;*OPC?')
    print('\tDisconnecting from PC\'s FlexDCA.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


import visa # import VISA library
import sys

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager

ErrorList = []

def connect_to_FlexDCA():
    """Opens a connecton to FlexDCA. """
    global FlexDCA
    print('\n\tConnecting to FlexDCA. Please wait...')
    try:
        FlexDCA=rm.open_resource('TCPIP0::localhost::hislip0,4880::INSTR')
        FlexDCA.timeout = 20000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\n\tCan\'t connect to instrument. Incorrect address string.')
        return False

def query_with_OPC(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?

    """
    global ErrorList
    try:
        FlexDCA.query(command + ';*OPC?')
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] != '0': # Error occurred
            ErrorList.append(error)
            print('\n\tFlexDCA error during ' + feature)
            print('\t  ERROR: ' + error)
            return False
        else:
            print('\t' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('\tERROR: I/O timeout during ' + feature)
        return False

def read_error_messages():
    """ Check FlexDCA's message buffer. """
    global ErrorList
    while True:
        error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
        if error[0] == '0': # no error message
            break
        ErrorList.append(error)
    if len(ErrorList) == 0:
        print('\n\tNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for Error in ErrorList:
            print('\tERROR: ' + Error)

#________________________________________
# Main script
if not connect_to_FlexDCA():
    print('\tAborting program.')
else: # Connections was established
    while True:
        FlexDCA.write(':SYSTem:MODE EYE') # Switch to Eye/Mask mode
        if query_with_OPC(':AUToscale','Autoscale') == False:
            break
        FlexDCA.write(':ACQuire:SINGle') # single acquisition mode
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 150')
        FlexDCA.write(':LTESt:ACQuire:STATe ON')
        print('\n\tAcquiring 150 waveforms. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        if query_with_OPC(':ACQuire:RUN', 'Data acquisition') == False:
            break
        FlexDCA.write(':LTESt:ACQuire:STATe OFF')
        FlexDCA.write(':MEASure:EYE:EHEight') # Eye Height measurement
        print('\n\tEye Height: ' + FlexDCA.query(':MEASure:EYE:EHEight?') + ' V')
        print('\n\tEye Height successfully measured.')
        input('\n\tPress any key to continue!')
        FlexDCA.write(':ACQuire:CDISplay') # Clear display
        FlexDCA.write(':ACQuire:RUN') # run mode
        FlexDCA.write(':MEASure:EYE:LIST:CLEar') # remove measurements

        #FlexDCA.write(':HAPPY:BIRTHDAY TODAY') # Illegal command for error!
        #FlexDCA.write(':TIMebase:POSition 2.4E10') # out of range for error!

        read_error_messages()
        break
    print('\tDisconnecting from 86100D.')
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()

print('\tProgram has ended.')


# -*- coding: utf-8 -*-
"""
DCA_M_eye_meas.py (Python 3.X)

The simplest script that demonstrates controlling an N1090A or N1092A/B/D DCA-M
in Eye/Mask mode. No error checking is done. Start the program and read
the introductory instructions for more information.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import sys
import visa # import VISA library

""" Editable Constants _________________________________________________
"""
#FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

SLOT = '5'
"""______________________________________________________________________
"""

IOTIMEOUT = 30000

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:,\n' + \
        '- Connects to FlexDCA and sets FlexDCA to EYE mode.\n' + \
        '- Acquires 200 waveforms and returns eye measurements.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - Script running on PC.\n' + \
        '    - FlexDCA and N1090A or N1092x (DCA-M)) on PC, or\n' + \
        '    - FlexDCA and N1090A or N1092x (DCA-M) on 86100D.\n' + \
        '    - DCA-M installed in slot '+SLOT+' with correct signal on channel A\n' + \
        '    - and clock input connected. Channel "A" displayed on FlexDCA\n' + \
        '    - and all other channels off.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address.')
    s = input('When ready, press "Enter" key to continue ' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        print('Please wait...')
        return True

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
if introductory_text():
    FlexDCA=rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s
    FlexDCA.read_termination = '\n'
    FlexDCA.write(':TRIGger:SOURce FPANel')
    FlexDCA.write(':CHANnel'+SLOT+'A:DISPlay ON')
    FlexDCA.write(':ACQuire:RUN')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')
    FlexDCA.query(':SYSTem:AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    FlexDCA.timeout = 60000 # 60s
    pattern_locked = int(FlexDCA.query(':TRIGger:PLOCk?'))
    if pattern_locked:
        print('Acquiring 200 patterns. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 200')
    else:
        print('Acquiring 200 waveforms. Times out after 60s.\nPlease wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe WAVeforms')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('  Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    meas = FlexDCA.query(':MEASure:EYE:FALLtime?')
    print('\tFall Time: ' + meas + 's')
    meas = FlexDCA.query(':MEASure:EYE:RISetime?')
    print('\tRise Time: ' + meas + 's')
    meas = FlexDCA.query(':MEASure:EYE:AMPLitude?')
    print('\tEye Amplitude: ' + meas)
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\nProgram has successfully completed.')


# -*- coding: utf-8 -*-
"""
DCA_M_eye_meas_py27.py (Python 2.7)

The simplest script for controlling an N1090A or N1092A/B/D DCA-M
in Eye/Mask mode. No error checking is done. Start the program and read
the introductory instructions for more information.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import sys
import visa # import VISA library

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
#FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

"""______________________________________________________________________
"""

IOTIMEOUT = 30000

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:,\n' + \
        '- Connects to FlexDCA and sets FlexDCA to EYE mode.\n' + \
        '- Acquires 200 waveforms and returns eye measurements.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - Script running on PC.\n' + \
        '    - FlexDCA and N1090A or N1092x (DCA-M)) on PC, or\n' + \
        '    - FlexDCA and N1090A or N1092x (DCA-M) on 86100D.\n' + \
        '    - DCA-M installed in slot 5 with correct signal on channel A\n' + \
        '    - and clock input connected. Channel "A" displayed on FlexDCA\n' + \
        '    - and all other channels off.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address.')
    s = raw_input('When ready, press "Enter" key to continue ' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        print('Please wait...')
        return True

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
if introductory_text():
    FlexDCA=rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s
    FlexDCA.read_termination = '\n'
    FlexDCA.write(':TRIGger:SOURce FPANel')
    FlexDCA.write(':CHANnel5A:DISPlay ON')
    FlexDCA.write(':ACQuire:RUN')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')
    FlexDCA.query(':SYSTem:AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    FlexDCA.timeout = 60000 # 60s
    pattern_locked = int(FlexDCA.query(':TRIGger:PLOCk?'))
    if pattern_locked:
        print('Acquiring 200 patterns. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 200')
    else:
        print('Acquiring 200 waveforms. Times out after 60s.\nPlease wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe WAVeforms')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    FlexDCA.query(':ACQuire:RUN;*OPC?')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('  Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    meas = FlexDCA.query(':MEASure:EYE:FALLtime?')
    print('\tFall Time: ' + meas + 's')
    meas = FlexDCA.query(':MEASure:EYE:RISetime?')
    print('\tRise Time: ' + meas + 's')
    meas = FlexDCA.query(':MEASure:EYE:AMPLitude?')
    print('\tEye Amplitude: ' + meas)

    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
    print('\nProgram has successfully completed.')


# -*- coding: utf-8 -*-
"""
DCA_M_mask_test_1.py (Python 3.X)

Simplified script that controls an N1090A or N1092A/B/D DCA-M extended module
in Eye/Mask mode.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import decimal as dc
import sys
import visa # import VISA library

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
#FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

SLOT = '5' # Expected slot for DCA-M module

"""______________________________________________________________________
"""

IOTIMEOUT = 30000

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:,\n' + \
        '- Connects to FlexDCA and sets FlexDCA to EYE mode.\n' + \
        '- Confirms N1090A or N1092A/B/D is installed slot '+SLOT+'.\n' + \
        '- Runs a mask test and acquires 200 waveforms.\n' + \
        '- Returns mask test results as well as eye measurements.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - Script running on PC.\n' + \
        '    - FlexDCA and N1090A (or N1092x) on PC, or\n' + \
        '    - FlexDCA and N1090A (or N1092x) on 86100D.\n' + \
        '    - Correct data and clock signals connected to DCA-M.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address.')
    s = input('When ready, press "Enter" key to continue ' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        print('Please wait...')
        return True

def confirm_data_rate(slot):
    """ Determines the data rate.
    """
    global FlexDCA
    time_str = FlexDCA.query(':TIMebase:SCALe?')
    num = (float(time_str) * 6) # time across 6 horiz divisions = one UI
    data_rate = str(1 / num) # data rate
    data_rate = eng_notation(data_rate,'1.0000')
    print('\nData rate:  ' + data_rate + 'b/s')
    clock_str = FlexDCA.query(':SLOT'+ slot +':TRIGger:MRATe?')
    clock_str = eng_notation(clock_str,'1.0000')
    print('Clock rate: ' + clock_str + 'b/s\n')
    # abbreviate date_rate string for selecting correct eye mask
    i = data_rate.find('.')
    if i != -1: # decimal point was found
        data_rate = data_rate[0:i+2]
    return data_rate

def load_eye_mask(data_rate):
    """ Loads an eye mask and turns on mask test. The selected mask is based
    on the data rate.
    """
    masks = {
        '1.244':('g.984 1244.16Mbps Downstream',
        "%DEMO_DIR%\\Masks\\G.984.2\\'001.24416 - 1244.16_G.984.2_Downstream_March_2003.mskx'"),
        '1.250':('Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\001.2500 - 01xGbEthernet.mskx"'),
        '2.488':('STM16/OC48',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\002.48832 - STM016_OC48.mskx"'),
        '2.500':('2 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\002.5000 - 02xGbEthernet.mskx"'),
        '3.125':('10 Gb Ehternet LX-4',
        '"%DEMO_DIR%\\Masks\\Ethernet\\003.1250 - 10GBASE-LX4.mskx"'),
        '8.500':('8x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\008.5000 - FC-PI-4 Multimode.mskx"'),
        '9.953':('STM64/OC192',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\009.95328 - STM064_OC192.mskx"'),
        '10.3125':('10 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\010.3125 - 10GbEthernet_10_3125.mskx"'),
        '10.51875':('10x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\010.51875 - 10xFiberChannel.mskx"'),
        '10.664':('OC-192/STM-64 FEC',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\010.66432 - STM64_OC192FEC_10_664.mskx"'),
        '10.709':('STM-64/OC-192 FEC',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\010.70900 - STM64_OC192FEC_10_709.mskx"'),
        '11.0957':('10 Gb Ethernet FEC','?'),
        '11.317':('10x fibre channel FEC','?'),
        '12.400':('10xGB Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\012.5000 - 10xGbEthernet_12_5.mskx"'),
        '20.6':('','?'),
        '25.78':('25/50/100 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\025.78125 - 100G-CLR4_FEC.mskx"'),
        '26.56':('400 Gb Ethernet','?'),
        '27.95':('OTU4','?'),
        '28.05':('32x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\028.0500 - 32GFC_MM_Tx.mskx"')
    }
    mask_keys = list(masks.keys())
    for key in mask_keys: # iterate through keys
        if data_rate in key: # data_rate string may be shorter than key
            print('Loading '+masks[key][0]+' mask. Please wait...')
            sys.stdout.flush() # Flush print message in stdout
            FlexDCA.write(':MTESt1:ALIGnment:X AUTomatic')
            FlexDCA.write(':MTESt1:LOAD:FNAMe ' + masks[key][1])
            handle_OPC_query(':MTESt1:LOAD','Mask load')
            FlexDCA.write(':MTESt1:MARGin:STATe ON')
            FlexDCA.write(':MTESt1:MARGin:METHod AUTO')
            FlexDCA.write(':MTESt1:MARGin:AUTO:METHod HRATio')
            FlexDCA.write(':MTESt1:MARGin:AUTO:HRATio 5e-5')
            return True
    print('Mask not found.')
    return False

def acquire_waveforms():
    """ Run acquisition limit test and acquire 200 waveforms """

    FlexDCA.timeout = 60000 # 60s
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    pattern_locked = int(FlexDCA.query(':TRIGger:PLOCk?'))
    if pattern_locked:
        print('Acquiring 200 patterns. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 200')
    else:
        print('Acquiring 200 waveforms. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe WAVeforms')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquire waveforms')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def get_measurement_results():
    # Return Mask Test Results
    print('-' * 50)
    print('  Mask Test Results')
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:HREGion'+reg+'?')
        print('\tStandard Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:MHREgion'+reg+'?')
        print('\tMargin Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MHITs?')
    print('\tTotal Margin Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MARgin?')
    print('\tMask Test Margin: ' + eng_notation(hits,'1.0') + '%')
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('  Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    meas = FlexDCA.query(':MEASure:EYE:FALLtime?')
    print('\tFall Time: ' + eng_notation(meas,'1.0') + 's')
    meas = FlexDCA.query(':MEASure:EYE:RISetime?')
    print('\tRise Time: ' + eng_notation(meas,'1.0') + 's')
    meas = FlexDCA.query(':MEASure:EYE:AMPLitude?')
    print('\tEye Amplitude: ' + eng_notation(meas,'1.0') + 'W')

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        print(feature + ' successful.')
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
if introductory_text():
    FlexDCA=rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s
    FlexDCA.read_termination = '\n'
    s = FlexDCA.query('*IDN?')
    print('\nFlexDCA connection established to:\n' + s + '\n')
    model_number = FlexDCA.query('SYST:MODel? SLOT' + SLOT)
    if ('N1090A' in model_number) or ('N1092' in model_number):
        slots = range(1,9)
        channels = ['A','B','C','D']
        for slot in slots: # turn all channels off
            for channel in channels:
                FlexDCA.write(':CHANnel'+str(slot)+channel+':DISPlay OFF')
        FlexDCA.write(':TRIGger:SOURce FPANel')
        FlexDCA.write(':CHANnel'+SLOT+'A:DISPlay ON')
        FlexDCA.write(':ACQuire:RUN')
        handle_OPC_query(':SYSTem:MODE EYE', 'Eye Mode')
        elist = []
        if handle_OPC_query(':SYSTem:AUToscale','Autoscale'):
            data_rate = confirm_data_rate(SLOT)
            if load_eye_mask(data_rate):
                acquire_waveforms()
                get_measurement_results()
                print('\nProgram has successfully completed.')
    else:
        print('A DCA-M is not installed in Slot ' + SLOT)
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else:
    print('Aborting program.')


# -*- coding: utf-8 -*-
"""
DCA_M_mask_test_1_py27.py (Python 2.7)

Simplified script that controls an N1090A or N1092A/B/D DCA-M extended module
in Eye/Mask mode.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import decimal as dc
import sys
import visa # import VISA library

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
#FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

SLOT = '5' # Expected slot for DCA-M module

"""______________________________________________________________________
"""

IOTIMEOUT = 30000

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:,\n' + \
        '- Connects to FlexDCA and sets FlexDCA to EYE mode.\n' + \
        '- Confirms N1090A or N1092A/B/D is installed slot '+SLOT+'.\n' + \
        '- Runs a mask test and acquires 200 waveforms.\n' + \
        '- Returns mask test results as well as eye measurements.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - Script running on PC.\n' + \
        '    - FlexDCA and N1090A (or N1092x) on PC, or\n' + \
        '    - FlexDCA and N1090A (or N1092x) on 86100D.\n' + \
        '    - Correct data and clock signals connected to DCA-M.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address.')
    s = raw_input('When ready, press "Enter" key to continue ' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        print('Please wait...')
        return True

def confirm_data_rate(slot):
    """ Determines the data rate.
    """
    global FlexDCA
    time_str = FlexDCA.query(':TIMebase:SCALe?')
    num = (float(time_str) * 6) # time across 6 horiz divisions = one UI
    data_rate = str(1 / num) # data rate
    data_rate = eng_notation(data_rate,'1.0000')
    print('\nData rate:  ' + data_rate + 'b/s')
    clock_str = FlexDCA.query(':SLOT'+ slot +':TRIGger:MRATe?')
    clock_str = eng_notation(clock_str,'1.0000')
    print('Clock rate: ' + clock_str + 'b/s\n')
    # abbreviate date_rate string for selecting correct eye mask
    i = data_rate.find('.')
    if i != -1: # decimal point was found
        data_rate = data_rate[0:i+2]
    return data_rate

def load_eye_mask(data_rate):
    """ Loads an eye mask and turns on mask test. The selected mask is based
    on the data rate.
    """
    masks = {
        '1.244':('g.984 1244.16Mbps Downstream',
        "%DEMO_DIR%\\Masks\\G.984.2\\'001.24416 - 1244.16_G.984.2_Downstream_March_2003.mskx'"),
        '1.250':('Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\001.2500 - 01xGbEthernet.mskx"'),
        '2.488':('STM16/OC48',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\002.48832 - STM016_OC48.mskx"'),
        '2.500':('2 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\002.5000 - 02xGbEthernet.mskx"'),
        '3.125':('10 Gb Ehternet LX-4',
        '"%DEMO_DIR%\\Masks\\Ethernet\\003.1250 - 10GBASE-LX4.mskx"'),
        '8.500':('8x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\008.5000 - FC-PI-4 Multimode.mskx"'),
        '9.953':('STM64/OC192',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\009.95328 - STM064_OC192.mskx"'),
        '10.3125':('10 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\010.3125 - 10GbEthernet_10_3125.mskx"'),
        '10.51875':('10x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\010.51875 - 10xFiberChannel.mskx"'),
        '10.664':('OC-192/STM-64 FEC',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\010.66432 - STM64_OC192FEC_10_664.mskx"'),
        '10.709':('STM-64/OC-192 FEC',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\010.70900 - STM64_OC192FEC_10_709.mskx"'),
        '11.0957':('10 Gb Ethernet FEC','?'),
        '11.317':('10x fibre channel FEC','?'),
        '12.400':('10xGB Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\012.5000 - 10xGbEthernet_12_5.mskx"'),
        '20.6':('','?'),
        '25.78':('25/50/100 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\025.78125 - 100G-CLR4_FEC.mskx"'),
        '26.56':('400 Gb Ethernet','?'),
        '27.95':('OTU4','?'),
        '28.05':('32x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\028.0500 - 32GFC_MM_Tx.mskx"')
    }
    mask_keys = masks.keys()
    for key in mask_keys: # iterate through keys
        if data_rate in key: # data_rate string may be shorter than key
            print('Loading '+masks[key][0]+' mask. Please wait...')
            sys.stdout.flush() # Flush print message in stdout
            FlexDCA.write(':MTESt1:ALIGnment:X AUTomatic')
            FlexDCA.write(':MTESt1:LOAD:FNAMe ' + masks[key][1])
            handle_OPC_query(':MTESt1:LOAD','Mask load')
            FlexDCA.write(':MTESt1:MARGin:STATe ON')
            FlexDCA.write(':MTESt1:MARGin:METHod AUTO')
            FlexDCA.write(':MTESt1:MARGin:AUTO:METHod HRATio')
            FlexDCA.write(':MTESt1:MARGin:AUTO:HRATio 5e-5')
            return True
    print('Mask not found.')
    return False

def acquire_waveforms():
    """ Run acquisition limit test and acquire 200 waveforms """

    FlexDCA.timeout = 60000 # 60s
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    pattern_locked = int(FlexDCA.query(':TRIGger:PLOCk?'))
    if pattern_locked:
        print('Acquiring 200 patterns. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 200')
    else:
        print('Acquiring 200 waveforms. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe WAVeforms')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquire waveforms')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def get_measurement_results():
    # Return Mask Test Results
    print('-' * 50)
    print('  Mask Test Results')
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:HREGion'+reg+'?')
        print('\tStandard Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:MHREgion'+reg+'?')
        print('\tMargin Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MHITs?')
    print('\tTotal Margin Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MARgin?')
    print('\tMask Test Margin: ' + eng_notation(hits,'1.0') + '%')
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('  Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    meas = FlexDCA.query(':MEASure:EYE:FALLtime?')
    print('\tFall Time: ' + eng_notation(meas,'1.0') + 's')
    meas = FlexDCA.query(':MEASure:EYE:RISetime?')
    print('\tRise Time: ' + eng_notation(meas,'1.0') + 's')
    meas = FlexDCA.query(':MEASure:EYE:AMPLitude?')
    print('\tEye Amplitude: ' + eng_notation(meas,'1.0') + 'W')

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        print(feature + ' successful.')
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
if introductory_text():
    FlexDCA=rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s
    FlexDCA.read_termination = '\n'
    s = FlexDCA.query('*IDN?')
    print('\nFlexDCA connection established to:\n' + s + '\n')
    model_number = FlexDCA.query('SYST:MODel? SLOT' + SLOT)
    if ('N1090A' in model_number) or ('N1092' in model_number):
        slots = range(1,9)
        channels = ['A','B','C','D']
        for slot in slots: # turn all channels off
            for channel in channels:
                FlexDCA.write(':CHANnel'+str(slot)+channel+':DISPlay OFF')
        FlexDCA.write(':TRIGger:SOURce FPANel')
        FlexDCA.write(':CHANnel'+SLOT+'A:DISPlay ON')
        FlexDCA.write(':ACQuire:RUN')
        handle_OPC_query(':SYSTem:MODE EYE', 'Eye Mode')
        elist = []
        if handle_OPC_query(':SYSTem:AUToscale','Autoscale'):
            data_rate = confirm_data_rate(SLOT)
            if load_eye_mask(data_rate):
                acquire_waveforms()
                get_measurement_results()
                print('\nProgram has successfully completed.')
    else:
        print('A DCA-M is not installed in Slot ' + SLOT)
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()
else:
    print('Aborting program.')


# -*- coding: utf-8 -*-
"""
DCA_M_mask_test_2.py (Python 3.X)

Comprehensive script that controls an N1090A (or N1092A/B/D) DCA-M in
Eye/Mask mode. If FlexDCA is on the PC, the DCA-M can be connected to
the PC but not the 86100D. If FlexDCA is on the 86100D, the DCA-M can be
connected to the 86100D but not the PC. Start the script to see instructions.
Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Near the top of this script, modify the following constants with
address and name values that match your setup. The basic setup selected
determines which of these constants is used.

FLEXPC_ADDRESS. VISA address of FlexDCA on PC.
FLEXD_ADDRESS. VISA address of FlexDCA on 86100D.
THE_86100D_NAME. The computer name of an 86100D. Used to connect N1010A
FlexDCA on a PC to 86100D's FlexDCA (Flex-on-Flex).

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________
"""

import os
import decimal as dc # for eng_notation()
import sys
import visa # import VISA library

""" Editable Constants _________________________________________________
"""
FLEXPC_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
FLEXD_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
THE_86100D_NAME = 'K-86100D-20108'

"""______________________________________________________________________
"""

REQUIRED_MODULES = ['N1090A','N1092A','N1092B','N1092D']
IOTIMEOUT = 30000
ABORT = 0
FLEX_ON_FLEX = 1
FLEX_OFFLINE = 2 # not connected to 86100D
SCRIPT_ON_PC = 3
SCRIPT_ON_86100D = 4

ErrorList = []

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:,\n' + \
        '- Sets FlexDCA to EYE mode.\n' + \
        '- Discovers what modules are installed.\n' + \
        '- Confirms that required DCA-M is installed.\n' + \
        '- Confirms that data and trigger signal are correct.\n' + \
        '- Performs an Eye mask test and returns measurement results.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - Script running on PC.\n' + \
        '    - FlexDCA and N1090A (or N1092x) on PC, or\n' + \
        '    - FlexDCA and N1090A (or N1092x) on 86100D.\n' + \
        '    - Correct data and clock signals connected to DCA-M.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address.')
    print('-' * 50)
    print('Select basic setup:\n' + \
        ' 1. Flex-on-Flex\n' + \
        ' 2. FlexDCA offline\n' + \
        ' 3. Script on PC controlling 86100D\n' + \
        ' 4. Script on 86100D')
    s = input('When ready, press:\n' + \
            ' 1, 2, 3, or 4 to select a setup.\n' + \
            ' or any other key to exit: ')
    if (s == '1'):
        return FLEX_ON_FLEX
    elif (s == '2'):
        return FLEX_OFFLINE
    elif (s == '3'):
        return SCRIPT_ON_PC
    elif (s == '4'):
        return SCRIPT_ON_86100D
    else:
        return ABORT

def basic_setup(mode, flexpc_address, flexd_address, the_86100D_name):
    """
    Opens a connecton to FlexDCA based on supplied addresses.
    """

    global FlexDCA
    if mode == ABORT:
        return ABORT
    elif mode == FLEX_OFFLINE:
        while True:
            if connect_to_FlexDCA(flexpc_address):
                if flex_on_PC():
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return FLEX_OFFLINE
                if flex_on_flex():
                    print('Disconnecting FlexDCA from 86100D.')
                    handle_OPC_query(':RDCA:DISConnect','Disconnecting 86100D')
                    continue
            else:
                return ABORT
    elif mode == SCRIPT_ON_PC: # script on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                print('Program is on PC and FlexDCA is on this 86100D:')
                print(FlexDCA.query('*IDN?') + '\n\n')
                return SCRIPT_ON_PC
        else:
            print('Incorrect address for FlexDCA. Aborting.')
            return ABORT
    elif mode == SCRIPT_ON_86100D: # Script and Flex running on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                computername = os.getenv('COMPUTERNAME')
                if ('localhost' in flexd_address) or (computername in flexd_address):
                    print('Program and FlexDCA are on this 86100D:')
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return SCRIPT_ON_86100D
        else:
            return ABORT
    elif mode == FLEX_ON_FLEX: # Flex on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexpc_address):
            if flex_on_PC():
                if flex_on_flex():
                    print('FlexDCA on PC is already connected to ' + \
                            '86100D\'s FlexDCA.')
                    return FLEX_ON_FLEX # already manually connected
                else:
                    if connect_flex_to_flex(the_86100D_name):
                        return FLEX_ON_FLEX
                    else:
                        return ABORT
        else:
            return ABORT
    else:
        return ABORT

def connect_to_FlexDCA(flex_address):
    """ Makes VISA connection to FlexDCA and initializes state. """

    global FlexDCA
    try:
        print('\nConnecting FlexDCA.\n' + \
                'Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        FlexDCA=rm.open_resource(flex_address)
        FlexDCA.timeout = 30000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\nFlexDCA connection established to:\n\t' + s + '\n')
        return True
    except:
        s = '\nCan\'t connect to FlexDCA. Incorrect address string:\n\t'
        print(s + flexpc_address + '\n\tEnding program.')
        return False

def flex_on_flex():
    """ Checks if FlexDCA on PC is already connected to FlexDCA on 86100D.
    This state is known as Flex-on-Flex.
    """

    s = FlexDCA.query(':RDCA:CONNect:STATe?') # test for 86100D connection
    if 'CONN' in s:
        return True # Flex-on-Flex is connected
    else:
        return False

def flex_on_PC():
    """ Checks if FlexDCA is on PC versus 86100D and is not connected
    to an 86100D.
    """

    s = FlexDCA.query('*IDN?') # FlexDCA on PC or 86100D?
    if 'N1010A' in s:
        return True # FlexDCA on PC and not connected
    elif '86100D' in s:
        return False # FlexDCA on (or connected to) 86100D

def connect_flex_to_flex(the_86100D_name):
    """ Connects FlexDCA on PC to FlexDCA on 86100D. """

    global ErrorList
    print('\nConnecting FlexDCA on PC to FlexDCA on 86100D.\n' + \
            'Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "' + the_86100D_name + '"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    if error_messages():
        print('error_list: ' + str(ErrorList))
        if '108' in ErrorList[-1]: # Instrument Error;Unable to connect: Host not found
            print('\nCan\'t make Flex-on-Flex connection to 86100D.\n' + \
                'Setting program to control FlexDCA on PC')
            return False
    print('Program is controlling FlexDCA on PC which\n' + \
            'is connected to FlexDCA on this 86100D:')
    print(FlexDCA.query('*IDN?') + '\n\n')
    return True

def setup_correct(mode):
    if mode == ABORT: # Unable to connect to FlexDCA
        print('Aborting program.')
        return False
    else:
        if mode == FLEX_OFFLINE: # Use simulated or extended modules only
            print('FlexDCA is running offline.')
        elif mode == SCRIPT_ON_PC: # Use real or simulated modules. Not extended
            print('Script on PC controlling FlexDCA on 86100D.')
        elif mode == FLEX_ON_FLEX: # Use real, extended, or simulated modules
            print('Flex-on-Flex connection established.')
        elif mode == SCRIPT_ON_86100D: # Use real, extended, or simulated modules
            print('Script on 86100D is controlling 86100D\'s FlexDCA.')
        return True

def discover_modules():
    """ Locates each hardware, simulated, or extended module by slot.

    Creates a dictionary with slot-number keys and model number values. This
    dictionary is returned.
    Simulated module names returned by FlexDCA are non-intuitive, and are
    modified.
    """

    slots = {1:'',2:'',3:'',4:'',5:'',6:'',7:'',8:''}
    for slot in range(1,9): # slot numbers
        model = FlexDCA.query('SYST:MODel? SLOT' + str(slot))
        if model == 'Not Present':
            continue
        elif model == 'N1010A': # Simulated module on FlexDCA on PC
            model = FlexDCA.query('EMODules:SLOT' + str(slot) + ':SELection?')
            if (model == 'EMPT') or (model == 'DCA'):
                continue
            slots[slot] = model
        else: # standard module
            slots[slot] = model
    return(slots)

def show_found_modules(slots):
    """ Prints a list of all modules found.
    """

    simulated = {'DEM':'DEM (Simulated dual electrical)',
                 'DOM':'DOM (Simulated dual optical)',
                 'QEM':'QEM (Simulated quad electrical)',
                 'OEM':'OEM (Simulated electrical/optical)'}
    print('\nInstalled modules:')
    for slot in slots:
        model = slots[slot]
        if model in simulated: #eg. 'DEM' is a key
            print('Slot '+ str(slot) +': '+ simulated[model[0:3]])
        elif model: # non-simulated module exists
            print('Slot '+ str(slot) +': '+ model) # eg, N1090A
    return

def select_slot(required_modules,slots):
    """ Identify any found required modules. If more than one module is
    found, have user select the module to use. Returns the slot number
    (integer) for the selected (or only) module to use.
    """

    confirmed = [] # list of slots (integers) with valid modules
    for i in range(1,9):
        if slots[i] in required_modules:
            confirmed.append(i)
    if len(confirmed) == 1:
        n = confirmed[0]
        print('\nRequired module found: Slot ' + str(n) + '. ' + slots[n])
        return confirmed[0] # Only one required module found.
    if len(confirmed) > 1:
        print('\nRequired modules found:')
        for n in confirmed:
            print('Slot ' + str(n) + '. ' + slots[n])
        return int(input('Select the slot (module) to use: '))
    print('No required modules found.')
    return 0

def select_channel(slot):
    """
    Lets user select the channel to use on the selected model. Returns
    channel letter. For example, 'A'.
    """
    channels = ['A','B','C','D']
    for channel in channels:
        s = ':CHANnel' + str(slot) + channel + ':STATus?'
        status = FlexDCA.query(s)
        if status == 'UNAV':
            break
    if channel == 'A':
        return ''
    if channel == 'B':
        return 'A'
    if channel == 'C':
        while True:
            c = input('Select a channel letter: A or B: ').upper()
            if c in 'AB':
                break;
    elif channel == 'D': # 'C' was available
        while True:
            c = input('Select a channel letter: A, B, C, or D: ').upper()
            if c in 'ABCD':
                break;
    return c

def turn_on_channel(channel):
    chan = ['A','B','C','D']
    for n in range(1,9): # turn all channels off
        for item in chan:
            FlexDCA.write(':CHANnel'+str(n) + item +':DISPlay OFF')
    FlexDCA.write(':TRIGger:SOURce FPANel')
    FlexDCA.write(':CHANnel'+ channel +':DISPlay ON')
    FlexDCA.write(':ACQuire:RUN')
    handle_OPC_query(':SYSTem:MODE EYE', 'Eye Mode')

def confirm_DCAM_signals(channel):
    """ Confirms that correct data and trigger signals are connected.
    If not, displays a message.
    """
    global FlexDCA
    global ErrorList
    error_messages() # clear FlexDCA's error buffer
    elist = []
    slot = channel[0]
    while True:
        print('Performing Autoscale. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        FlexDCA.query(':SYSTem:AUToscale;*OPC?')
        # print message is autoscale does not locate signal
        if error_messages():
            s = ErrorList.pop()
            elist = s.split(',')
            print('\nERROR: ' + elist[0] + '\n' + elist[1])
            print_DCAM_data_options(slot)
            t = 'Connect a clock or sub-rate clock and data\n' + \
                'signal to the DCA-M. For correct mask, the data rate\n' + \
                'must be one of the above rates. When finished,\n' + \
                'press the "Enter" key to continue or "q" to quit program.\n'
            answer = input(t)
            if answer == 'q' or answer =='Q':
                return ''
        else:
            break # ability to autoscale confirms clock and data signals

    time_str = FlexDCA.query(':TIMebase:SCALe?')
    num = (float(time_str) * 6) # time across 6 horiz divisions = one UI
    data_rate = str(1 / num) # data rate
    data_rate = eng_notation(data_rate,'1.0000')
    print('\nData rate:  ' + data_rate + 'b/s')
    clock_str = FlexDCA.query(':SLOT'+ slot +':TRIGger:MRATe?')
    clock_str = eng_notation(clock_str,'1.0000')
    print('Clock rate: ' + clock_str + 'b/s\n')
    # abbreviate date_rate string for selecting correct eye mask
    i = data_rate.find('.')
    if i != -1: # decimal point was found
        data_rate = data_rate[0:i+2]
    return data_rate

def print_DCAM_data_options(slot):
    """ Queries N1090A or N1092 option and prints associated data rates."""

    global FlexDCA
    model = FlexDCA.query('SYST:MODel? SLOT' + slot)
    option = FlexDCA.query(':SYSTem:OPTions? SLOT' + slot)
    if 'N1090' in model:
        print('\nValid data rates for N1090A:')
        if '140' in option:
            print('Option 140: 1.244 Gb/s, 1.255 Gb/s')
        elif '160' in option:
            print('Option 160: 2.488 Gb/s, 2.500 Gb/s')
        elif '180' in option:
            print('Option 180: 3.125 Gb/s')
        elif '200' in option:
            print('Option 200: 8.500 Gb/s, 9.953 Gb/s, 10.3125 Gb/s,\n' + \
                    '10.51875 Gb/s, 10.664 Gb/s, 10.709 Gb/s, 11.0957 Gb/s,\n' + \
                    '11.317 Gb/s')
        elif '204' in option:
            print('Option 204: 8.500 GB/s, 9.953 Gb/s, 10.3125 Gb/s, 10.51875 Gb/s')
    if 'N1092' in model:
        print('\nValid data rates for N1092A/B/D:')
        print('Standard: 25.78 Gb/s, 26.56 Gb/s, 27.95 Gb/s, 28.05 Gb/s')
        if '168' in option:
            print('Option 168: 25.78 Gb/s TDEC')
        if '206' in option:
            print('Option 206: 20.625 Gb/s')

def acquire_waveforms():
    """ Run acquisition limit test and acquire 200 waveforms """

    FlexDCA.timeout = 60000 # 60s
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    pattern_locked = int(FlexDCA.query(':TRIGger:PLOCk?'))
    if pattern_locked:
        print('Acquiring 200 patterns. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 200')
    else:
        print('Acquiring 200 waveforms. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe WAVeforms')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquire waveforms')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def load_eye_mask(data_rate):
    """ Loads an eye mask and turns on mask test. The selected mask is based
    on the data rate.
    """
    masks = {
        '1.244':('g.984 1244.16Mbps Downstream',
        "%DEMO_DIR%\\Masks\\G.984.2\\'001.24416 - 1244.16_G.984.2_Downstream_March_2003.mskx'"),
        '1.250':('Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\001.2500 - 01xGbEthernet.mskx"'),
        '2.488':('STM16/OC48',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\002.48832 - STM016_OC48.mskx"'),
        '2.500':('2 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\002.5000 - 02xGbEthernet.mskx"'),
        '3.125':('10 Gb Ehternet LX-4',
        '"%DEMO_DIR%\\Masks\\Ethernet\\003.1250 - 10GBASE-LX4.mskx"'),
        '8.500':('8x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\008.5000 - FC-PI-4 Multimode.mskx"'),
        '9.953':('STM64/OC192',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\009.95328 - STM064_OC192.mskx"'),
        '10.3125':('10 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\010.3125 - 10GbEthernet_10_3125.mskx"'),
        '10.51875':('10x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\010.51875 - 10xFiberChannel.mskx"'),
        '10.664':('OC-192/STM-64 FEC',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\010.66432 - STM64_OC192FEC_10_664.mskx"'),
        '10.709':('STM-64/OC-192 FEC',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\010.70900 - STM64_OC192FEC_10_709.mskx"'),
        '11.0957':('10 Gb Ethernet FEC','?'),
        '11.317':('10x fibre channel FEC','?'),
        '12.400':('10xGB Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\012.5000 - 10xGbEthernet_12_5.mskx"'),
        '20.6':('','?'),
        '25.78':('25/50/100 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\025.78125 - 100G-CLR4_FEC.mskx"'),
        '26.56':('400 Gb Ethernet','?'),
        '27.95':('OTU4','?'),
        '28.05':('32x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\028.0500 - 32GFC_MM_Tx.mskx"')
    }
    mask_keys = list(masks.keys())
    for key in mask_keys: # iterate through keys
        if data_rate in key: # data_rate string may be shorter than key
            print('Loading '+masks[key][0]+' mask. Please wait...')
            sys.stdout.flush() # Flush print message in stdout
            FlexDCA.write(':MTESt1:ALIGnment:X AUTomatic')
            FlexDCA.write(':MTESt1:LOAD:FNAMe ' + masks[key][1])
            handle_OPC_query(':MTESt1:LOAD','Mask load')
            FlexDCA.write(':MTESt1:MARGin:STATe ON')
            FlexDCA.write(':MTESt1:MARGin:METHod AUTO')
            FlexDCA.write(':MTESt1:MARGin:AUTO:METHod HRATio')
            FlexDCA.write(':MTESt1:MARGin:AUTO:HRATio 5e-5')
            return True
    print('Mask not found.')
    return False

def get_measurement_results():
    # Return Mask Test Results
    print('-' * 50)
    print('Mask Test Results')
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:HREGion'+reg+'?')
        print('\tStandard Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:MHREgion'+reg+'?')
        print('\tMargin Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MHITs?')
    print('\tTotal Margin Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MARgin?')
    print('\tMask Test Margin: ' + eng_notation(hits,'1.0') + '%')
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    meas = FlexDCA.query(':MEASure:EYE:FALLtime?')
    print('\tFall Time: ' + eng_notation(meas,'1.0') + 's')
    meas = FlexDCA.query(':MEASure:EYE:RISetime?')
    print('\tRise Time: ' + eng_notation(meas,'1.0') + 's')
    meas = FlexDCA.query(':MEASure:EYE:AMPLitude?')
    print('\tEye Amplitude: ' + eng_notation(meas,'1.0') + 'W')

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            return False
        else:
            print('' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
mode = introductory_text()
mode = basic_setup(mode, FLEXPC_ADDRESS, FLEXD_ADDRESS, THE_86100D_NAME)
if setup_correct(mode):
    slots = discover_modules()
    show_found_modules(slots)
    slot = select_slot(REQUIRED_MODULES,slots)
    if 1 <= slot <= 8:
        channel = str(slot) + (select_channel(slot))
        turn_on_channel(channel)
        data_rate =  confirm_DCAM_signals(channel)
        if data_rate:
            if load_eye_mask(data_rate):
                acquire_waveforms()
                get_measurement_results()
                print('\nProgram has successfully completed.')
    else:
        print('Aborting program.')
    error_messages()
    print_error_messages() # Check FlexDCA for any error messages
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


# -*- coding: utf-8 -*-
"""
DCA_M_mask_test_2_py27.py (Python 2.7)

Comprehensive script that controls an N1090A (or N1092A/B/D) DCA-M in
Eye/Mask mode. If FlexDCA is on the PC, the DCA-M can be connected to
the PC but not the 86100D. If FlexDCA is on the 86100D, the DCA-M can be
connected to the 86100D but not the PC. Start the script to see instructions.
Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Near the top of this script, modify the following constants with
address and name values that match your setup. The basic setup selected
determines which of these constants is used.

FLEXPC_ADDRESS. VISA address of FlexDCA on PC.
FLEXD_ADDRESS. VISA address of FlexDCA on 86100D.
THE_86100D_NAME. The computer name of an 86100D. Used to connect N1010A
FlexDCA on a PC to 86100D's FlexDCA (Flex-on-Flex).

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________
"""

import os
import decimal as dc # for eng_notation()
import sys
import visa # import VISA library

""" Editable Constants _________________________________________________
"""
FLEXPC_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
FLEXD_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
THE_86100D_NAME = 'K-86100D-20108'

"""______________________________________________________________________
"""

REQUIRED_MODULES = ['N1090A','N1092A','N1092B','N1092D']
IOTIMEOUT = 30000
ABORT = 0
FLEX_ON_FLEX = 1
FLEX_OFFLINE = 2 # not connected to 86100D
SCRIPT_ON_PC = 3
SCRIPT_ON_86100D = 4

ErrorList = []

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:,\n' + \
        '- Sets FlexDCA to EYE mode.\n' + \
        '- Discovers what modules are installed.\n' + \
        '- Confirms that required DCA-M is installed.\n' + \
        '- Confirms that data and trigger signal are correct.\n' + \
        '- Performs an Eye mask test and returns measurement results.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - Script running on PC.\n' + \
        '    - FlexDCA and N1090A (or N1092x) on PC, or\n' + \
        '    - FlexDCA and N1090A (or N1092x) on 86100D.\n' + \
        '    - Correct data and clock signals connected to DCA-M.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address.')
    print('-' * 50)
    print('Select basic setup:\n' + \
        ' 1. Flex-on-Flex\n' + \
        ' 2. FlexDCA offline\n' + \
        ' 3. Script on PC controlling 86100D\n' + \
        ' 4. Script on 86100D')
    s = raw_input('When ready, press:\n' + \
            ' 1, 2, 3, or 4 to select a setup.\n' + \
            ' or any other key to exit: ')
    if (s == '1'):
        return FLEX_ON_FLEX
    elif (s == '2'):
        return FLEX_OFFLINE
    elif (s == '3'):
        return SCRIPT_ON_PC
    elif (s == '4'):
        return SCRIPT_ON_86100D
    else:
        return ABORT

def basic_setup(mode, flexpc_address, flexd_address, the_86100D_name):
    """
    Opens a connecton to FlexDCA based on supplied addresses.
    """

    global FlexDCA
    if mode == ABORT:
        return ABORT
    elif mode == FLEX_OFFLINE:
        while True:
            if connect_to_FlexDCA(flexpc_address):
                if flex_on_PC():
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return FLEX_OFFLINE
                if flex_on_flex():
                    print('Disconnecting FlexDCA from 86100D.')
                    handle_OPC_query(':RDCA:DISConnect','Disconnecting 86100D')
                    continue
            else:
                return ABORT
    elif mode == SCRIPT_ON_PC: # script on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                print('Program is on PC and FlexDCA is on this 86100D:')
                print(FlexDCA.query('*IDN?') + '\n\n')
                return SCRIPT_ON_PC
        else:
            print('Incorrect address for FlexDCA. Aborting.')
            return ABORT
    elif mode == SCRIPT_ON_86100D: # Script and Flex running on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                computername = os.getenv('COMPUTERNAME')
                if ('localhost' in flexd_address) or (computername in flexd_address):
                    print('Program and FlexDCA are on this 86100D:')
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return SCRIPT_ON_86100D
        else:
            return ABORT
    elif mode == FLEX_ON_FLEX: # Flex on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexpc_address):
            if flex_on_PC():
                if flex_on_flex():
                    print('FlexDCA on PC is already connected to ' + \
                            '86100D\'s FlexDCA.')
                    return FLEX_ON_FLEX # already manually connected
                else:
                    if connect_flex_to_flex(the_86100D_name):
                        return FLEX_ON_FLEX
                    else:
                        return ABORT
        else:
            return ABORT
    else:
        return ABORT

def connect_to_FlexDCA(flex_address):
    """ Makes VISA connection to FlexDCA and initializes state. """

    global FlexDCA
    try:
        print('\nConnecting FlexDCA.\n' + \
                'Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        FlexDCA=rm.open_resource(flex_address)
        FlexDCA.timeout = 30000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\nFlexDCA connection established to:\n\t' + s + '\n')
        return True
    except:
        s = '\nCan\'t connect to FlexDCA. Incorrect address string:\n\t'
        print(s + flexpc_address + '\n\tEnding program.')
        return False

def flex_on_flex():
    """ Checks if FlexDCA on PC is already connected to FlexDCA on 86100D.
    This state is known as Flex-on-Flex.
    """

    s = FlexDCA.query(':RDCA:CONNect:STATe?') # test for 86100D connection
    if 'CONN' in s:
        return True # Flex-on-Flex is connected
    else:
        return False

def flex_on_PC():
    """ Checks if FlexDCA is on PC versus 86100D and is not connected
    to an 86100D.
    """

    s = FlexDCA.query('*IDN?') # FlexDCA on PC or 86100D?
    if 'N1010A' in s:
        return True # FlexDCA on PC and not connected
    elif '86100D' in s:
        return False # FlexDCA on (or connected to) 86100D

def connect_flex_to_flex(the_86100D_name):
    """ Connects FlexDCA on PC to FlexDCA on 86100D. """

    global ErrorList
    print('\nConnecting FlexDCA on PC to FlexDCA on 86100D.\n' + \
            'Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "' + the_86100D_name + '"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    if error_messages():
        print('error_list: ' + str(ErrorList))
        if '108' in ErrorList[-1]: # Instrument Error;Unable to connect: Host not found
            print('\nCan\'t make Flex-on-Flex connection to 86100D.\n' + \
                'Setting program to control FlexDCA on PC')
            return False
    print('Program is controlling FlexDCA on PC which\n' + \
            'is connected to FlexDCA on this 86100D:')
    print(FlexDCA.query('*IDN?') + '\n\n')
    return True

def setup_correct(mode):
    if mode == ABORT: # Unable to connect to FlexDCA
        print('Aborting program.')
        return False
    else:
        if mode == FLEX_OFFLINE: # Use simulated or extended modules only
            print('FlexDCA is running offline.')
        elif mode == SCRIPT_ON_PC: # Use real or simulated modules. Not extended
            print('Script on PC controlling FlexDCA on 86100D.')
        elif mode == FLEX_ON_FLEX: # Use real, extended, or simulated modules
            print('Flex-on-Flex connection established.')
        elif mode == SCRIPT_ON_86100D: # Use real, extended, or simulated modules
            print('Script on 86100D is controlling 86100D\'s FlexDCA.')
        return True

def discover_modules():
    """ Locates each hardware, simulated, or extended module by slot.

    Creates a dictionary with slot-number keys and model number values. This
    dictionary is returned.
    Simulated module names returned by FlexDCA are non-intuitive, and are
    modified.
    """

    slots = {1:'',2:'',3:'',4:'',5:'',6:'',7:'',8:''}
    for slot in range(1,9): # slot numbers
        model = FlexDCA.query('SYST:MODel? SLOT' + str(slot))
        if model == 'Not Present':
            continue
        elif model == 'N1010A': # Simulated module on FlexDCA on PC
            model = FlexDCA.query('EMODules:SLOT' + str(slot) + ':SELection?')
            if (model == 'EMPT') or (model == 'DCA'):
                continue
            slots[slot] = model
        else: # standard module
            slots[slot] = model
    return(slots)

def show_found_modules(slots):
    """ Prints a list of all modules found.
    """

    simulated = {'DEM':'DEM (Simulated dual electrical)',
                 'DOM':'DOM (Simulated dual optical)',
                 'QEM':'QEM (Simulated quad electrical)',
                 'OEM':'OEM (Simulated electrical/optical)'}
    print('\nInstalled modules:')
    for slot in slots:
        model = slots[slot]
        if model in simulated: #eg. 'DEM' is a key
            print('Slot '+ str(slot) +': '+ simulated[model[0:3]])
        elif model: # non-simulated module exists
            print('Slot '+ str(slot) +': '+ model) # eg, N1090A
    return

def select_slot(required_modules,slots):
    """ Identify any found required modules. If more than one module is
    found, have user select the module to use. Returns the slot number
    (integer) for the selected (or only) module to use.
    """

    confirmed = [] # list of slots (integers) with valid modules
    for i in range(1,9):
        if slots[i] in required_modules:
            confirmed.append(i)
    if len(confirmed) == 1:
        n = confirmed[0]
        print('\nRequired module found: Slot ' + str(n) + '. ' + slots[n])
        return confirmed[0] # Only one required module found.
    if len(confirmed) > 1:
        print('\nRequired modules found:')
        for n in confirmed:
            print('Slot ' + str(n) + '. ' + slots[n])
        return int(raw_input('Select the slot (module) to use: '))
    print('No required modules found.')
    return 0

def select_channel(slot):
    """
    Lets user select the channel to use on the selected model. Returns
    channel letter. For example, 'A'.
    """
    channels = ['A','B','C','D']
    for channel in channels:
        s = ':CHANnel' + str(slot) + channel + ':STATus?'
        status = FlexDCA.query(s)
        if status == 'UNAV':
            break
    if channel == 'A':
        return ''
    if channel == 'B':
        return 'A'
    if channel == 'C':
        while True:
            c = raw_input('Select a channel letter: A or B: ').upper()
            if c in 'AB':
                break;
    elif channel == 'D': # 'C' was available
        while True:
            c = raw_input('Select a channel letter: A, B, C, or D: ').upper()
            if c in 'ABCD':
                break;
    return c

def turn_on_channel(channel):
    chan = ['A','B','C','D']
    for n in range(1,9): # turn all channels off
        for item in chan:
            FlexDCA.write(':CHANnel'+str(n) + item +':DISPlay OFF')
    FlexDCA.write(':TRIGger:SOURce FPANel')
    FlexDCA.write(':CHANnel'+ channel +':DISPlay ON')
    FlexDCA.write(':ACQuire:RUN')
    handle_OPC_query(':SYSTem:MODE EYE', 'Eye Mode')

def confirm_DCAM_signals(channel):
    """ Confirms that correct data and trigger signals are connected.
    If not, displays a message.
    """
    global FlexDCA
    global ErrorList
    error_messages() # clear FlexDCA's error buffer
    elist = []
    slot = channel[0]
    while True:
        print('Performing Autoscale. Please wait...')
        sys.stdout.flush() # Flush print message in stdout
        FlexDCA.query(':SYSTem:AUToscale;*OPC?')
        # print message is autoscale does not locate signal
        if error_messages():
            s = ErrorList.pop()
            elist = s.split(',')
            print('\nERROR: ' + elist[0] + '\n' + elist[1])
            print_DCAM_data_options(slot)
            t = 'Connect a clock or sub-rate clock and data\n' + \
                'signal to the DCA-M. For correct mask, the data rate\n' + \
                'must be one of the above rates. When finished,\n' + \
                'press the "Enter" key to continue or "q" to quit program.\n'
            answer = raw_input(t)
            if answer == 'q' or answer =='Q':
                return ''
        else:
            break # ability to autoscale confirms clock and data signals

    time_str = FlexDCA.query(':TIMebase:SCALe?')
    num = (float(time_str) * 6) # time across 6 horiz divisions = one UI
    data_rate = str(1 / num) # data rate
    data_rate = eng_notation(data_rate,'1.0000')
    print('\nData rate:  ' + data_rate + 'b/s')
    clock_str = FlexDCA.query(':SLOT'+ slot +':TRIGger:MRATe?')
    clock_str = eng_notation(clock_str,'1.0000')
    print('Clock rate: ' + clock_str + 'b/s\n')
    # abbreviate date_rate string for selecting correct eye mask
    i = data_rate.find('.')
    if i != -1: # decimal point was found
        data_rate = data_rate[0:i+2]
    return data_rate

def print_DCAM_data_options(slot):
    """ Queries N1090A or N1092 option and prints associated data rates."""

    global FlexDCA
    model = FlexDCA.query('SYST:MODel? SLOT' + slot)
    option = FlexDCA.query(':SYSTem:OPTions? SLOT' + slot)
    if 'N1090' in model:
        print('\nValid data rates for N1090A:')
        if '140' in option:
            print('Option 140: 1.244 Gb/s, 1.255 Gb/s')
        elif '160' in option:
            print('Option 160: 2.488 Gb/s, 2.500 Gb/s')
        elif '180' in option:
            print('Option 180: 3.125 Gb/s')
        elif '200' in option:
            print('Option 200: 8.500 Gb/s, 9.953 Gb/s, 10.3125 Gb/s,\n' + \
                    '10.51875 Gb/s, 10.664 Gb/s, 10.709 Gb/s, 11.0957 Gb/s,\n' + \
                    '11.317 Gb/s')
        elif '204' in option:
            print('Option 204: 8.500 GB/s, 9.953 Gb/s, 10.3125 Gb/s, 10.51875 Gb/s')
    if 'N1092' in model:
        print('\nValid data rates for N1092A/B/D:')
        print('Standard: 25.78 Gb/s, 26.56 Gb/s, 27.95 Gb/s, 28.05 Gb/s')
        if '168' in option:
            print('Option 168: 25.78 Gb/s TDEC')
        if '206' in option:
            print('Option 206: 20.625 Gb/s')

def acquire_waveforms():
    """ Run acquisition limit test and acquire 200 waveforms """

    FlexDCA.timeout = 60000 # 60s
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay') # clear display
    pattern_locked = int(FlexDCA.query(':TRIGger:PLOCk?'))
    if pattern_locked:
        print('Acquiring 200 patterns. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 200')
    else:
        print('Acquiring 200 waveforms. Please wait...')
        FlexDCA.write(':LTESt:ACQuire:CTYPe WAVeforms')
        FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquire waveforms')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def load_eye_mask(data_rate):
    """ Loads an eye mask and turns on mask test. The selected mask is based
    on the data rate.
    """
    masks = {
        '1.244':('g.984 1244.16Mbps Downstream',
        "%DEMO_DIR%\\Masks\\G.984.2\\'001.24416 - 1244.16_G.984.2_Downstream_March_2003.mskx'"),
        '1.250':('Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\001.2500 - 01xGbEthernet.mskx"'),
        '2.488':('STM16/OC48',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\002.48832 - STM016_OC48.mskx"'),
        '2.500':('2 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\002.5000 - 02xGbEthernet.mskx"'),
        '3.125':('10 Gb Ehternet LX-4',
        '"%DEMO_DIR%\\Masks\\Ethernet\\003.1250 - 10GBASE-LX4.mskx"'),
        '8.500':('8x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\008.5000 - FC-PI-4 Multimode.mskx"'),
        '9.953':('STM64/OC192',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\009.95328 - STM064_OC192.mskx"'),
        '10.3125':('10 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\010.3125 - 10GbEthernet_10_3125.mskx"'),
        '10.51875':('10x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\010.51875 - 10xFiberChannel.mskx"'),
        '10.664':('OC-192/STM-64 FEC',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\010.66432 - STM64_OC192FEC_10_664.mskx"'),
        '10.709':('STM-64/OC-192 FEC',
        '"%DEMO_DIR%\\Masks\\SONET_SDH\\010.70900 - STM64_OC192FEC_10_709.mskx"'),
        '11.0957':('10 Gb Ethernet FEC','?'),
        '11.317':('10x fibre channel FEC','?'),
        '12.400':('10xGB Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\012.5000 - 10xGbEthernet_12_5.mskx"'),
        '20.6':('','?'),
        '25.78':('25/50/100 Gb Ethernet',
        '"%DEMO_DIR%\\Masks\\Ethernet\\025.78125 - 100G-CLR4_FEC.mskx"'),
        '26.56':('400 Gb Ethernet','?'),
        '27.95':('OTU4','?'),
        '28.05':('32x fibre channel',
        '"%DEMO_DIR%\\Masks\\Fibre Channel\\028.0500 - 32GFC_MM_Tx.mskx"')
    }
    mask_keys = masks.keys()
    for key in mask_keys: # iterate through keys
        if data_rate in key: # data_rate string may be shorter than key
            print('Loading '+masks[key][0]+' mask. Please wait...')
            sys.stdout.flush() # Flush print message in stdout
            FlexDCA.write(':MTESt1:ALIGnment:X AUTomatic')
            FlexDCA.write(':MTESt1:LOAD:FNAMe ' + masks[key][1])
            handle_OPC_query(':MTESt1:LOAD','Mask load')
            FlexDCA.write(':MTESt1:MARGin:STATe ON')
            FlexDCA.write(':MTESt1:MARGin:METHod AUTO')
            FlexDCA.write(':MTESt1:MARGin:AUTO:METHod HRATio')
            FlexDCA.write(':MTESt1:MARGin:AUTO:HRATio 5e-5')
            return True
    print('Mask not found.')
    return False

def get_measurement_results():
    # Return Mask Test Results
    print('-' * 50)
    print('Mask Test Results')
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:HREGion'+reg+'?')
        print('\tStandard Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:MHREgion'+reg+'?')
        print('\tMargin Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MHITs?')
    print('\tTotal Margin Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MARgin?')
    print('\tMask Test Margin: ' + eng_notation(hits,'1.0') + '%')
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    meas = FlexDCA.query(':MEASure:EYE:FALLtime?')
    print('\tFall Time: ' + eng_notation(meas,'1.0') + 's')
    meas = FlexDCA.query(':MEASure:EYE:RISetime?')
    print('\tRise Time: ' + eng_notation(meas,'1.0') + 's')
    meas = FlexDCA.query(':MEASure:EYE:AMPLitude?')
    print('\tEye Amplitude: ' + eng_notation(meas,'1.0') + 'W')

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            return False
        else:
            print('' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
mode = introductory_text()
mode = basic_setup(mode, FLEXPC_ADDRESS, FLEXD_ADDRESS, THE_86100D_NAME)
if setup_correct(mode):
    slots = discover_modules()
    show_found_modules(slots)
    slot = select_slot(REQUIRED_MODULES,slots)
    if 1 <= slot <= 8:
        channel = str(slot) + (select_channel(slot))
        turn_on_channel(channel)
        data_rate =  confirm_DCAM_signals(channel)
        if data_rate:
            if load_eye_mask(data_rate):
                acquire_waveforms()
                get_measurement_results()
                print('\nProgram has successfully completed.')
    else:
        print('Aborting program.')
    error_messages()
    print_error_messages() # Check FlexDCA for any error messages
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 5
Demonstrates the use of a clock recovery module. An eye mask test is
started and measurements returned.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 861xxA/B/C/D optical module in 86100D's left slot
    - 83496A/B clock recovery module in 86100D's right slot
    - Optical signal displayed on FlexDCA channel 1A
    - If modules are not installed, a simulated module will be
      automatically installed and used which does not require an 86100D.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.

"""
import sys
import visa # http://pyvisa.sourceforge.net
import decimal as dc

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
#FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'

""" If needed, edit for proper data rate and eye mask
"""
DATARATE = '9.953E+9' # data rate as string
MASKFILE = '"%DEMO_DIR%\\Masks\\Ethernet\\009.95328 - 10GbE_9_953_May02.mskx"'
"""______________________________________________________________________
"""

IOTIMEOUT = 20000
ValidLeftModules = ('86116C','86115D','86105D','86105C')
ValidRightModules = ('83496A','83496B')
ErrorList = []

#________________________________________
# Define Functions

def introductory_text(ValidLeftModules,ValidRightModules):
    """ Prints short description of script and its requirements.
    """
    print('\nDemonstrates an eye mask test with clock recovery.\n' + \
            'Uses the requested modules or simulated module.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86100D with 86116C, 86115D, 86105D, or 86105C in\n' + \
        '      86100D\'s left slot\n' + \
        '    - 83496A/B in the right slot.\n' + \
        '    - Connect an optical data signal to channel 1A that is at a \n' + \
        '      valid filter rate for the module. \n' + \
        '    - Connect an electrical data signal to the 83496A/B.\n' + \
        '    - Enter the data rate into the script\'s DATARATE constant \n' + \
        '      located near the top of the script. Default value is \n' + \
        '      \'9.953E+9\'.\n' + \
        '    - If modules are not installed, a simulated module will be\n' + \
        '      installed which does not require an 86100D.\n' + \
        '    - Enter FlexDCA\'s VISA address into the script\'s\n' + \
        '      FLEXDCA_ADDRESS global CONSTANT that is located near top of\n' + \
        '      script.')
    s = input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit.\n' + 'or "h" to view valid modules: ')
    if (s == 'q'):
        return False
    elif (s == 'h'):
        print('Valid Modules for left slot:')
        for i in range(len(ValidLeftModules)):
            print('\t' + ValidLeftModules[i])
        print('Valid Modules for right slot:')
        for i in range(len(ValidRightModules)):
            print('\t' + ValidRightModules[i])
        return False
    else:
        return True

def module_installed(ValidLeftModules,ValidRightModules):
    global channel
    LeftModule = FlexDCA.query(':SYSTem:MODel? SLOT1')
    RightModule = FlexDCA.query(':SYSTem:MODel? SLOT3')
    if (LeftModule in ValidLeftModules) and (RightModule in ValidRightModules): # Both modules present
        print('\nInstalled modules will be used.')
        return True
    else: # Dual simulated optical module setup
        print('\nRecommended modules are not present.')
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DOMini')
        return False

def default_setup(modules):
    """ Selects Eye mode and configures module channels.
    """

    handle_OPC_query(':SYSTem:DEFault','Default setup')
    handle_OPC_query(':SYSTem:MODE EYE','Eye mode') # Select Eye/Mask Mode
    if modules:
        FlexDCA.write(':CHAN1A:DISPlay ON')
        FlexDCA.write(':TRIGger:SOurce SLOT3') # 83496A/B module
        FlexDCA.write(':CHAN1A:WAVelength WAVelength3') # Select Wavelength for optical module
        FlexDCA.write(':CHAN1A:FSELect FILTer5') # Select Filter for optical module
        FlexDCA.write(':CHAN1A:FILTer ON') # Activate filter
    else: # simulated module
        FlexDCA.write(':SOURce5A:DRATe ' + DATARATE)
        FlexDCA.write(':SOURce5A:WTYPe DATA')
        FlexDCA.write(':SOURce5A:PLENgth 127')
        FlexDCA.write(':SOURce5A:AMPLitude 500.5E-6') # 500 uW amplitude
        FlexDCA.write(':SOURce5A:NOISe:RN 12.0E-6') # Add 12 uW random noise
        FlexDCA.write(':SOURce5A:JITTer:RJ 9.0E-12') # Add 9 ps random jitter
        FlexDCA.write(':CHANnel5A:DISPlay ON')
    FlexDCA.write(':ACQuire:RUN')

def clock_data_recovery():
    """ Configures 83496A/B clock recovery.
    """

    FlexDCA.write(':CRECovery3:SOURce ELECtrical') # Clock recovery input
    FlexDCA.write(':CRECovery3:CRATe ' + DATARATE) # Select clock recovery data rate
    FlexDCA.write(':CRECovery3:CLBandwidth 5.00E+5') # Select PLL BW for CDR
    handle_OPC_query(':CRECovery3:RELock','Clock recovery') # Lock CDR

def load_eye_mask(MaskFile):
    """ Loads an eye mask. May not match your data rate but is on for example.
    """

    FlexDCA.write(':MTESt1:ALIGnment:X AUTomatic')
    FlexDCA.write(':MTESt1:LOAD:FNAMe ' + MaskFile)
    handle_OPC_query(':MTESt1:LOAD','Load mask')
    FlexDCA.write(':MTESt1:MARGin:STATe ON')
    FlexDCA.write(':MTESt1:MARGin:METHod AUTO')
    FlexDCA.write(':MTESt1:MARGin:AUTO:METHod HRATio')
    FlexDCA.write(':MTESt1:MARGin:AUTO:HRATio 5e-5')
    handle_OPC_query(':SYST:AUToscale', 'Autoscale')

def acquire_waveforms():
    """ Run acquisition limit and acquire 200 waveforms.
    """

    FlexDCA.timeout = 60000 # 60s
    print('Acquiring 200 waveforms. Times out after 60s. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay')
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquire waveforms')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def get_measurement_results():
    """ Return Mask Test Results
    """

    print('-' * 50)
    print('  Mask Test Results')
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:HREGion'+reg+'?')
        print('\tStandard Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:MHREgion'+reg+'?')
        print('\tMargin Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MHITs?')
    print('\tTotal Margin Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MARgin?')
    print('\tMask Test Margin: ' + eng_notation(hits,'1.0') + '%')
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('  Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    s = eng_notation(FlexDCA.query(':MEASure:EYE:FALLtime?'),'1.0')
    print('\tFall Time: %ss' %s)
    s = eng_notation(FlexDCA.query(':MEASure:EYE:RISetime?'),'1.0')
    print('\tRise Time: %ss' %s)
    s = eng_notation(FlexDCA.query(':MEASure:EYE:AMPLitude?'),'1.0')
    print('\tEye Amplitude: %sW' %s)

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.

    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

# Open session between Python and FlexDCA.
rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS) # HiSLIP
FlexDCA.timeout = IOTIMEOUT # Set Timeout to 20s.
FlexDCA.read_termination = '\n' # Set termination characters

if introductory_text(ValidLeftModules,ValidRightModules):
    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to FlexDCA:\n' + s)
    if module_installed(ValidLeftModules,ValidRightModules):
        default_setup(True)
        clock_data_recovery()
    else:
        default_setup(False)
    load_eye_mask(MASKFILE)
    acquire_waveforms()
    get_measurement_results()
    print('\nProgram Finished.')
    error_messages()
    print_error_messages()

FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 5 (Python 2.7)
Example of an eye mask test with measurements on FlexDCA.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 861xxA/B/C/D optical module in 86100D's left slot
    - 83496A/B clock recovery module in 86100D's right slot
    - Optical signal displayed on FlexDCA channel 1A
    - If modules are not installed, a simulated module will be
      automatically installed and used which does not require an 86100D.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.

"""
import sys
import visa # http://pyvisa.sourceforge.net
import decimal as dc

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
#FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'

""" If needed, edit for proper data rate and eye mask
"""
DATARATE = '9.953E+9' # data rate as string
MASKFILE = '"%DEMO_DIR%\\Masks\\Ethernet\\009.95328 - 10GbE_9_953_May02.mskx"'
"""______________________________________________________________________
"""

IOTIMEOUT = 20000
ValidLeftModules = ('86116C','86116B','86115D','86115B','86105D','86105C',
                    '86113A','86111A','86109A','86109B','86106A','86106B',
                    '86105A','86105B')
ValidRightModules = ('83496A','83496B')
ErrorList = []

#________________________________________
# Define Functions

def introductory_text(ValidLeftModules,ValidRightModules):
    """ Prints short description of script and its requirements.
    """
    print('\nThis script performs an eye mask test with measurements\n' + \
            'on FlexDCA using the requested modules or simulated module.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86100D\n' + \
        '    - 861xxA/B/C/D optical module in 86100D\'s left slot\n' + \
        '    - 83496A/B in the right slot.\n' + \
        '    - Connect an optical data signal to channel 1A that is at a \n' + \
        '      valid filter rate for the module. \n' + \
        '    - Connect an electrical data signal to the 83496A/B.\n' + \
        '    - Enter the data rate into the script\'s DATARATE constant \n' + \
        '      located near the top of the script. Default value is \n' + \
        '      \'9.953E+9\'.\n' + \
        '    - If modules are not installed, a simulated module will be\n' + \
        '      installed which does not require an 86100D.\n' + \
        '    - Enter FlexDCA\'s VISA address into the script\'s\n' + \
        '      FLEXDCA_ADDRESS global CONSTANT that is located near top of\n' + \
        '      script.')
    s = raw_input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit.\n' + 'or "h" to view valid modules: ')
    if (s == 'q'):
        return False
    elif (s == 'h'):
        print('Valid Modules for left slot:')
        for i in range(len(ValidLeftModules)):
            print('\t' + ValidLeftModules[i])
        print('Valid Modules for right slot:')
        for i in range(len(ValidRightModules)):
            print('\t' + ValidRightModules[i])
        return False
    else:
        return True

def module_installed(ValidLeftModules,ValidRightModules):
    global channel
    LeftModule = FlexDCA.query(':SYSTem:MODel? SLOT1')
    RightModule = FlexDCA.query(':SYSTem:MODel? SLOT3')
    if (LeftModule in ValidLeftModules) and (RightModule in ValidRightModules): # Both modules present
        print('\nInstalled modules will be used.')
        return True
    else: # Dual simulated optical module setup
        print('\nRecommended modules are not present.')
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DOMini')
        return False

def default_setup(modules):
    """ Selects Eye mode and configures module channels.
    """

    handle_OPC_query(':SYSTem:DEFault','Default setup')
    handle_OPC_query(':SYSTem:MODE EYE','Eye mode') # Select Eye/Mask Mode
    if modules:
        FlexDCA.write(':CHAN1A:DISPlay ON')
        FlexDCA.write(':TRIGger:SOurce SLOT3') # 83496A/B module
        FlexDCA.write(':CHAN1A:WAVelength WAVelength3') # Select Wavelength for optical module
        FlexDCA.write(':CHAN1A:FSELect FILTer5') # Select Filter for optical module
        FlexDCA.write(':CHAN1A:FILTer ON') # Activate filter
    else: # simulated module
        FlexDCA.write(':SOURce5A:DRATe ' + DATARATE)
        FlexDCA.write(':SOURce5A:WTYPe DATA')
        FlexDCA.write(':SOURce5A:PLENgth 127')
        FlexDCA.write(':SOURce5A:AMPLitude 500.5E-6') # 500 uW amplitude
        FlexDCA.write(':SOURce5A:NOISe:RN 12.0E-6') # Add 12 uW random noise
        FlexDCA.write(':SOURce5A:JITTer:RJ 9.0E-12') # Add 9 ps random jitter
        FlexDCA.write(':CHANnel5A:DISPlay ON')
    FlexDCA.write(':ACQuire:RUN')

def clock_data_recovery():
    """ Configures 83496A/B clock recovery.
    """

    FlexDCA.write(':CRECovery3:SOURce ELECtrical') # Clock recovery input
    FlexDCA.write(':CRECovery3:CRATe ' + DATARATE) # Select clock recovery data rate
    FlexDCA.write(':CRECovery3:CLBandwidth 5.00E+5') # Select PLL BW for CDR
    handle_OPC_query(':CRECovery3:RELock','Clock recovery') # Lock CDR

def load_eye_mask(MaskFile):
    """ Loads an eye mask. May not match your data rate but is on for example.
    """

    FlexDCA.write(':MTESt1:ALIGnment:X AUTomatic')
    FlexDCA.write(':MTESt1:LOAD:FNAMe ' + MaskFile)
    handle_OPC_query(':MTESt1:LOAD','Load mask')
    FlexDCA.write(':MTESt1:MARGin:STATe ON')
    FlexDCA.write(':MTESt1:MARGin:METHod AUTO')
    FlexDCA.write(':MTESt1:MARGin:AUTO:METHod HRATio')
    FlexDCA.write(':MTESt1:MARGin:AUTO:HRATio 5e-5')
    handle_OPC_query(':SYST:AUToscale', 'Autoscale')

def acquire_waveforms():
    """ Run acquisition limit and acquire 200 waveforms.
    """

    FlexDCA.timeout = 60000 # 60s
    print('Acquiring 200 waveforms. Times out after 60s. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay')
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 200')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquire waveforms')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def get_measurement_results():
    """ Return Mask Test Results
    """

    print('-' * 50)
    print('  Mask Test Results')
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:HREGion'+reg+'?')
        print('\tStandard Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    for region in range(1,4):
        reg = str(region)
        hits = FlexDCA.query(':MEASure:MTESt1:MHREgion'+reg+'?')
        print('\tMargin Region '+reg+' Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MHITs?')
    print('\tTotal Margin Hits: ' + eng_notation(hits,'1'))
    hits = FlexDCA.query(':MEASure:MTESt1:MARgin?')
    print('\tMask Test Margin: ' + eng_notation(hits,'1.0') + '%')
    # Return measurement results shown on FlexDCA's table
    print('-' * 50)
    print('  Measurement Results')
    FlexDCA.write(':MEASure:EYE:AMPLitude') # Eye amplitude
    FlexDCA.write(':MEASure:EYE:RISetime') # Eye risetime
    FlexDCA.write(':MEASure:EYE:FALLtime') # Eye falltime
    s = eng_notation(FlexDCA.query(':MEASure:EYE:FALLtime?'),'1.0')
    print('\tFall Time: %ss' %s)
    s = eng_notation(FlexDCA.query(':MEASure:EYE:RISetime?'),'1.0')
    print('\tRise Time: %ss' %s)
    s = eng_notation(FlexDCA.query(':MEASure:EYE:AMPLitude?'),'1.0')
    print('\tEye Amplitude: %sW' %s)

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.

    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

# Open session between Python and FlexDCA.
rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS) # HiSLIP
FlexDCA.timeout = IOTIMEOUT # Set Timeout to 20s.
FlexDCA.read_termination = '\n' # Set termination characters

if introductory_text(ValidLeftModules,ValidRightModules):
    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to FlexDCA:\n' + s)
    if module_installed(ValidLeftModules,ValidRightModules):
        default_setup(True)
        clock_data_recovery()
    else:
        default_setup(False)
    load_eye_mask(MASKFILE)
    acquire_waveforms()
    get_measurement_results()
    print('\nProgram Finished.')
    error_messages()
    print_error_messages()

FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 4
Establishes Basic Communication with FlexDCA
This script opens a connection to FlexDCA, installs a simulated module and,
in Eye mode, returns the time scale and eye height measurement.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""

import sys
import decimal as dc
import visa # http://pyvisa.sourceforge.net

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
"""______________________________________________________________________
"""

def introductory_text():
    """ Prints short description of script.
    """
    print('\nEstablishes a connection to FlexDCA.\n' + \
            'A simulated module is installed in slot 5 and the time\n' + \
            'time scale is reported and eye height measurement is made.')
    print('-' * 50)
    print('Required setup:')
    print('    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
            '      correct VISA address.')
    s = input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def default_setup():
    """ Identifies FlexDCA and performs default setup.
    """

    s = FlexDCA.query('*IDN?') # Identify FlexDCA
    print('\nConnection established to this FlexDCA:\n' + s)
    FlexDCA.write('*CLS') # Clear FlexDCA's status and error registers
    FlexDCA.write(':SYSTem:DEFault;*OPC?')
    if FlexDCA.read():
        print('FlexDCA default setup completed.')
        return True
    else:
        print('FlexDCA default setup failed.')
        return False

def install_simulated_module():
    """ Installs a simulated dual-electrical module in slot 5 and
    configures module.
    """

    FlexDCA.write(':EMODules:SLOT5:SELection DEMini') # Install module
    FlexDCA.write(':SOURce5A:DRATe 9.95328E+9')
    FlexDCA.write(':SOURce5A:WTYPe DATA')
    FlexDCA.write(':SOURce5A:PLENgth 127')
    FlexDCA.write(':SOURce5A:AMPLitude 90E-3') # 90 mV amplitude
    FlexDCA.write(':SOURce5A:NOISe:RN 3.0E-6') # Add 3 uV random noise
    FlexDCA.write(':SOURce5A:JITTer:RJ 4.0E-12') # Add 4 ps random jitter
    FlexDCA.write(':CHAN5A:DISPlay ON') # Turn on channel 5A

def make_measurements():
    """
    Selects Eye/Mask mode and performs autoscale. The time scale is
    returned and an eye-height measurement is made.
    """

    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')
    if FlexDCA.query(':AUToscale;*OPC?'):
        print('FlexDCA is in Eye/Mask mode and autoscale has completed.')
    else:
        print('FlexDCA autoscale failed. Measurements not made.')
        return
    sys.stdout.flush() # Flush print message in stdout
    meas = FlexDCA.query(':TIMebase:SCALe?')
    print('\n\n\tTime scale: ' + eng_notation(meas,'1.00') + 's/div')
    FlexDCA.write(':MEASure:EYE:EHEight')
    meas = FlexDCA.query(':MEASure:EYE:EHEight?')
    print('\tEye Height: ' + eng_notation(meas,'1.00') + 'V')
    FlexDCA.write(':ACQuire:STOP')
    print('\nEye Height successfully measured.')

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def check_errors():
    """ Check FlexDCA's message buffer and print all existing errors. """

    finished = False
    while not finished:
        FlexDCA.write(':SYSTem:ERRor:NEXT?')
        s = FlexDCA.read()
        errornum = s.split(',')
        if (errornum[0] == '0'):
            finished = True
            continue
        print('Error: ' + s)

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = 20000 # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
if introductory_text() and default_setup():
    install_simulated_module()
    make_measurements()
check_errors()
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
EXAMPLE 4 (Python 2.7)
Establishes Basic Communication with FlexDCA
This script opens a connection to FlexDCA, installs a simulated module and,
in Eye mode, returns the time scale and eye height measurement.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""

import sys
import decimal as dc
import visa # http://pyvisa.sourceforge.net

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
"""______________________________________________________________________
"""

def introductory_text():
    """ Prints short description of script.
    """
    print('\nEstablishes a connection to FlexDCA.\n' + \
            'A simulated module is installed in slot 5 and the time\n' + \
            'time scale is reported and eye height measurement is made.')
    print('-' * 50)
    print('Required setup:')
    print('    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
            '      correct VISA address.')
    s = raw_input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def default_setup():
    """ Identifies FlexDCA and performs default setup.
    """

    s = FlexDCA.query('*IDN?') # Identify FlexDCA
    print('\nConnection established to this FlexDCA:\n' + s)
    FlexDCA.write('*CLS') # Clear FlexDCA's status and error registers
    FlexDCA.write(':SYSTem:DEFault;*OPC?')
    if FlexDCA.read():
        print('FlexDCA default setup completed.')
        return True
    else:
        print('FlexDCA default setup failed.')
        return False

def install_simulated_module():
    """ Installs a simulated dual-electrical module in slot 5 and
    configures module.
    """

    FlexDCA.write(':EMODules:SLOT5:SELection DEMini') # Install module
    FlexDCA.write(':SOURce5A:DRATe 9.95328E+9')
    FlexDCA.write(':SOURce5A:WTYPe DATA')
    FlexDCA.write(':SOURce5A:PLENgth 127')
    FlexDCA.write(':SOURce5A:AMPLitude 90E-3') # 90 mV amplitude
    FlexDCA.write(':SOURce5A:NOISe:RN 3.0E-6') # Add 3 uV random noise
    FlexDCA.write(':SOURce5A:JITTer:RJ 4.0E-12') # Add 4 ps random jitter
    FlexDCA.write(':CHAN5A:DISPlay ON') # Turn on channel 5A

def make_measurements():
    """
    Selects Eye/Mask mode and performs autoscale. The time scale is
    returned and an eye-height measurement is made.
    """

    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')
    if FlexDCA.query(':AUToscale;*OPC?'):
        print('FlexDCA is in Eye/Mask mode and autoscale has completed.')
    else:
        print('FlexDCA autoscale failed. Measurements not made.')
        return
    sys.stdout.flush() # Flush print message in stdout
    meas = FlexDCA.query(':TIMebase:SCALe?')
    print('\n\n\tTime scale: ' + eng_notation(meas,'1.00') + 's/div')
    FlexDCA.write(':MEASure:EYE:EHEight')
    meas = FlexDCA.query(':MEASure:EYE:EHEight?')
    s = eng_notation(meas,'1.00')
    print('\tEye Height: ' + s + 'V')
    FlexDCA.write(':ACQuire:STOP')
    print('\nEye Height successfully measured.')

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def check_errors():
    """ Check FlexDCA's message buffer and print all existing errors. """

    finished = False
    while not finished:
        FlexDCA.write(':SYSTem:ERRor:NEXT?')
        s = FlexDCA.read()
        errornum = s.split(',')
        if (errornum[0] == '0'):
            finished = True
            continue
        print('Error: ' + s)

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = 20000 # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
if introductory_text() and default_setup():
    install_simulated_module()
    make_measurements()
check_errors()
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
FlexEye_graph_inline.py (Python 3.4)

Demonstrates FlexEye independent eye acquisition using FlexDCA offline
with a simulated module. Each channel is run as an independent sampling
oscilloscope. This program runs the subprocess program
FlexEye_graph_inline_child.py.

Start the script to see instructions.
Requires:
    - Python 3.4
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
from decimal import Decimal
import sys
import time
import visa # import VISA library
import matplotlib.pyplot as plt

# Addresses for connecting to FlexDCA
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
CHANNEL = '1A' # Channel waveform to monitor and graph
TIME_IN_MINUTES = 1 # Monitor eye with for 1 minute
SECONDS_BETWEEN_DATA = 0.5 # Time in seconds between each measurement
IOTIMEOUT = 20000
ErrorList = []

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:\n' + \
        'Installs a simulated module and turns on channel 1A\n' + \
        'An Eye Width measurement is monitored over 1 minute with a \n' + \
        'the Eye Width measured every second. After one minute, an inline\n' + \
        'graph is displayed in the IPython console. The graph is drawn\n' + \
        'using the matplotlib library which is provided with Anaconda.\n' + \
        'The file eye_width_graph_1A.png is saved in script\'s folder.')
    print('-' * 50)
    s = input('When ready, press Enter. Or, press "q" to exit: ')
    if s == 'q':
        return False
    else:
        return True

def install_simulated_module(chan):
    """ Installs simulated mini module and configures the channels.
    """

    FlexDCA.query(':SYSTem:FACTory;*OPC?')
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Dual elect. module
    FlexDCA.write(':SOURce'+chan+':DRATe 9.95328E+9')
    FlexDCA.write(':SOURce'+chan+':WTYPe DATA')
    FlexDCA.write(':SOURce'+chan+':PLENgth 127')
    FlexDCA.write(':SOURce'+chan+':AMPLitude 90E-3') # 90 mV amplitude
    FlexDCA.write(':SOURce'+chan+':NOISe:RN 3.0E-6') # Add 3 uV random noise
    FlexDCA.write(':SOURce'+chan+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
    FlexDCA.write(':SOURce'+chan+':FILTer:TYPE BESSel4') # Add filter
    FlexDCA.write(':SOURce'+chan+':FILTer:CUToff 1.0E+10')
    FlexDCA.write(':SOURce'+chan+':FILTer:STATe ON')
    FlexDCA.write(':CHANnel'+chan+':DISPlay ON')
    print('Simulated modules installed.')
    sys.stdout.flush()
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def acquire_waveforms(chan):
    """ Run acquisition limit and acquire 10 waveforms.
    """

    FlexDCA.query(':AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay')
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 10')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquisition')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.write(':ACQuire:RUN')
    print('Eye diagram ready to monitor.')
    sys.stdout.flush()

def monitor_eye_width(channel, minutes, seconds):
    """ Monitors the temperature for required minutes by performing a
    measurement every seconds. channel is a string, minutes (float) and
    seconds (int).
    """

    print('Monitoring Eye Width. Please wait...')
    width_data = [] # list of Decimals
    start = time.time()
    elapsed_time = 0
    FlexDCA.write(':MEASure:EYE:LIST:CLEar')
    FlexDCA.write(':MEASure:EYE:EWIDth:SOURce ' + channel)
    FlexDCA.write(':MEASure:EYE:EWIDth')
    while elapsed_time < (minutes * 60):
        reading = float(FlexDCA.query(':MEASure:EYE:EWIDth?'))
        width = Decimal(reading / 1E-12)
        width_data.append(width.quantize(Decimal('0.01')))
        elapsed_time = time.time() - start
        time.sleep(seconds)
        print(' .', end='')
    print('\n')
    return width_data

def create_time_data(number_of_data_points,minutes,time_sep):
    """
    Creates list of time data and scales it for seconds, minutes, or hours
    units. The units (xunits) is returned. The argument, number_of_data_points,
    is an int. The minutes argument is the total test time (float). The
    time_sep argument is the seconds (int) between data points.
    """
    xunits = ''
    time_data = [] # list of times for each data point
    if 0 < minutes < 5: # 5 minutes
        time_data = [(i*time_sep) for i in range(0,number_of_data_points)]
        xunits = 'seconds'
    elif 5 <= minutes < 180: # 5 to 180 minutes (3 hours)
        time_data = [(i*time_sep / 60) for i in range(0,number_of_data_points)]
        xunits = 'minutes'
    else: # >= 3 hours
        time_data = [(i*time_sep / 3600) for i in range(0,number_of_data_points)]
        xunits = 'hours'
    return time_data, xunits

def draw_and_save_graph(y_data, x_data, xunits, channel):
    """
    A matplotlib graph is created and saved to a file in the default folder.
    y_data argument is a list of Decimals of temperature readings.
    x_data argument is corresponding time positions.
    xunits is 'seconds', 'minutes', or 'hours'.
    channel argument is a string. eg, '1A'.
    """

    fig = plt.figure(figsize=(8,8),dpi=72)
    ax = fig.add_subplot(111)
    ax.grid(b=True, which='major', axis='both')
    s = 'Channel ' + channel + ' Eye Width over Time'
    s = s + '\n (Test time: '+ str(round(x_data[-1], 1)) +' ' + xunits + ')'
    ax.set_title(s)
    ax.set_xlabel(xunits.capitalize())
    ax.set_ylabel('Eye Width (Time in ps)')
    if len(y_data) < 20:
        ax.plot(x_data,y_data,'g.-') # data points shown
    else:
        ax.plot(x_data,y_data,'g-') # data points hidden. line only
    filename = 'eye_width_graph_' + channel + '.png'
    plt.savefig(filename, dpi=150)
    print('The file ' + filename + ' was saved in the default folder.')
    sys.stdout.flush() # Flush print message in stdout

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
s = FlexDCA.query('*CLS;*IDN?')
print('\nLAN Connection established to FlexDCA:\n' + s)
sys.stdout.flush()
if introductory_text():
    install_simulated_module(CHANNEL)
    acquire_waveforms(CHANNEL)
    y_data = monitor_eye_width(CHANNEL, TIME_IN_MINUTES, SECONDS_BETWEEN_DATA)
    x_data, xunits = create_time_data(len(y_data), TIME_IN_MINUTES, SECONDS_BETWEEN_DATA)
    draw_and_save_graph(y_data, x_data, xunits, CHANNEL)
    print('Program Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
FlexEye_graph_inline.py (Python 3.4)

Demonstrates FlexEye independent eye acquisition using FlexDCA offline
with a simulated module. Each channel is run as an independent sampling
oscilloscope. This program runs the subprocess program
FlexEye_graph_inline_child.py.

Start the script to see instructions.
Requires:
    - Python 3.4
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
from __future__ import print_function
from decimal import Decimal
import sys
import time
import visa # import VISA library
import matplotlib.pyplot as plt

# Addresses for connecting to FlexDCA
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
CHANNEL = '1A' # Channel waveform to monitor and graph
TIME_IN_MINUTES = 1 # Monitor eye with for 1 minute
SECONDS_BETWEEN_DATA = 0.5 # Time in seconds between each measurement
IOTIMEOUT = 20000
ErrorList = []

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:\n' + \
        'Installs a simulated module and turns on channel 1A\n' + \
        'An Eye Width measurement is monitored over 1 minute with a \n' + \
        'the Eye Width measured every second. After one minute, an inline\n' + \
        'graph is displayed in the IPython console. The graph is drawn\n' + \
        'using the matplotlib library which is provided with Anaconda.\n' + \
        'The file eye_width_graph_1A.png is saved in script\'s folder.')
    print('-' * 50)
    s = raw_input('When ready, press Enter. Or, press "q" to exit: ')
    if s == 'q':
        return False
    else:
        return True

def install_simulated_module(chan):
    """ Installs simulated mini module and configures the channels.
    """

    FlexDCA.query(':SYSTem:FACTory;*OPC?')
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Dual elect. module
    FlexDCA.write(':SOURce'+chan+':DRATe 9.95328E+9')
    FlexDCA.write(':SOURce'+chan+':WTYPe DATA')
    FlexDCA.write(':SOURce'+chan+':PLENgth 127')
    FlexDCA.write(':SOURce'+chan+':AMPLitude 90E-3') # 90 mV amplitude
    FlexDCA.write(':SOURce'+chan+':NOISe:RN 3.0E-6') # Add 3 uV random noise
    FlexDCA.write(':SOURce'+chan+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
    FlexDCA.write(':SOURce'+chan+':FILTer:TYPE BESSel4') # Add filter
    FlexDCA.write(':SOURce'+chan+':FILTer:CUToff 1.0E+10')
    FlexDCA.write(':SOURce'+chan+':FILTer:STATe ON')
    FlexDCA.write(':CHANnel'+chan+':DISPlay ON')
    print('Simulated modules installed.')
    sys.stdout.flush()
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def acquire_waveforms(chan):
    """ Run acquisition limit and acquire 10 waveforms.
    """

    FlexDCA.query(':AUToscale;*OPC?')
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay')
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 10')
    FlexDCA.write(':LTESt:ACQuire:STATe ON')
    handle_OPC_query(':ACQuire:RUN','Acquisition')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.write(':ACQuire:RUN')
    print('Eye diagram ready to monitor.')
    sys.stdout.flush()

def monitor_eye_width(channel, minutes, seconds):
    """ Monitors the temperature for required minutes by performing a
    measurement every seconds. channel is a string, minutes (float) and
    seconds (int).
    """

    print('Monitoring Eye Width. Please wait...')
    width_data = [] # list of Decimals
    start = time.time()
    elapsed_time = 0
    FlexDCA.write(':MEASure:EYE:LIST:CLEar')
    FlexDCA.write(':MEASure:EYE:EWIDth:SOURce ' + channel)
    FlexDCA.write(':MEASure:EYE:EWIDth')
    while elapsed_time < (minutes * 60):
        reading = float(FlexDCA.query(':MEASure:EYE:EWIDth?'))
        width = Decimal(reading / 1E-12)
        width_data.append(width.quantize(Decimal('0.01')))
        elapsed_time = time.time() - start
        time.sleep(seconds)
        print(' .', end='')
    print('\n')
    return width_data

def create_time_data(number_of_data_points,minutes,time_sep):
    """
    Creates list of time data and scales it for seconds, minutes, or hours
    units. The units (xunits) is returned. The argument, number_of_data_points,
    is an int. The minutes argument is the total test time (float). The
    time_sep argument is the seconds (int) between data points.
    """
    xunits = ''
    time_data = [] # list of times for each data point
    if 0 < minutes < 5: # 5 minutes
        time_data = [(i*time_sep) for i in range(0,number_of_data_points)]
        xunits = 'seconds'
    elif 5 <= minutes < 180: # 5 to 180 minutes (3 hours)
        time_data = [(i*time_sep / 60) for i in range(0,number_of_data_points)]
        xunits = 'minutes'
    else: # >= 3 hours
        time_data = [(i*time_sep / 3600) for i in range(0,number_of_data_points)]
        xunits = 'hours'
    return time_data, xunits

def draw_and_save_graph(y_data, x_data, xunits, channel):
    """
    A matplotlib graph is created and saved to a file in the default folder.
    y_data argument is a list of Decimals of temperature readings.
    x_data argument is corresponding time positions.
    xunits is 'seconds', 'minutes', or 'hours'.
    channel argument is a string. eg, '1A'.
    """

    fig = plt.figure(figsize=(8,8),dpi=72)
    ax = fig.add_subplot(111)
    ax.grid(b=True, which='major', axis='both')
    s = 'Channel ' + channel + ' Eye Width over Time'
    s = s + '\n (Test time: '+ str(round(x_data[-1], 1)) +' ' + xunits + ')'
    ax.set_title(s)
    ax.set_xlabel(xunits.capitalize())
    ax.set_ylabel('Eye Width (Time in ps)')
    if len(y_data) < 20:
        ax.plot(x_data,y_data,'g.-') # data points shown
    else:
        ax.plot(x_data,y_data,'g-') # data points hidden. line only
    filename = 'eye_width_graph_' + channel + '.png'
    plt.savefig(filename, dpi=150)
    print('The file ' + filename + ' was saved in the default folder.')
    sys.stdout.flush() # Flush print message in stdout

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
s = FlexDCA.query('*CLS;*IDN?')
print('\nLAN Connection established to FlexDCA:\n' + s)
sys.stdout.flush()
if introductory_text():
    install_simulated_module(CHANNEL)
    acquire_waveforms(CHANNEL)
    y_data = monitor_eye_width(CHANNEL, TIME_IN_MINUTES, SECONDS_BETWEEN_DATA)
    x_data, xunits = create_time_data(len(y_data), TIME_IN_MINUTES, SECONDS_BETWEEN_DATA)
    draw_and_save_graph(y_data, x_data, xunits, CHANNEL)
    print('Program Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
EXAMPLE 2
Example of acquiring 32 patterns in oscilloscope mode. Entire data pattern
is acquired and a specific bit pattern is located in the pattern and
displayed.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 86100D with precision timebase option.
    - Electrical or optical module in 86100D's left slot with a signal
      displayed on FlexDCA's channel 1A.
    - If modules are not installed, a simulated module will be
      automatically installed and used which does not require an 86100D.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global constant that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import sys
import visa # http://pyvisa.sourceforge.net

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
IOTIMEOUT = 20000
# modules supported in Flex-on-Flex setup configuration
MODULES = ('N1092A','N1092B','N1092D','N1090A','N1045A','86118A','86117A',
'86117B','86116C','86115D','86112A','86108A','86108B','86105D','86105C',
'83496A','83496B','83484A')
ErrorList = []

#________________________________________
# Functions

def introductory_text(valid_modules):
    """ Prints short description of script and its requirements.

    Input argument is a tuple of valid modules.
    """

    print('-' * 50)
    print('\nDemonstrates locating bit sequences within a pattern\n' + \
        'waveform in Oscilloscope mode.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86100D with module in left slot with a signal displayed\n' + \
        '      on channel 1A.\n' + \
        '    - If a valid module is not installed, a simulated module\n' + \
        '       will be installed and used.\n' + \
        '    - Enter FlexDCA\'s VISA address into the script\'s\n' + \
        '      FLEXDCA_ADDRESS global CONSTANT that is located near top of\n' + \
        '      script.')

    s = input('When ready, press:\n"Enter" key to continue,\n' + \
                '"q" to exit, or\n' + '"h" to view valid modules: ')
    if (s == 'q'):
        return False
    elif (s == 'h'):
        print('Valid Modules for slot 1/2:')
        for i in range(len(valid_modules)):
            print('\t' + valid_modules[i])
        return False
    else:
        return True

def module_installed(valid_modules, channel):
    """ Checks if a valid module is installed in the 86100D's left slot.
    If not, installs a simulated dual-optical module. Input argument is a
    tuple of valid modules.
    """

    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to:\n\nFlexDCA: ' + s)
    LeftModule = FlexDCA.query(':SYSTem:MODel? SLOT1')
    if (LeftModule in valid_modules): # Module present
        print('\nInstalled module will be used.')
        return '1A'
    else: # Dual simulated optical module setup
        print('\nA supported module is not present.')
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
        FlexDCA.write(':SOURce5A:AMPLitude 90E-3') # 90 mV amplitude
        FlexDCA.write(':SOURce5A:NOISe:RN 3.0E-6') # Add 3 uV random noise
        FlexDCA.write(':SOURce5A:JITTer:RJ 4.0E-12') # Add 4 ps random jitter
        return '5A'

def default_setup(channel):
    print('Please wait ...')
    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    handle_OPC_query(':SYSTem:MODE OSCilloscope','Oscilloscope Mode')
    FlexDCA.write(':CHANnel' + channel + ':DISPlay ON')
    handle_OPC_query(':TRIGger:PLOCk ON','Pattern lock')
    handle_OPC_query(':SYSTem:AUToscale','Autoscale')
    FlexDCA.write(':ACQuire:EPATtern ON') # Acquire entire pattern
    FlexDCA.write(':ACQuire:SPBit:MODe MANual') # Select samples/bit
    FlexDCA.write(':ACQuire:SPBit 31.99212598') # 32 samples/bit

def view_entire_pattern():
    PatternLength = FlexDCA.query(':TRIGger:PLENgth?') # Get pattern length
    FlexDCA.write(':TIMebase:BRANge ' + str(PatternLength)) # View entire pattern
    print('\nThe entire {0} pattern is displayed.'.format(str(PatternLength)))
    input('Press any key to continue: ')

def run_acquisition_limit_test(channel):
    """ Configures and runs acquisition limit test.

    32 patterns are acquired which results in a saved pattern waveform in
    internal format and a saved screen capture. For pattern smoothing,
    patterns acquired equal patterns smoothed.
    """

    PatternCount = '32'
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns ' + PatternCount)
    if int(PatternCount) > 1:
        FlexDCA.write(':ACQuire:ECOunt ' + PatternCount)
    FlexDCA.write('ACQuire:SINGle')
    FlexDCA.write(':ACQuire:CDISplay') # Clear acquired data
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition ready')

    # Acquire waveforms
    FlexDCA.timeout = 60000 # 60 seconds
    print('Acquiring '+PatternCount+' patterns. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query(':ACQuire:RUN', 'Acquisition started')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    print('Pattern acquisition completed.')

def find_bit_sequence(channel):
    print('*' * 30)
    print('A bit sequences is a string of "1" and "0" characters.\n' + \
        'For example: 1110')
    sequence = input('Enter a bit sequence using symbols 0 and 1: ').strip()
    sequence = sequence.strip('"')
    sequence = sequence.strip("'")
    FlexDCA.write(':TIMebase:UNITs BIT')
    FlexDCA.write(':TIMebase:FIND:SIGNal CHAN' + channel)
    FlexDCA.write(':TIMebase:FIND:SEQuence "' + sequence + '"')
    i = float(FlexDCA.query(':TIMebase:BPOSition?'))
    pattern_start = int(i)
    total = 0
    while True:
        FlexDCA.write(':TIMebase:FIND:NEXT')
        i = float(FlexDCA.query(':TIMebase:BPOSition?'))
        bit_offset = int(i)
        bit = bit_offset - pattern_start
        if bit == 0:
            print('The bit sequence was not found.')
            break
        total += 1 # found sequence
        if total == 1:
            print('\nDisplayed span for "'+ sequence+'" sequence is ' + \
                str(len(sequence)) + ' bits.\n')
            print('Repeatedly press enter key unit all sequences are found.')
            print('Or, press "q" to exit.\n')
            print('Bit Sequences Found'.center(30,' '))
            print('-' * 30)
            print('      Number    Bit Offset')
            print('-' * 30)
            first_found = bit
        elif bit == first_found: # starting to repeat from beginning
            print('\n'+str(total-1)+' sequences have been found.')
            break
        s = str(total).rjust(3,' ') + '      '
        s += str(bit).ljust(5,' ')
        print(s.center(30,' '), end='')
        s = input()
        if (s == 'q'):
            break

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()

FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text(MODULES):
    channel = module_installed(MODULES, '1A')
    default_setup(channel)
    view_entire_pattern()
    run_acquisition_limit_test(channel)
    find_bit_sequence(channel)
    error_messages()
    print_error_messages()
    print('\nProgram Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 2 (Python 2.7)
Example of acquiring 32 patterns in oscilloscope mode. Entire data pattern
is acquired and a specific bit pattern is located in the pattern and
displayed.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 86100D with precision timebase option.
    - Electrical or optical module in 86100D's left slot with a signal
      displayed on FlexDCA's channel 1A.
    - If modules are not installed, a simulated module will be
      automatically installed and used which does not require an 86100D.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global constant that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import sys
import visa # http://pyvisa.sourceforge.net

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
IOTIMEOUT = 20000
# modules supported in Flex-on-Flex setup configuration
MODULES = ('N1092A','N1092B','N1092D','N1090A','N1045A','86118A','86117A',
'86117B','86116C','86115D','86112A','86108A','86108B','86105D','86105C',
'83496A','83496B','83484A')
ErrorList = []

#________________________________________
# Functions

def introductory_text(valid_modules):
    """ Prints short description of script and its requirements.

    Input argument is a tuple of valid modules.
    """

    print('-' * 50)
    print('\nDemonstrates locating bit sequences within a pattern\n' + \
        'waveform in Oscilloscope mode.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86100D with module in left slot with a signal displayed\n' + \
        '      on channel 1A.\n' + \
        '    - If a valid module is not installed, a simulated module\n' + \
        '       will be installed and used.\n' + \
        '    - Enter FlexDCA\'s VISA address into the script\'s\n' + \
        '      FLEXDCA_ADDRESS global CONSTANT that is located near top of\n' + \
        '      script.')

    s = raw_input('When ready, press:\n"Enter" key to continue,\n' + \
                '"q" to exit, or\n' + '"h" to view valid modules: ')
    if (s == 'q'):
        return False
    elif (s == 'h'):
        print('Valid Modules for slot 1/2:')
        for i in range(len(valid_modules)):
            print('\t' + valid_modules[i])
        return False
    else:
        return True

def module_installed(valid_modules, channel):
    """ Checks if a valid module is installed in the 86100D's left slot.
    If not, installs a simulated dual-optical module. Input argument is a
    tuple of valid modules.
    """

    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to:\n\nFlexDCA: ' + s)
    LeftModule = FlexDCA.query(':SYSTem:MODel? SLOT1')
    if (LeftModule in valid_modules): # Module present
        print('\nInstalled module will be used.')
        return '1A'
    else: # Dual simulated optical module setup
        print('\nA supported module is not present.')
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
        FlexDCA.write(':SOURce5A:AMPLitude 90E-3') # 90 mV amplitude
        FlexDCA.write(':SOURce5A:NOISe:RN 3.0E-6') # Add 3 uV random noise
        FlexDCA.write(':SOURce5A:JITTer:RJ 4.0E-12') # Add 4 ps random jitter
        return '5A'

def default_setup(channel):
    print('Please wait ...')
    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    handle_OPC_query(':SYSTem:MODE OSCilloscope','Oscilloscope Mode')
    FlexDCA.write(':CHANnel' + channel + ':DISPlay ON')
    handle_OPC_query(':TRIGger:PLOCk ON','Pattern lock')
    handle_OPC_query(':SYSTem:AUToscale','Autoscale')
    FlexDCA.write(':ACQuire:EPATtern ON') # Acquire entire pattern
    FlexDCA.write(':ACQuire:SPBit:MODe MANual') # Select samples/bit
    FlexDCA.write(':ACQuire:SPBit 31.99212598') # 32 samples/bit

def view_entire_pattern():
    PatternLength = FlexDCA.query(':TRIGger:PLENgth?') # Get pattern length
    FlexDCA.write(':TIMebase:BRANge ' + str(PatternLength)) # View entire pattern
    print('\nThe entire {0} pattern is displayed.'.format(str(PatternLength)))
    raw_input('Press any key to continue: ')

def run_acquisition_limit_test(channel):
    """ Configures and runs acquisition limit test.

    32 patterns are acquired which results in a saved pattern waveform in
    internal format and a saved screen capture. For pattern smoothing,
    patterns acquired equal patterns smoothed.
    """

    PatternCount = '32'
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns ' + PatternCount)
    if int(PatternCount) > 1:
        FlexDCA.write(':ACQuire:ECOunt ' + PatternCount)
    FlexDCA.write('ACQuire:SINGle')
    FlexDCA.write(':ACQuire:CDISplay') # Clear acquired data
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition ready')

    # Acquire waveforms
    FlexDCA.timeout = 60000 # 60 seconds
    print('Acquiring '+PatternCount+' patterns. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query(':ACQuire:RUN', 'Acquisition started')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    print('Pattern acquisition completed.')

def find_bit_sequence(channel):
    print('*' * 30)
    print('A bit sequences is a string of "1" and "0" characters.\n' + \
        'For example: 1110')
    sequence = raw_input('Enter a bit sequence using symbols 0 and 1: ').strip()
    sequence = sequence.strip('"')
    sequence = sequence.strip("'")
    FlexDCA.write(':TIMebase:UNITs BIT')
    FlexDCA.write(':TIMebase:FIND:SIGNal CHAN' + channel)
    FlexDCA.write(':TIMebase:FIND:SEQuence "' + sequence + '"')
    i = float(FlexDCA.query(':TIMebase:BPOSition?'))
    pattern_start = int(i)
    total = 0
    while True:
        FlexDCA.write(':TIMebase:FIND:NEXT')
        i = float(FlexDCA.query(':TIMebase:BPOSition?'))
        bit_offset = int(i)
        bit = bit_offset - pattern_start
        if bit == 0:
            print('The bit sequence was not found.')
            break
        total += 1 # found sequence
        if total == 1:
            print('\nDisplayed span for "'+ sequence+'" sequence is ' + \
                str(len(sequence)) + ' bits.\n')
            print('Repeatedly press enter key unit all sequences are found.')
            print('Or, press "q" to exit.\n')
            print('Bit Sequences Found'.center(30,' '))
            print('-' * 30)
            print('      Number    Bit Offset')
            print('-' * 30)
            first_found = bit
        elif bit == first_found: # starting to repeat from beginning
            print('\n'+str(total-1)+' sequences have been found.')
            break
        s = str(total).rjust(3,' ') + '      '
        s += str(bit).ljust(5,' ')
        print(s.center(30,' '))
        s = raw_input()
        if (s == 'q'):
            break

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()

FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text(MODULES):
    channel = module_installed(MODULES, '1A')
    default_setup(channel)
    view_entire_pattern()
    run_acquisition_limit_test(channel)
    find_bit_sequence(channel)
    error_messages()
    print_error_messages()
    print('\nProgram Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
Program: FlexEye_graph_tk_27.py
Launches subprocess: FlexEye_graph_tk_child_27.py
Python version: 2.7

Demonstrates FlexEye independent eye acquisition using FlexDCA offline
with a simulated module. Each channel is run as an independent sampling
oscilloscope. Six Eye Width measurements are monitored over a period of 60
seconds on each channel. A Tkinter graph is shown for each measurement.
Start the script to see instructions.
Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
from __future__ import print_function

import subprocess
import sys
import time
import visa # import VISA library

# Addresses for connecting to FlexDCA
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

IOTIMEOUT = 20000
TIMEFORCHILD = 60
ErrorList = []

# For this program, only one channel should be assigned per session.
sessions = {1:'1A',
            2:'1B',
            3:'1C',
            4:'1D',
            5:'2A',
            6:'2B',
            7:'',
            8:'',
            9:'',
            10:'',
            11:'',
            12:'',
            13:'',
            14:'',
            15:''}

def introductory_text():
    """ Prints short description of script.
    """
    print('\nWhat you\'ll learn:\n')
    print('- Demonstrates FlexEye Parallel Eye Analysis.')
    print('- Child processes greatly reduce overall test time.')
    print('- Child processes report finished condition to parent process.')
    print('- Runs FlexEye_graph_tk_child_27.py script on each Session.')
    print('\nFlexDCA is used offline on a PC and simulated modules are\n' + \
        'automatically installed.')
    print('-' * 50)
    s = raw_input('When ready, press Enter. Or, press "q" to exit: ')
    if s == 'q':
        return False
    else:
        return True

def initialize_FlexDCA():
    """ Place FlexDCA in a know starting state.
    Checks to see if FlexEye is already running. If so exit FlexEye. Perform
    a default setup.
    """
#    FlexEyestate = FlexDCA.query(':FEYE:STATe?')
#    if (FlexEyestate in 'PAUSE') or (FlexEyestate in 'RUN'):
#        FlexDCA.query(':FEYE:STATe PAUSE;*OPC?')
#        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    FlexDCA.query(':SYSTem:DEFault;*OPC?')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def install_simulated_modules(sessions):
    """ Install simulated modules and configure the simulated channels
    that are listed in the sessions dictionary.
    """
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Quad elect. module
    FlexDCA.write(':EMODules:SLOT2:SELection QEMini') # Quad elect. module
    for session in sessions: # iterate through 15 keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tupple
                if ch[0] in 'D': # configure differential channels
                    ch1 = ch[1:3]
                    if ch1[1] in 'A':
                        ch2 = ch1[0] + 'B'
                    elif ch1[1] in 'C':
                        ch2 = ch1[0] + 'D'
                    FlexDCA.write(':SOURce'+ch1+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch1+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch1+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch1+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch1+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch1+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':SOURce'+ch1+':DIFFerential ON')
                    FlexDCA.write(':CHANnel'+ch1+':DISPlay OFF')
                    FlexDCA.write(':SOURce'+ch2+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch2+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch2+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch2+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch2+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch2+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch2+':DISPlay OFF')
                else: # configure channel
                    FlexDCA.write(':SOURce'+ch+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':SOURce'+ch+':FILTer:TYPE BESSel4') # Add filter
                    FlexDCA.write(':SOURce'+ch+':FILTer:CUToff 1.0E+10')
                    FlexDCA.write(':SOURce'+ch+':FILTer:STATe ON')
                    FlexDCA.write(':CHANnel'+ch+':DISPlay OFF')
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def start_FlexEye(sessions):
    """ Configures each FlexEye session to the state defined in the
    sessions dictionary. Then, turns FlexEye on.
    """
    print('Starting FlexEye. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    for session in sessions: # iterate through 15 session keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tupple
                if ch[0] in 'D': # configure differential channels
                    ch1 = ch[1:3]
                    FlexDCA.write(':FEYE:CHANnel' + ch1 + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:DIFF' + ch1 + ':ENABled ON')
                else: # configure channel
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':ENABled ON')
    FlexDCA.query(':FEYE:STATe RUN;*OPC?')
    print('FlexEye is ready to use.')
    sys.stdout.flush() # Flush print message in stdout

def run_child_processes(primary_address, sessions):
    """ Starts a FlexEye child process for each channel. Read's child
    processess stdout to determine when graph is displayed. Each child
    processess is ended by user when manually closing graph window.
    """
    print('Starting child processes.')
    print('Making measurements for graphs. Please wait...')
    sys.stdout.flush()
    start_time = time.time()
    child_processes = [] # list of child processes
    cmd = ['python',
           'FlexEye_graph_tk_child_27.py',
           '',
           '']
    i = 1 # hislip number
    for session in sessions: # iterate through 15 session keys
        channels = sessions[session] # comma separated string of channels
        if channels: # if valid session with channels
            cmd[2] = primary_address.replace('hislip0', 'hislip' + str(i))
            cmd[3] = channels # string of comma separated channels
            p = subprocess.Popen(cmd,stdout=subprocess.PIPE,universal_newlines=True)
            child_processes.append(p)
            i += 1
    # Pauses parent execution waiting for "graph displayed" message from child.
    # This allows ability to discover time needed to display the graphs.
    for n in range(0, TIMEFORCHILD - 5):
        time.sleep(1)
        print(' .', end='')
    print('\n')
    for n in range(len(child_processes)):
        while True:
            line = child_processes[n].stdout.readline()
            if line:
                print(line) # print graph displayed message from child
                sys.stdout.flush()
                break
    # how much time did child processes take to complete
    process_time = int(time.time() - start_time)
    m, s = divmod(process_time, 60)
    print('A child process takes 1 minute to make measurement.\n' + \
        'Time required for 6 parallel child processes:\n' + \
        '  '+str(m)+' minute, '+str(s)+' seconds.\n')
    sys.stdout.flush()

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
print('\nLAN Connection established to FlexDCA:\n')
print(FlexDCA.query('*CLS;*IDN?') + '\n')
sys.stdout.flush()
if introductory_text():
    initialize_FlexDCA()
    install_simulated_modules(sessions)
    start_FlexEye(sessions)
    run_child_processes(FLEXDCA_ADDRESS, sessions)
    print('Program Finished.')
    FlexDCA.query(':FEYE:STATe PAUSE;*OPC?')
    FlexDCA.query(':FEYE:STATe STOP;*OPC?')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
Subprocess: FlexEye_graph_tk_child_27.py
Launched by FlexEye_graph_tk_27.py
Python version: 2.7

This program is designed to be a subprocess as an example of FlexEye
independent acquisitions. This program displays a Tkinter graph of the
change in Eye Width over time.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
from decimal import Decimal
import sys
import time
import visa # import VISA library

def monitor_eye_width(channel, minutes, seconds):
    """ Monitors the temperature for required minutes by performing a
    measurement every seconds. channel is a string, minutes (float) and
    seconds (int).
    """

    width_data = [] # list of Decimals
    start = time.time()
    elapsed_time = 0
    FlexDCA.write(':MEASure:EYE:LIST:CLEar')
    FlexDCA.write(':MEASure:EYE:EWIDth:SOURce ' + channel)
    FlexDCA.write(':MEASure:EYE:EWIDth')
    while elapsed_time < (minutes * 60):
        reading = float(FlexDCA.query(':MEASure:EYE:EWIDth?'))
        width = Decimal(reading / 1E-12)
        width_data.append(width.quantize(Decimal('0.01')))
        elapsed_time = time.time() - start
        time.sleep(seconds)
    return width_data

def create_time_data(number_of_data_points,minutes,time_sep):
    """
    Creates list of time data and scales it for seconds, minutes, or hours
    units. The units (xunits) is returned. The argument, number_of_data_points,
    is an int. The minutes argument is the total test time (float). The
    time_sep argument is the seconds (int) between data points.
    """
    xunits = ''
    time_data = [] # list of times for each data point
    if 0 < minutes < 5: # 5 minutes
        time_data = [(i*time_sep) for i in range(0,number_of_data_points)]
        xunits = 'seconds'
    elif 5 <= minutes < 180: # 5 to 180 minutes (3 hours)
        time_data = [(i*time_sep / 60) for i in range(0,number_of_data_points)]
        xunits = 'minutes'
    else: # >= 3 hours
        time_data = [(i*time_sep / 3600) for i in range(0,number_of_data_points)]
        xunits = 'hours'
    return time_data, xunits

def draw_graph(y_data, x_data, xunits, channel):
    """
    y_data argument is a list of Decimals of temperature readings.
    x_data argument is corresponding time positions.
    xunits is 'seconds', 'minutes', or 'hours'.
    channel argument is a string. eg, '1A'.
    """

    import matplotlib
    matplotlib.use('TkAgg')
    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
    from matplotlib.figure import Figure
    if sys.version_info[0] < 3:
        import Tkinter as Tk
    else:
        import tkinter as Tk

    def close_window():
        root.quit()
        root.destroy()

    root = Tk.Tk()
    root.wm_title("Graph of Eye Width")
    root.wm_attributes("-topmost", 1) # Make sure window remains on top
    root.focus() # Set focus to window

    # Override and redirect Windows close button
    root.protocol('WM_DELETE_WINDOW', close_window)
    # create figure
    fig = Figure(figsize=(8,8),dpi=72)
    ax = fig.add_subplot(111)
    ax.grid(b=True, which='major', axis='both')
    s = 'Channel ' + channel + ' Eye Width over Time'
    s = s + '\n (Test time: '+ str(round(x_data[-1], 1)) +' ' + xunits + ')'
    ax.set_title(s)
    ax.set_xlabel(xunits.capitalize())
    ax.set_ylabel('Eye Width (Time in ps)')

    max_y = float(max(y_data)) * 1.1
    min_y = float(min(y_data)) * 0.9
    ax.set_ylim(min_y, max_y)

    if len(y_data) < 20:
        ax.plot(x_data,y_data,'g.-') # data points shown
    else:
        ax.plot(x_data,y_data,'g-') # data points hidden. line only
    # draw canvas
    canvas = FigureCanvasTkAgg(fig, master=root)
    canvas.show()
    canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
    toolbar = NavigationToolbar2TkAgg(canvas, root)
    toolbar.update()
    canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
    # create close button
    button = Tk.Button(master=root, text='Close', command=close_window)
    button.pack(side=Tk.BOTTOM)
    print('Channel ' + channel + ' graph is displayed.')
    sys.stdout.flush() # Flush print message in stdout
    Tk.mainloop()

"""________________________________________
   Main script
   If more than one channel is passed as an argument to this child program,
   only the first channel will be used. All others are ignored.
"""
address = sys.argv[1] # VISA address command-line argument
s = sys.argv[2] # comma separated string of scope channels command-line argument
channels = s.split(',') # convert comma separated string to iterable list

TEST_TIME = 1.0 # minutes
MEAS_SEPARATION = 1 # seconds

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(address)
FlexDCA.timeout = 20000 # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
FlexDCA.query(':SYSTem:DEFault;*OPC?')
FlexDCA.write(':CHANnel'+ channels[0] +':DISPlay ON')
FlexDCA.query(':AUToscale;*OPC?')
FlexDCA.write(':ACQuire:STOP')
FlexDCA.write(':ACQuire:CDISplay')
# A limit acquisition test ensures that enough waveform data is available
# to start measuring the eye.
FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 10')
FlexDCA.write(':LTESt:ACQuire:STATe ON')
FlexDCA.query(':ACQuire:RUN;*OPC?')
FlexDCA.write(':LTESt:ACQuire:STATe OFF')
FlexDCA.query(':ACQuire:RUN;*OPC?')
test_time = 1.0 # minutes
time_sep = 1 # seconds
y_data = monitor_eye_width(channels[0], TEST_TIME, MEAS_SEPARATION)
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session
x_data, xunits = create_time_data(len(y_data), TEST_TIME, MEAS_SEPARATION)
draw_graph(y_data, x_data, xunits, channels[0])


# -*- coding: utf-8 -*-
"""
Program: FlexEye_sessions.py (Python 3.5)
Launches subprocess: FlexEye_sessions_child.py
Python version: 2.7/3.5

Demonstrates FlexEye independent eye acquisition using FlexDCA offline
with a simulated module. Each channel is run as an independent sampling
oscilloscope.
Requires:
    - Python 3.5
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
import subprocess
import sys
import visa # import VISA library

FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
IOTIMEOUT = 20000
sessions = {1:'D1A', # differential channels 1A and 1B
            2:'1C,2A',  # channels 1C and 2A
            3:'1D',
            4:'2B',
            5:'2C,2D',
            6:'',
            7:'',
            8:'',
            9:'',
            10:'',
            11:'',
            12:'',
            13:'',
            14:'',
            15:''}

def introductory_text():
    """ Prints short description of script.
    """
    print('\nWhat you\'ll learn:\n')
    print('- Demonstrates FlexEye Parallel Eye Analysis.')
    print('- Runs FlexEye_sessions_child.py script on each Session.')
    print('- Parent displays VISA address and channels tested for' + \
            '  for each Session (child process).')
    print('- Parent process finishes before child processes.')
    print('- Click on each Session tab to view each child process' + \
            ' running acquisition limit test.')
    print('\nFlexDCA is used offline on a PC and simulated modules are\n' + \
        'automatically installed.')
    print('-' * 50)
    s = raw_input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def initialize_FlexDCA():
    """ Place FlexDCA in a know starting state.
    Checks to see if FlexEye is already running. If so exit FlexEye. Perform
    a default setup.
    """
    flexeye_state = FlexDCA.query(':FEYE:STATe?')
    if flexeye_state in 'RUN':
        FlexDCA.query(':FEYE:STATe PAUSe;*OPC?')
        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    elif flexeye_state in 'PAUSe':
        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    FlexDCA.query(':SYSTem:DEFault;*OPC?')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def install_simulated_modules(sessions):
    """ Install simulated modules and configure the simulated channels
    that are listed in the sessions dictionary.
    """
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Quad elect. module
    FlexDCA.write(':EMODules:SLOT2:SELection QEMini') # Quad elect. module
    for session in sessions: # iterate through 15 keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tuple
                if ch[0] in 'D': # configure differential channel
                    ch1 = ch[1:3]
                    if ch1[1] in 'A':
                        ch2 = ch1[0] + 'B'
                    elif ch1[1] in 'C':
                        ch2 = ch1[0] + 'D'
                    FlexDCA.write(':SOURce'+ch1+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch1+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch1+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch1+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch1+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch1+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':SOURce'+ch1+':DIFFerential ON')
                    FlexDCA.write(':CHANnel'+ch1+':DISPlay OFF')
                    FlexDCA.write(':SOURce'+ch2+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch2+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch2+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch2+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch2+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch2+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch2+':DISPlay OFF')
                else: # configure channel
                    FlexDCA.write(':SOURce'+ch+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch+':DISPlay OFF')
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def start_FlexEye(sessions):
    """ Configures each FlexEye session to the state defined in the
    sessions dictionary. Then, turns FlexEye on.
    """
    print('Starting FlexEye. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    for session in sessions: # iterate through 15 session keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tupple
                if ch[0] in 'D': # configure differential channels
                    ch1 = ch[1:3]
                    FlexDCA.write(':FEYE:CHANnel' + ch1 + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:DIFF' + ch1 + ':ENABled ON')
                else: # configure channel
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':ENABled ON')
    FlexDCA.query(':FEYE:STATe RUN;*OPC?')
    print('FlexEye is ready to use.')
    sys.stdout.flush() # Flush print message in stdout

def run_child_processes(sessions):
    """ Builds the VISA address for each subprocess and then runs the
    subprocess.
    """
    print('Starting child processes.')
    i = 1 # hislip number
    cmd = ['python','FlexEye_sessions_child.py','','']
    for session in sessions: # iterate through 15 session keys
        channels = sessions[session] # comma separated string of channels
        if channels: # if valid session with channels
            cmd[2] = 'TCPIP0::localhost::hislip' + str(i) + ',4880::INSTR'
            cmd[3] = channels
            subprocess.Popen(cmd) # launch child process
            print('\nCommand arguments for Session '+ str(session) + ':')
            print('  VISA address: ' + cmd[2])
            print('  Channels: ' + cmd[3])
            i += 1
    print('\nParent process finished.')
    print('Child processes still running.')
    print('Click Session tabs to view measurements in progress.')
    sys.stdout.flush() # Flush print message in stdout

"""________________________________________
   Main script
"""
rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text():
    initialize_FlexDCA()
    install_simulated_modules(sessions)
    start_FlexEye(sessions)
    run_child_processes(sessions)
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
Program: FlexEye_sessions.py (Python 2.7)
Launches subprocess: FlexEye_sessions_child.py
Python version: 2.7/3.5

Demonstrates FlexEye independent eye acquisition using FlexDCA offline
with a simulated module. Each channel is run as an independent sampling
oscilloscope.
Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
import subprocess
import sys
import visa # import VISA library

FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
IOTIMEOUT = 20000
sessions = {1:'D1A', # differential channels 1A and 1B
            2:'1C,2A',  # channels 1C and 2A
            3:'1D',
            4:'2B',
            5:'2C,2D',
            6:'',
            7:'',
            8:'',
            9:'',
            10:'',
            11:'',
            12:'',
            13:'',
            14:'',
            15:''}

def introductory_text():
    """ Prints short description of script.
    """
    print('\nWhat you\'ll learn:\n')
    print('- Demonstrates FlexEye Parallel Eye Analysis.')
    print('- Runs FlexEye_sessions_child.py script on each Session.')
    print('- Parent displays VISA address and channels tested for' + \
            '  for each Session (child process).')
    print('- Parent process finishes before child processes.')
    print('- Click on each Session tab to view each child process' + \
            ' running acquisition limit test.')
    print('\nFlexDCA is used offline on a PC and simulated modules are\n' + \
        'automatically installed.')
    print('-' * 50)
    s = raw_input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def initialize_FlexDCA():
    """ Place FlexDCA in a know starting state.
    Checks to see if FlexEye is already running. If so exit FlexEye. Perform
    a default setup.
    """
    flexeye_state = FlexDCA.query(':FEYE:STATe?')
    if flexeye_state in 'RUN':
        FlexDCA.query(':FEYE:STATe PAUSe;*OPC?')
        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    elif flexeye_state in 'PAUSe':
        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    FlexDCA.query(':SYSTem:DEFault;*OPC?')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def install_simulated_modules(sessions):
    """ Install simulated modules and configure the simulated channels
    that are listed in the sessions dictionary.
    """
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Quad elect. module
    FlexDCA.write(':EMODules:SLOT2:SELection QEMini') # Quad elect. module
    for session in sessions: # iterate through 15 keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tuple
                if ch[0] in 'D': # configure differential channel
                    ch1 = ch[1:3]
                    if ch1[1] in 'A':
                        ch2 = ch1[0] + 'B'
                    elif ch1[1] in 'C':
                        ch2 = ch1[0] + 'D'
                    FlexDCA.write(':SOURce'+ch1+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch1+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch1+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch1+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch1+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch1+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':SOURce'+ch1+':DIFFerential ON')
                    FlexDCA.write(':CHANnel'+ch1+':DISPlay OFF')
                    FlexDCA.write(':SOURce'+ch2+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch2+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch2+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch2+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch2+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch2+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch2+':DISPlay OFF')
                else: # configure channel
                    FlexDCA.write(':SOURce'+ch+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch+':DISPlay OFF')
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def start_FlexEye(sessions):
    """ Configures each FlexEye session to the state defined in the
    sessions dictionary. Then, turns FlexEye on.
    """
    print('Starting FlexEye. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    for session in sessions: # iterate through 15 session keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tupple
                if ch[0] in 'D': # configure differential channels
                    ch1 = ch[1:3]
                    FlexDCA.write(':FEYE:CHANnel' + ch1 + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:DIFF' + ch1 + ':ENABled ON')
                else: # configure channel
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':ENABled ON')
    FlexDCA.query(':FEYE:STATe RUN;*OPC?')
    print('FlexEye is ready to use.')
    sys.stdout.flush() # Flush print message in stdout

def run_child_processes(sessions):
    """ Builds the VISA address for each subprocess and then runs the
    subprocess.
    """
    print('Starting child processes.')
    i = 1 # hislip number
    cmd = ['python','FlexEye_sessions_child.py','','']
    for session in sessions: # iterate through 15 session keys
        channels = sessions[session] # comma separated string of channels
        if channels: # if valid session with channels
            cmd[2] = 'TCPIP0::localhost::hislip' + str(i) + ',4880::INSTR'
            cmd[3] = channels
            subprocess.Popen(cmd) # launch child process
            print('\nCommand arguments for Session '+ str(session) + ':')
            print('  VISA address: ' + cmd[2])
            print('  Channels: ' + cmd[3])
            i += 1
    print('\nParent process finished.')
    print('Child processes still running.')
    print('Click Session tabs to view measurements in progress.')
    sys.stdout.flush() # Flush print message in stdout

"""________________________________________
   Main script
"""
rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text():
    initialize_FlexDCA()
    install_simulated_modules(sessions)
    start_FlexEye(sessions)
    run_child_processes(sessions)
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
Subprocess: FlexEye_sessions_cild.py
Launched by FlexEye_sessions.py
Python version: 2.7 and 3.5

This program is designed to be a sub-process that is run by
FlexEye_sessions.py as an example of FlexEye independent acquisitions.
This program performs a Rise Time measurement on an eye diagram.

Requires:
    - Python 2.7 or 3.5
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
import sys
import time
import visa # http://pyvisa.sourceforge.net

address = sys.argv[1] # VISA address command-line argument
s = sys.argv[2] # comma separated string of scope channels command-line argument
channels = s.split(',') # convert comma separated string to iterable list

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(address)
FlexDCA.timeout = 30000 # Set connection timeout to 30s.
FlexDCA.read_termination = '\n'

FlexDCA.query(':SYSTem:DEFault;*OPC?')
for ch in channels: # run through list of channels
    if ch[0] in 'D': # configure differential channels
        ch1 = ch[1:3]
        FlexDCA.write(':CHANnel'+ch1+':DISPlay OFF')
        FlexDCA.query(':DIFF'+ch1+':DMODe ON;*OPC?') # turn on differtial channel
        FlexDCA.write(':DIFF'+ch1+':DISPlay ON')
    else: # configure channel
        FlexDCA.write(':CHANnel'+ch+':DISPlay ON')
FlexDCA.query(':AUToscale;*OPC?')
FlexDCA.write(':ACQuire:STOP')
FlexDCA.write(':ACQuire:CDISplay')
# A limit acquisition test ensures that enough waveform data is available
# to start measuring the eye.
FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 3000')
FlexDCA.write(':LTESt:ACQuire:STATe ON')
FlexDCA.query(':ACQuire:RUN;*OPC?')
FlexDCA.write(':LTESt:ACQuire:STATe OFF')
FlexDCA.write(':ACQuire:STOP')
FlexDCA.write(':MEASure:EYE:LIST:CLEar')
for ch in channels: # run through list of channels
    if ch[0] in 'D': # configure differential channels
        ch1 = ch[1:3]
        FlexDCA.write(':MEASure:EYE:RISetime:SOURce DIFF' + ch1)
    else: # configure channel
        FlexDCA.write(':MEASure:EYE:RISetime:SOURce CHAN' + ch)
    FlexDCA.write(':MEASure:EYE:RISetime')
FlexDCA.write(':SYSTem:GTLocal')
time.sleep(4)
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
Program: FlexEye_stdout.py
Launches subprocess: FlexEye_stdout_child.py
Python version: 3.5

Demonstrates FlexEye independent eye acquisition using FlexDCA offline
with a simulated module. Each channel is run as an independent sampling
oscilloscope. Start the script to see instructions.
Requires:
    - Python 3.5
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
import subprocess
import sys
import time
import visa # import VISA library

#Addresses for connecting to FlexDCA
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

IOTIMEOUT = 20000
ErrorList = []

# For this program, only one channel should be assigned per session.
sessions = {1:'1A',
            2:'1B',
            3:'1C',
            4:'1D',
            5:'2A',
            6:'2B',
            7:'',
            8:'',
            9:'',
            10:'',
            11:'',
            12:'',
            13:'',
            14:'',
            15:''}

def introductory_text():
    """ Prints short description of script.
    """
    print('\nWhat you\'ll learn:\n')
    print('- Demonstrates FlexEye Parallel Eye Analysis.')
    print('- Runs FlexEye_stdout_child.py script on each Session.')
    print('- Child processes can return stdout to parent the process.')
    print('- Parent process can know when child processes have finished.')
    print('\nFlexDCA is used offline on a PC and simulated modules are\n' + \
        'automatically installed.')
    print('-' * 50)
    s = input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def initialize_FlexDCA():
    """ Place FlexDCA in a know starting state.
    Checks to see if FlexEye is already running. If so exit FlexEye. Perform
    a default setup.
    """
    flexeye_state = FlexDCA.query(':FEYE:STATe?')
    if flexeye_state in 'RUN':
        FlexDCA.query(':FEYE:STATe PAUSe;*OPC?')
        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    elif flexeye_state in 'PAUSe':
        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    FlexDCA.query(':SYSTem:DEFault;*OPC?')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def install_simulated_modules(sessions):
    """ Install simulated modules and configure the simulated channels
    that are listed in the sessions dictionary.
    """
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Quad elect. module
    FlexDCA.write(':EMODules:SLOT2:SELection QEMini') # Quad elect. module
    for session in sessions: # iterate through 15 keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tupple
                if ch[0] in 'D': # configure differential channels
                    ch1 = ch[1:3]
                    if ch1[1] in 'A':
                        ch2 = ch1[0] + 'B'
                    elif ch1[1] in 'C':
                        ch2 = ch1[0] + 'D'
                    FlexDCA.write(':SOURce'+ch1+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch1+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch1+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch1+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch1+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch1+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':SOURce'+ch1+':DIFFerential ON')
                    FlexDCA.write(':CHANnel'+ch1+':DISPlay OFF')
                    FlexDCA.write(':SOURce'+ch2+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch2+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch2+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch2+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch2+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch2+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch2+':DISPlay OFF')
                else: # configure channel
                    FlexDCA.write(':SOURce'+ch+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch+':DISPlay OFF')
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def start_FlexEye(sessions):
    """ Configures each FlexEye session to the state defined in the
    sessions dictionary. Then, turns FlexEye on.
    """
    print('Starting FlexEye. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    for session in sessions: # iterate through 15 session keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tupple
                if ch[0] in 'D': # configure differential channels
                    ch1 = ch[1:3]
                    FlexDCA.write(':FEYE:CHANnel' + ch1 + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:DIFF' + ch1 + ':ENABled ON')
                else: # configure channel
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':ENABled ON')
    FlexDCA.query(':FEYE:STATe RUN;*OPC?')
    print('FlexEye is ready to use.')
    sys.stdout.flush() # Flush print message in stdout

def run_child_processes(primary_address, sessions):
    """ Starts the FlexEye child process for each channel. Then, reads the
    stdout messages from each child process. This causes the parent process
    to wait for all results which in turn allows us to measure and report the
    total time taken to run all child processess.
    """
    print('Starting child processes.')
    child_processes = [] # list of child processes
    i = 1 # hislip number
    cmd = ['python',
           'FlexEye_stdout_child.py',
           '',
           '']
    for session in sessions: # iterate through 15 session keys
        channels = sessions[session] # comma separated string of channels
        if channels: # if valid session with channels
            cmd[2] = primary_address.replace('hislip0', 'hislip' + str(i))
            cmd[3] = channels
            p = subprocess.Popen(cmd,stdout=subprocess.PIPE,universal_newlines=True)
            child_processes.append(p)
            i += 1
    # wait for each child process to end and query result
    for proc in child_processes:
        out = proc.communicate()[0]
        s1,s2,s3 = out.split(',')
        print('\nChannel ' + s1 + ' measurements:')
        print('   Eye Width: ' + s2)
        print('   Eye Height: ' + s3)
        sys.stdout.flush()

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
print('\nLAN Connection established to FlexDCA:')
print(FlexDCA.query('*CLS;*IDN?') + '\n')
sys.stdout.flush()
if introductory_text():
    initialize_FlexDCA()
    install_simulated_modules(sessions)
    start_FlexEye(sessions)
    start_time = time.time()
    run_child_processes(FLEXDCA_ADDRESS, sessions)
    process_time = int(time.time() - start_time)
    m, s = divmod(process_time, 60)
    print('Time required for all child processess to complete was:' + \
            '\n' + str(m) + ' minutes, ' + str(s) + ' seconds.\n')
    sys.stdout.flush()
    print('Parent and all child processes have completed.')
    print('Click Session tabs to see measurement Results tables.')
    print('Program Finished.')
    FlexDCA.query(':FEYE:STATe PAUSE;*OPC?')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
Program: FlexEye_stdout_27.py
Launches subprocess: FlexEye_stdout_child.py
Python version: 2.7

Demonstrates FlexEye independent eye acquisition using FlexDCA offline
with a simulated module. Each channel is run as an independent sampling
oscilloscope. Start the script to see instructions.
Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
import subprocess
import sys
import time
import visa # import VISA library

#Addresses for connecting to FlexDCA
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

IOTIMEOUT = 20000
ErrorList = []

# For this program, only one channel should be assigned per session.
sessions = {1:'1A',
            2:'1B',
            3:'1C',
            4:'1D',
            5:'2A',
            6:'2B',
            7:'',
            8:'',
            9:'',
            10:'',
            11:'',
            12:'',
            13:'',
            14:'',
            15:''}

def introductory_text():
    """ Prints short description of script.
    """
    print('What you\'ll learn:\n')
    print('- Demonstrates FlexEye Parallel Eye Analysis.')
    print('- Runs FlexEye_stdout_child.py script on each Session.')
    print('- Child processes can return stdout to parent the process.')
    print('- Parent process can know when child processes have finished.')
    print('\nFlexDCA is used offline on a PC and simulated modules are\n' + \
        'automatically installed.')
    print('-' * 50)
    s = raw_input('When ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def initialize_FlexDCA():
    """ Place FlexDCA in a know starting state.
    Checks to see if FlexEye is already running. If so exit FlexEye. Perform
    a default setup.
    """
    flexeye_state = FlexDCA.query(':FEYE:STATe?')
    if flexeye_state in 'RUN':
        FlexDCA.query(':FEYE:STATe PAUSe;*OPC?')
        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    elif flexeye_state in 'PAUSe':
        FlexDCA.query(':FEYE:STATe STOP;*OPC?')
    FlexDCA.query(':SYSTem:DEFault;*OPC?')
    FlexDCA.query(':SYSTem:MODE EYE;*OPC?')

def install_simulated_modules(sessions):
    """ Install simulated modules and configure the simulated channels
    that are listed in the sessions dictionary.
    """
    FlexDCA.write(':EMODules:SLOT1:SELection QEMini') # Quad elect. module
    FlexDCA.write(':EMODules:SLOT2:SELection QEMini') # Quad elect. module
    for session in sessions: # iterate through 15 keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tupple
                if ch[0] in 'D': # configure differential channels
                    ch1 = ch[1:3]
                    if ch1[1] in 'A':
                        ch2 = ch1[0] + 'B'
                    elif ch1[1] in 'C':
                        ch2 = ch1[0] + 'D'
                    FlexDCA.write(':SOURce'+ch1+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch1+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch1+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch1+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch1+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch1+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':SOURce'+ch1+':DIFFerential ON')
                    FlexDCA.write(':CHANnel'+ch1+':DISPlay OFF')
                    FlexDCA.write(':SOURce'+ch2+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch2+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch2+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch2+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch2+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch2+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch2+':DISPlay OFF')
                else: # configure channel
                    FlexDCA.write(':SOURce'+ch+':DRATe 9.95328E+9')
                    FlexDCA.write(':SOURce'+ch+':WTYPe DATA')
                    FlexDCA.write(':SOURce'+ch+':PLENgth 127')
                    FlexDCA.write(':SOURce'+ch+':AMPLitude 90E-3') # 90 mV amplitude
                    FlexDCA.write(':SOURce'+ch+':NOISe:RN 3.0E-6') # Add 3 uV random noise
                    FlexDCA.write(':SOURce'+ch+':JITTer:RJ 4.0E-12') # Add 4 ps random jitter
                    FlexDCA.write(':CHANnel'+ch+':DISPlay OFF')
    print('Simulated modules installed.')
    sys.stdout.flush() # Flush print message in stdout

def start_FlexEye(sessions):
    """ Configures each FlexEye session to the state defined in the
    sessions dictionary. Then, turns FlexEye on.
    """
    print('Starting FlexEye. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    for session in sessions: # iterate through 15 session keys
        # create iterable list of channels from comma separated string
        channels = sessions[session].split(',')
        if channels[0]: # if channels list has channels
            for ch in channels: # run through channel tupple
                if ch[0] in 'D': # configure differential channels
                    ch1 = ch[1:3]
                    FlexDCA.write(':FEYE:CHANnel' + ch1 + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:DIFF' + ch1 + ':ENABled ON')
                else: # configure channel
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':SID SESSion' + str(session))
                    FlexDCA.write(':FEYE:CHANnel' + ch + ':ENABled ON')
    FlexDCA.query(':FEYE:STATe RUN;*OPC?')
    print('FlexEye is ready to use.')
    sys.stdout.flush() # Flush print message in stdout

def run_child_processes(primary_address, sessions):
    """ Starts the FlexEye child process for each channel. Then, reads the
    stdout messages from each child process. This causes the parent process
    to wait for all results which in turn allows us to measure and report the
    total time taken to run all child processess.
    """
    print('Starting child processes.')
    child_processes = [] # list of child processes
    i = 1 # hislip number
    cmd = ['python',
           'FlexEye_stdout_child.py',
           '',
           '']
    for session in sessions: # iterate through 15 session keys
        channels = sessions[session] # comma separated string of channels
        if channels: # if valid session with channels
            cmd[2] = primary_address.replace('hislip0', 'hislip' + str(i))
            cmd[3] = channels
            p = subprocess.Popen(cmd,stdout=subprocess.PIPE,universal_newlines=True)
            child_processes.append(p)
            i += 1
    # wait for each child process to end and query result
    for proc in child_processes:
        out = proc.communicate()[0]
        s1,s2,s3 = out.split(',')
        print('\nChannel ' + s1 + ' measurements:')
        print('   Eye Width: ' + s2)
        print('   Eye Height: ' + s3)
        sys.stdout.flush()

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
print('\nLAN Connection established to FlexDCA:')
print(FlexDCA.query('*CLS;*IDN?') + '\n')
sys.stdout.flush()
if introductory_text():
    initialize_FlexDCA()
    install_simulated_modules(sessions)
    start_FlexEye(sessions)
    start_time = time.time()
    run_child_processes(FLEXDCA_ADDRESS, sessions)
    process_time = int(time.time() - start_time)
    m, s = divmod(process_time, 60)
    print('Time required for all child processess to complete was:' + \
            '\n' + str(m) + ' minutes, ' + str(s) + ' seconds.\n')
    sys.stdout.flush()
    print('Parent and all child processes have completed.')
    print('Click Session tabs to see measurement Results tables.')
    print('Program Finished.')
    FlexDCA.query(':FEYE:STATe PAUSE;*OPC?')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
Subprocess: FlexEye_stdout_child.py
Launched by FlexEye_stdout.py or FlexEye_stdout_27.py
Python version: 2.7 and 3.5

This program is designed to be an example of FlexEye independent acquisitions.
The eye width and eye height are returned as a string to the calling program
via stdout: "width,height"

Requires:
    - Python 2.7 and 3.5
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________
If more than one channel is passed as an argument to this child program,
only the first channel will be used. All others are ignored.
"""

import sys
import visa # http://pyvisa.sourceforge.net

address = sys.argv[1] # VISA address command-line argument
s = sys.argv[2] # comma separated string of scope channels command-line argument
channels = s.split(',') # convert comma separated string to iterable list

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(address)
FlexDCA.timeout = 20000 # Set connection timeout to 20s.
FlexDCA.read_termination = '\n'
FlexDCA.query(':SYSTem:DEFault;*OPC?')
FlexDCA.write(':CHANnel'+ channels[0] +':DISPlay ON')
FlexDCA.query(':SYSTem:AUToscale;*OPC?')
FlexDCA.write(':ACQuire:STOP')
FlexDCA.write(':ACQuire:CDISplay')
# A limit acquisition test ensures that enough waveform data is available
# to start measuring the eye.
FlexDCA.write(':LTESt:ACQuire:CTYPe:WAVeforms 16')
FlexDCA.write(':LTESt:ACQuire:STATe ON')
FlexDCA.query(':ACQuire:RUN;*OPC?')
FlexDCA.write(':LTESt:ACQuire:STATe OFF')
FlexDCA.write(':MEASure:EYE:LIST:CLEar')
FlexDCA.write(':MEASure:EYE:EWIDth:SOURce CHAN' + channels[0])
FlexDCA.write(':MEASure:EYE:EWIDth')
FlexDCA.write(':MEASure:EYE:EHEight:SOURce CHAN' + channels[0])
FlexDCA.write(':MEASure:EYE:EHEight')

width = FlexDCA.query(':MEASure:EYE:EWIDth?')
height = FlexDCA.query(':MEASure:EYE:EHEight?')
s = channels[0] + ',' + width + ',' + height
print(s) # stdout returned to parent process
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close() # Close VISA session


# -*- coding: utf-8 -*-
"""
EXAMPLE 10
Example of making Jitter Mode measurements

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 86108A/B Precision waveform analyzer module or simulated module
       will automatically be installed in slot 5.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.

_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import sys
import decimal as dc # for eng_notation()
import visa # http://pyvisa.sourceforge.net

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
#FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'

"""______________________________________________________________________
"""

IOTIMEOUT = 20000
Module_86108 = False
ErrorList = []

#________________________________________
# Functions

def introductory_text():
    """ Prints short description of script.
    """
    print('\nDemonstrates Jitter Mode measurements using an existing\n' + \
        '86108A/B module or if not found will install a simulated\n' + \
        'module in slot 5.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86108A/B module in the 86100D.\n' + \
        '    - 9.95328 Gb/s signal connected to channels 1A and 2A.\n' + \
        '    - If an 86108A/B is not found, a simulated module is\n' + \
        '      installed in slot 5.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address.')
    s = input('\nWhen ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def module_installed():
    """ Tests for 86108A/B. If not found installes simulated module.
    """
    global FlexDCA
    global Module_86108
    ValidModules = ('86108A','86108B')
    print('\nLAN Connection established to:\n\nFlexDCA: ' + FlexDCA.query('*CLS;*IDN?'))
    LeftModule = FlexDCA.query(':SYSTem:MODel? SLOT1')
    if (LeftModule in ValidModules): # 86108A/B module present
        Module_86108 = True
        print('\n86108A/B module will be used.')
    else: # Dual electrical simulated module setup
        print('\nAn 86108A/B module is not present.')
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
    return True

def default_setup():
    """ Selects Eye mode and configures module channels.
    """

    global Module_86108
    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    FlexDCA.write(':SYSTem:MODE EYE') # Select Eye Mode
    if Module_86108:
        FlexDCA.write(':CHAN1A:DISPlay ON;:CHAN2A:DISPlay ON')
        FlexDCA.write(':CHAN1A:BANDwidth:FREQuency:MAXimum')
        FlexDCA.write(':CHAN2A:BANDwidth:FREQuency:MAXimum')
        handle_OPC_query(':DIFF1A:DMODe ON', 'Differential signal')
    else: # Simulated module slot 5
        FlexDCA.write(':CHAN5A:DISPlay ON;:CHAN5B:DISPlay ON')
        FlexDCA.write(':SOUR5A:DIFFerential ON')
        handle_OPC_query(':DIFF5A:DMODe ON', 'Differential signal')

def clock_data_recovery():
    """ Configures 86108A/B clock recovery.
    """

    FlexDCA.write(':CRECovery1:SOURce DIFFerential') # Input on inverted input channel.
    FlexDCA.write(':CRECovery1:CRATe 9.95328E+9') # Set CDR rate to 9.95328 Gb/s
    FlexDCA.write(':CRECovery1:CLBandwidth 638E+3') # Set CDR PLL BW to 638 kHz
    handle_OPC_query('CRECovery1:RELock', 'Clock recovery') # Lock CDR
    handle_OPC_query(':TRIGger:PLOCk ON','Pattern lock')

def precision_timebase():
    """ Configures 86108A/B precision timebase.
    """
    FlexDCA.write(':PTIMebase1:RSOurce INTernal')
    handle_OPC_query(':PTIMebase1:STATe ON', 'Precision timebase')

def acquire_pattern():
    FlexDCA.timeout = 60000 # Set Timeout to 60s.
    handle_OPC_query(':SYSTem:MODE JITTer', 'Jitter mode')
    print('Acquiring 1 pattern. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay')
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 1')
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition on')
    handle_OPC_query(':ACQuire:RUN', 'Acquisition started')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def get_measurement_results():
    print('-' * 50)
    print('  Jitter Measurement Results')
    print('\tTJ: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:TJ?'),'1.0') +'s')
    print('\tDJ: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:DJ?'),'1.0') +'s')
    print('\tRJ: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:RJ?'),'1.0') +'s')
    meas = FlexDCA.query(':MEASure:JITTer:UJ;:MEASure:JITTer:UJ?')
    print('\tUJ: ' + eng_notation(meas,'1.0') + 's')
    FlexDCA.write(':MEASure:JITTer:JN:SJN J2;:MEASure:JITTer:JN')
    print('\tJ2: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:JN?'),'1.0') + 's')
    FlexDCA.write(':MEASure:JITTer:JN:SJN J9;:MEASure:JITTer:JN')
    print('\tJ9: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:JN?'),'1.0') + 's')
    meas = FlexDCA.query(':MEASure:JITTer:DDPWs;:MEASure:JITTer:DDPWs?')
    print('\tDDPWS: ' + eng_notation(meas,'1.0') + 's')

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            return False
        else:
            print('' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and saves all errors found. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all saved error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT # Set Timeout to 20s.
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text() and module_installed():
    default_setup()
    if (Module_86108): # 86108A/B module is present
        clock_data_recovery()
        precision_timebase()
    acquire_pattern()
    get_measurement_results()
    print('\nProgram Finished.')
    error_messages() # Check FlexDCA for any error messages
else:
    print('\nProgram aborted.')
error_messages()
print_error_messages()
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 10 (Python 2.7)
Example of making Jitter Mode measurements

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 86108A/B Precision waveform analyzer module or simulated module
       will automatically be installed in slot 5.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.

_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import sys
import decimal as dc # for eng_notation()
import visa # http://pyvisa.sourceforge.net

""" VISA address for connecting to FlexDCA ______________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
#FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'

"""______________________________________________________________________
"""

IOTIMEOUT = 20000
Module_86108 = False
ErrorList = []

#________________________________________
# Functions

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script makes FlexDCA Jitter Mode measurements using\n' + \
        'an existing 86108A/B module or if not found will install\n' + \
        'a simulated module in slot 5.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86108A/B module in the 86100D.\n' + \
        '    - 9.95328 Gb/s signal connected to channels 1A and 2A.\n' + \
        '    - If an 86108A/B is not found, a simulated module is\n' + \
        '      installed in slot 5.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address.')
    s = raw_input('\nWhen ready, press "Enter" key to continue...' + \
                'or "q" to exit: ')
    if (s == 'q'):
        return False
    else:
        return True

def module_installed():
    """ Tests for 86108A/B. If not found installes simulated module.
    """
    global FlexDCA
    global Module_86108
    ValidModules = ('86108A','86108B')
    print('\nLAN Connection established to:\n\nFlexDCA: ' + FlexDCA.query('*CLS;*IDN?'))
    LeftModule = FlexDCA.query(':SYSTem:MODel? SLOT1')
    if (LeftModule in ValidModules): # 86108A/B module present
        Module_86108 = True
        print('\n86108A/B module will be used.')
    else: # Dual electrical simulated module setup
        print('\nAn 86108A/B module is not present.')
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
    return True

def default_setup():
    """ Selects Eye mode and configures module channels.
    """

    global Module_86108
    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    FlexDCA.write(':SYSTem:MODE EYE') # Select Eye Mode
    if Module_86108:
        FlexDCA.write(':CHAN1A:DISPlay ON;:CHAN2A:DISPlay ON')
        FlexDCA.write(':CHAN1A:BANDwidth:FREQuency:MAXimum')
        FlexDCA.write(':CHAN2A:BANDwidth:FREQuency:MAXimum')
        handle_OPC_query(':DIFF1A:DMODe ON', 'Differential signal')
    else: # Simulated module slot 5
        FlexDCA.write(':CHAN5A:DISPlay ON;:CHAN5B:DISPlay ON')
        FlexDCA.write(':SOUR5A:DIFFerential ON')
        handle_OPC_query(':DIFF5A:DMODe ON', 'Differential signal')

def clock_data_recovery():
    """ Configures 86108A/B clock recovery.
    """

    FlexDCA.write(':CRECovery1:SOURce DIFFerential') # Input on inverted input channel.
    FlexDCA.write(':CRECovery1:CRATe 9.95328E+9') # Set CDR rate to 9.95328 Gb/s
    FlexDCA.write(':CRECovery1:CLBandwidth 638E+3') # Set CDR PLL BW to 638 kHz
    handle_OPC_query('CRECovery1:RELock', 'Clock recovery') # Lock CDR
    handle_OPC_query(':TRIGger:PLOCk ON','Pattern lock')

def precision_timebase():
    """ Configures 86108A/B precision timebase.
    """
    FlexDCA.write(':PTIMebase1:RSOurce INTernal')
    handle_OPC_query(':PTIMebase1:STATe ON', 'Precision timebase')

def acquire_pattern():
    FlexDCA.timeout = 60000 # Set Timeout to 60s.
    handle_OPC_query(':SYSTem:MODE JITTer', 'Jitter mode')
    print('Acquiring 1 pattern. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':ACQuire:STOP;:ACQuire:CDISplay')
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe OFF') # do not save image
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns 1')
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition on')
    handle_OPC_query(':ACQuire:RUN', 'Acquisition started')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def get_measurement_results():
    print('-' * 50)
    print('  Jitter Measurement Results')
    print('\tTJ: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:TJ?'),'1.0') +'s')
    print('\tDJ: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:DJ?'),'1.0') +'s')
    print('\tRJ: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:RJ?'),'1.0') +'s')
    meas = FlexDCA.query(':MEASure:JITTer:UJ;:MEASure:JITTer:UJ?')
    print('\tUJ: ' + eng_notation(meas,'1.0') + 's')
    FlexDCA.write(':MEASure:JITTer:JN:SJN J2;:MEASure:JITTer:JN')
    print('\tJ2: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:JN?'),'1.0') + 's')
    FlexDCA.write(':MEASure:JITTer:JN:SJN J9;:MEASure:JITTer:JN')
    print('\tJ9: ' + eng_notation(FlexDCA.query(':MEASure:JITTer:JN?'),'1.0') + 's')
    meas = FlexDCA.query(':MEASure:JITTer:DDPWs;:MEASure:JITTer:DDPWs?')
    print('\tDDPWS: ' + eng_notation(meas,'1.0') + 's')

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.
    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            return False
        else:
            print('' + feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and saves all errors found. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all saved error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT # Set Timeout to 20s.
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text() and module_installed():
    default_setup()
    if (Module_86108): # 86108A/B module is present
        clock_data_recovery()
        precision_timebase()
    acquire_pattern()
    get_measurement_results()
    print('\nProgram Finished.')
    error_messages() # Check FlexDCA for any error messages
else:
    print('\nProgram aborted.')
error_messages()
print_error_messages()
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 6
Demonstrates a math function in Eye/Mask mode to remove S2P, perform a
limit test to acquire and save a pattern waveform, and save a screen capture.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 86108A/B Precision waveform analyzer module
    - If module is not installed, a simulated module will be
      automatically installed and used which does not require an 86100D.
    - s2p file is read from FlexDCA's demo folder. No need to provide.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.

"""

import sys
import visa # http://pyvisa.sourceforge.net

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
SPARAMETER_FILE = '"%DEMO_DIR%\\S-Parameter Data\Demo\\TDRDemoBoard_ET55780\\' + \
                'ET55780_Impedance_Profile.s2p"'
SCREENFILE = '"%USER_DATA_DIR%\\Screen Images\\screenimage.png"'
PATTERNFILE = '"%USER_DATA_DIR%\\Waveforms\\patternwaveform.wfmx"'

"""______________________________________________________________________
"""

MODULES = ('86108A','86108B')
IOTIMEOUT = 30000
ErrorList = []

#________________________________________
# Define Functions

def introductory_text(ValidModules):
    """ Prints short description of script and its requirements.
    """
    print('\nDemonstrates using a math function to removes S2P,\n' + \
            'acquire and save a pattern waveform, and save a screen\n' + \
            'capture. Use the requested modules or simulated module.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86100D\n' + \
        '    - 86108A/B module\n' + \
        '    - Connect 9.95328 Gb/s signal to channels 1A.\n' + \
        '    - If module is not installed, a simulated module will be\n' + \
        '      installed.\n' + \
        '    - Enter FlexDCA\'s VISA address into the script\'s\n' + \
        '      FLEXDCA_ADDRESS global CONSTANT that is located near top of\n' + \
        '      script.')
    s = input('When ready, press "Enter" key to continue\n' + \
                'or "q" to exit.\n' + 'or "h" to view valid modules: ')
    if (s == 'q'):
        return False
    elif (s == 'h'):
        print('Valid Modules:')
        for module in range(len(ValidModules)):
            print('\t' + ValidModules[module])
        return False
    else:
        return True

def module_installed(ValidModules):
    """ Confirms valid modules installed. If not, installs simulated module.
    """

    module = FlexDCA.query(':SYSTem:MODel? SLOT1')
    if (module in ValidModules): # 86108A/B module present
        print('\n86108A/B module will be used.')
        return module
    else: # Dual electrical simulated module setup
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
        return 'simulated'

def default_setup(module):
    """ Basic setup which differs upon module type.
    """

    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    slots = range(1,9)
    channels = ['A','B','C','D']
    for slot in slots: # turn all channels off
        for channel in channels:
            FlexDCA.write(':CHANnel'+str(slot)+channel+':DISPlay OFF')
    if module == 'simulated':
        FlexDCA.write(':CHAN5A:DISPlay ON;')
    else:
        FlexDCA.write(':CHAN1A:DISPlay ON;')
    handle_OPC_query(':SYSTem:MODE EYE','Eye mode')

def clock_data_recovery():
    """ Configures 86108A/B's clock recovery."""

    FlexDCA.write(':CHAN1A:BANDwidth BANDwidth3') # Set Channel 1A BW to 32 GHz
    FlexDCA.write(':CRECovery1:SOURce EINVerted') # Input on inverted input channel.
    FlexDCA.write(':CRECovery1:CRATe 9.95328E+9') # Set CDR rate to 9.95328 Gb/s
    FlexDCA.write(':CRECovery1:CLBandwidth 638E+3') # Set CDR PLL BW to 638 kHz
    print('Locking clock recovery.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query('CRECovery1:RELock', 'Clock recovery') # Lock CDR

def precision_timebase():
    """Turns on 86108A/B's precision timebase
    """
    FlexDCA.write(':PTIMebase1:RSOurce INTernal')
    handle_OPC_query(':PTIMebase1:STATe ON', 'Precision timebase')

def pattern_lock():
    """Turns on pattern lock
    """
    print('Turning on pattern lock. Please wait...', flush=True)
    state = handle_OPC_query(':TRIGger:PLOCk ON', 'Pattern lock')
    FlexDCA.write(':ACQuire:WRAPping ON')
    return state

def define_math_operator(module, s2pfile): # Function Apply S2P
    """ Creates an "Apply s2p" waveform signal processing function.

    The required s2p file is selected from the demo folder as it is
    always available for this example. You can substitute your own file.
    The module argument is the '86108A', '86108B', or 'simulated', which
    identifies the channel to be used.
    """

    FlexDCA.write(':FUNCtion1:FOPerator CONVolve')
    FlexDCA.write(':SPRocess1:CONVolve:FNAMe ' + s2pfile)
    s = FlexDCA.query(':SPRocess1:CONVolve:FNAMe?')
    print('Imported s2p file:\n' + s, flush=True)
    if module != 'simulated': # Select input channel for Function
        FlexDCA.write(':FUNCtion1:OPERand1 CHAN1A')
    else: # Simulated module slot 5
        FlexDCA.write(':FUNCtion1:OPERand1 CHAN5A')
    FlexDCA.write(':FUNCtion1:COLor TCOLor5') # Color for Function 1
    FlexDCA.write(':FUNCtion1:DISPlay ON') # Turn on Function 1
    handle_OPC_query(':SYSTem:AUToscale', 'Autoscale')

def define_limit_test_files(ScreenFile, PatternFile):
    """ Configures the name and type of files saved upon completion of
    the acquisition limit test.
    """

    # Specifies pattern waveform file (.wfmx internal format)
    FlexDCA.write(':DISK:WAVeform:FFORmat INTernal')
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:FUNCtion1:STATe DISK')
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:FUNCtion1:FNAMe ' + PatternFile)

    # Specifies screen image file to save
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe ON')
    FlexDCA.write(':LTESt:ACQuire:SIMage:FNAMe ' + ScreenFile)
    FlexDCA.write(':LTESt:ACQuire:SIMage:INVert ON')
    FlexDCA.write(':LTESt:ACQuire:SIMage:WINDow TIMe1')

def run_acquisition_limit_test():
    """ Configures and runs acquisition limit test.

    One pattern is acquired which results in a saved pattern waveform in
    internal format and a saved screen capture. For pattern smoothing,
    patterns acquired equal patterns smoothed.
    """

    PatternCount = '3'
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns ' + PatternCount)
    if int(PatternCount) > 1:
        FlexDCA.write(':ACQuire:ECOunt ' + PatternCount)
    FlexDCA.write('ACQuire:SINGle')
    FlexDCA.write(':ACQuire:CDISplay') # Clear acquired data
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition ready')

    # Acquire waveforms
    FlexDCA.timeout = 60000 # 60 seconds
    print('Acquiring '+PatternCount+' pattern. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query(':ACQuire:RUN', 'Acquisition started')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    s = FlexDCA.query(':LTESt:ACQuire:SIMage:FNAMe?')
    print('\nScreen image file saved:\n%s' %s)
    s = FlexDCA.query(':LTESt:ACQuire:SWAVeform:FUNCtion1:FNAMe?')
    print('\nPattern Waveform file, wfmx, saved:\n%s' % s)

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.', flush=True)
            sys.stdout.flush() # Flush print message in stdout
            return False
        elif feature:
            print(feature + ' successful.', flush=True)
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR occured during ' + feature, flush=True)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.', flush=True)
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:', flush=True)
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

if introductory_text(MODULES):
    rm = visa.ResourceManager()
    FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT
    FlexDCA.read_termination = '\n' # Set termination characters
    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to FlexDCA:\n' + s, flush=True)
    module = module_installed(MODULES)
    default_setup(module)
    if module != 'simulated':
        clock_data_recovery()
        precision_timebase()
    if pattern_lock():
        define_math_operator(module, SPARAMETER_FILE)
        define_limit_test_files(SCREENFILE, PATTERNFILE)
        run_acquisition_limit_test()
    error_messages()
    print_error_messages()
    FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
    FlexDCA.close()
    print('Program Finished.')


# -*- coding: utf-8 -*-
"""
EXAMPLE 6 (Python 2.7)
Example of using a math function in Eye/Mask mode to remove S2P, perform a
limit test to acquire and save a pattern waveform, and save a screen capture.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 86108A/B Precision waveform analyzer module
    - If module is not installed, a simulated module will be
      automatically installed and used which does not require an 86100D.
    - s2p file is read from FlexDCA's demo folder. No need to provide.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.

"""

import sys
import visa # http://pyvisa.sourceforge.net

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
SPARAMETER_FILE = '"%DEMO_DIR%\\S-Parameter Data\Demo\\TDRDemoBoard_ET55780\\' + \
                'ET55780_Impedance_Profile.s2p"'
SCREENFILE = '"%USER_DATA_DIR%\\Screen Images\\screenimage.png"'
PATTERNFILE = '"%USER_DATA_DIR%\\Waveforms\\patternwaveform.wfmx"'

"""______________________________________________________________________
"""

MODULES = ('86108A','86108B')
IOTIMEOUT = 30000
ErrorList = []

#________________________________________
# Define Functions

def introductory_text(ValidModules):
    """ Prints short description of script and its requirements.
    """
    print('\nThis script for FlexDCA uses a math function to removes S2P,\n' + \
            'acquire and save a pattern waveform, and save a screen\n' + \
            'capture. Use the requested modules or simulated module.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86100D\n' + \
        '    - 86108A/B module\n' + \
        '    - Connect 9.95328 Gb/s signal to channels 1A.\n' + \
        '    - If module is not installed, a simulated module will be\n' + \
        '      installed.\n' + \
        '    - Enter FlexDCA\'s VISA address into the script\'s\n' + \
        '      FLEXDCA_ADDRESS global CONSTANT that is located near top of\n' + \
        '      script.')
    s = raw_input('When ready, press "Enter" key to continue\n' + \
                'or "q" to exit.\n' + 'or "h" to view valid modules: ')
    if (s == 'q'):
        return False
    elif (s == 'h'):
        print('Valid Modules:')
        for module in range(len(ValidModules)):
            print('\t' + ValidModules[module])
        return False
    else:
        return True

def module_installed(ValidModules):
    """ Confirms valid modules installed. If not, installs simulated module.
    """

    module = FlexDCA.query(':SYSTem:MODel? SLOT1')
    if (module in ValidModules): # 86108A/B module present
        print('\n86108A/B module will be used.')
        return module
    else: # Dual electrical simulated module setup
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
        return 'simulated'

def default_setup(module):
    """ Basic setup which differs upon module type.
    """

    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    slots = range(1,9)
    channels = ['A','B','C','D']
    for slot in slots: # turn all channels off
        for channel in channels:
            FlexDCA.write(':CHANnel'+str(slot)+channel+':DISPlay OFF')
    if module == 'simulated':
        FlexDCA.write(':CHAN5A:DISPlay ON;')
    else:
        FlexDCA.write(':CHAN1A:DISPlay ON;')
    handle_OPC_query(':SYSTem:MODE EYE','Eye mode')

def clock_data_recovery():
    """ Configures 86108A/B's clock recovery."""

    FlexDCA.write(':CHAN1A:BANDwidth BANDwidth3') # Set Channel 1A BW to 32 GHz
    FlexDCA.write(':CRECovery1:SOURce EINVerted') # Input on inverted input channel.
    FlexDCA.write(':CRECovery1:CRATe 9.95328E+9') # Set CDR rate to 9.95328 Gb/s
    FlexDCA.write(':CRECovery1:CLBandwidth 638E+3') # Set CDR PLL BW to 638 kHz
    print('Locking clock recovery.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query('CRECovery1:RELock', 'Clock recovery') # Lock CDR

def precision_timebase():
    """Turns on 86108A/B's precision timebase
    """
    FlexDCA.write(':PTIMebase1:RSOurce INTernal')
    handle_OPC_query(':PTIMebase1:STATe ON', 'Precision timebase')

def pattern_lock():
    """Turns on pattern lock
    """
    print('Turning on pattern lock. Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    state = handle_OPC_query(':TRIGger:PLOCk ON', 'Pattern lock')
    FlexDCA.write(':ACQuire:WRAPping ON')
    return state

def define_math_operator(module, s2pfile): # Function Apply S2P
    """ Creates an "Apply s2p" waveform signal processing function.

    The required s2p file is selected from the demo folder as it is
    always available for this example. You can substitute your own file.
    The module argument is the '86108A', '86108B', or 'simulated', which
    identifies the channel to be used.
    """

    FlexDCA.write(':FUNCtion1:FOPerator CONVolve')
    FlexDCA.write(':SPRocess1:CONVolve:FNAMe ' + s2pfile)
    s = FlexDCA.query(':SPRocess1:CONVolve:FNAMe?')
    print('Imported s2p file:\n' + s)
    if module != 'simulated': # Select input channel for Function
        FlexDCA.write(':FUNCtion1:OPERand1 CHAN1A')
    else: # Simulated module slot 5
        FlexDCA.write(':FUNCtion1:OPERand1 CHAN5A')
    FlexDCA.write(':FUNCtion1:COLor TCOLor5') # Color for Function 1
    FlexDCA.write(':FUNCtion1:DISPlay ON') # Turn on Function 1
    handle_OPC_query(':SYST:AUToscale', 'Autoscale')

def define_limit_test_files(ScreenFile, PatternFile):
    """ Configures the name and type of files saved upon completion of
    the acquisition limit test.
    """

    # Specifies pattern waveform file (.wfmx internal format)
    FlexDCA.write(':DISK:WAVeform:FFORmat INTernal')
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:FUNCtion1:STATe DISK')
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:FUNCtion1:FNAMe ' + PatternFile)

    # Specifies screen image file to save
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe ON')
    FlexDCA.write(':LTESt:ACQuire:SIMage:FNAMe ' + ScreenFile)
    FlexDCA.write(':LTESt:ACQuire:SIMage:INVert ON')
    FlexDCA.write(':LTESt:ACQuire:SIMage:WINDow TIMe1')

def run_acquisition_limit_test():
    """ Configures and runs acquisition limit test.

    One pattern is acquired which results in a saved pattern waveform in
    internal format and a saved screen capture. For pattern smoothing,
    patterns acquired equal patterns smoothed.
    """

    PatternCount = '3'
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns ' + PatternCount)
    if int(PatternCount) > 1:
        FlexDCA.write(':ACQuire:ECOunt ' + PatternCount)
    FlexDCA.write('ACQuire:SINGle')
    FlexDCA.write(':ACQuire:CDISplay') # Clear acquired data
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition ready')

    # Acquire waveforms
    FlexDCA.timeout = 60000 # 60 seconds
    print('Acquiring '+PatternCount+' pattern. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query(':ACQuire:RUN', 'Acquisition started')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    s = FlexDCA.query(':LTESt:ACQuire:SIMage:FNAMe?')
    print('\nScreen image file saved:\n%s' %s)
    s = FlexDCA.query(':LTESt:ACQuire:SWAVeform:FUNCtion1:FNAMe?')
    print('\nPattern Waveform file, wfmx, saved:\n%s' % s)

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR occured during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

if introductory_text(MODULES):
    rm = visa.ResourceManager()
    FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
    FlexDCA.timeout = IOTIMEOUT
    FlexDCA.read_termination = '\n' # Set termination characters
    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to FlexDCA:\n' + s)
    module = module_installed(MODULES)
    default_setup(module)
    if module != 'simulated':
        clock_data_recovery()
        precision_timebase()
    if pattern_lock():
        define_math_operator(module, SPARAMETER_FILE)
        define_limit_test_files(SCREENFILE, PATTERNFILE)
        run_acquisition_limit_test()
    error_messages()
    print_error_messages()
    FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
    FlexDCA.close()
    print('Program Finished.')


# -*- coding: utf-8 -*-
"""
EXAMPLE 1
Demonstrates pattern acquisition in oscilloscope mode. Saves two pattern
waveform files, one in internal format and one in csv format. Also saves
a screen capture.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 86100D with precision timebase option
    - Valid module in 86100D's left slot
    - Signal displayed on FlexDCA channel 1A
    - If modules are not installed, a simulated module will be
      automatically installed and used which does not require an 86100D.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global constant that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import sys
import visa # http://pyvisa.sourceforge.net

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
SCREENFILE = '"%USER_DATA_DIR%\\Screen Images\\screenimage.png"'
PATTERNFILE = '"%USER_DATA_DIR%\\Waveforms\\Pattern_Waveform_Internal.wfmx"'
PATTERNTXTFILE = '"%USER_DATA_DIR%\\Waveforms\\Pattern_Waveform_Text.csv"'

IOTIMEOUT = 20000
# modules supported in Flex-on-Flex setup configuration
MODULES = ('N1092A','N1092B','N1092D','N1090A','N1045A','86118A','86117A',
'86117B','86116C','86115D','86112A','86108A','86108B','86105D','86105C',
'83496A','83496B','83484A')
ErrorList = []

#________________________________________
# Functions

def introductory_text(valid_modules):
    """ Prints short description of script and its requirements.

    Input argument is a tuple of valid modules.
    """

    print('\nDemonstrates pattern acquisition in oscilloscope mode.\n' + \
        'Saves pattern waveform and screen capture files.\n' + \
        'If an 86100D is not connected or a module is not installed,' + \
        'a simulated module will be assigned to slot 5 and used.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86100D with Option PTB precision timebase.\n' + \
        '    - 86100D with module in left slot with a signal displayed\n' + \
        '      on channel 1A.\n' + \
        '    - If module is not installed, a simulated module will be\n' + \
        '      installed and used which does not require an 86100D.\n' + \
        '    - Enter FlexDCA\'s VISA address into the script\'s\n' + \
        '      FLEXDCA_ADDRESS global CONSTANT that is located near top of\n' + \
        '      script.')

    s = input('When ready, press "Enter" key to continue, or\n' + \
                '"q" to exit, or\n' + '"h" to view valid modules: ')
    if (s == 'q'):
        return False
    elif (s == 'h'):
        print('Valid Modules for slot 1/2:')
        for i in range(len(valid_modules)):
            print('\t' + valid_modules[i])
        return False
    else:
        return True

def module_installed(valid_modules, channel):
    """ Checks if a valid module is installed in the 86100D's left slot.
    If not, installs a simulated dual-optical module. Input argument is a
    tuple of valid modules.
    """

    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to:\n\nFlexDCA: ' + s)
    LeftModule = FlexDCA.query(':SYSTem:MODel? SLOT1')
    if (LeftModule in valid_modules): # Module present
        print('\nInstalled module will be used.')
        return '1A'
    else: # Dual simulated optical module setup
        print('\nA supported module is not present.')
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
        FlexDCA.write(':SOURce5A:AMPLitude 90E-3') # 90 mV amplitude
        FlexDCA.write(':SOURce5A:NOISe:RN 3.0E-6') # Add 3 uV random noise
        FlexDCA.write(':SOURce5A:JITTer:RJ 4.0E-12') # Add 4 ps random jitter
        return '5A'

def default_setup(channel):
    print('Please wait ...')
    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    handle_OPC_query(':SYSTem:MODE OSCilloscope','Oscilloscope Mode')
    FlexDCA.write(':CHANnel' + channel + ':DISPlay ON')
    handle_OPC_query(':TRIGger:PLOCk ON','Pattern lock')
    handle_OPC_query(':SYSTem:AUToscale','Autoscale')
    FlexDCA.write(':ACQuire:EPATtern ON') # Acquire entire pattern
    FlexDCA.write(':ACQuire:SPBit:MODe MANual') # Select samples/bit
    FlexDCA.write(':ACQuire:SPBit 31.99212598') # 32 samples/bit
    FlexDCA.write(':ACQuire:SMOothing AVERage') # Average smoothing selected
    PatternLength = FlexDCA.query(':TRIGger:PLENgth?') # Get pattern length
    FlexDCA.write(':TIMebase:BRANge ' + str(PatternLength)) # View entire pattern

def define_limit_test_files(channel, ScreenFilename, PatternFilename):
    """ Configures the name and type of files saved upon completion of
    the acquisition limit test.
    """

    # Specifies pattern waveform file (.wfmx internal format)
    FlexDCA.write(':DISK:WAVeform:FFORmat INTernal')
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:CHANnel'+channel+':STATe DISK')
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:CHANnel'+channel+':FNAMe '+PatternFilename)

    # Specifies screen image file to save
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe ON')
    FlexDCA.write(':LTESt:ACQuire:SIMage:FNAMe '+ScreenFilename)
    FlexDCA.write(':LTESt:ACQuire:SIMage:INVert OFF')
    FlexDCA.write(':LTESt:ACQuire:SIMage:WINDow TIMe1')

def run_acquisition_limit_test(channel):
    """ Configures and runs acquisition limit test.

    32 patterns are acquired which results in a saved pattern waveform in
    internal format and a saved screen capture. For pattern smoothing,
    patterns acquired equal patterns smoothed.
    """

    PatternCount = '32'
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns ' + PatternCount)
    if int(PatternCount) > 1:
        FlexDCA.write(':ACQuire:ECOunt ' + PatternCount)
    FlexDCA.write('ACQuire:SINGle')
    FlexDCA.write(':ACQuire:CDISplay') # Clear acquired data
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition ready')

    # Acquire waveforms
    FlexDCA.timeout = 60000 # 60 seconds
    print('Acquiring '+PatternCount+' patterns. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query(':ACQuire:RUN', 'Acquisition')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    s = FlexDCA.query(':LTESt:ACQuire:SIMage:FNAMe?')
    print('\nScreen image file saved:\n%s' %s)
    s = FlexDCA.query(':LTESt:ACQuire:SWAVeform:CHANnel'+channel+':FNAMe?')
    print('\nPattern Waveform file, wfmx, saved:\n%s' % s)

def save_pattern_waveform_file(channel, PatternTextFilename):
    """ Saves a pattern waveform to a comma-separated-value text file.
    """

    FlexDCA.write(':DISK:WAVeform:SAVE:SOURce CHAN' + channel)
    FlexDCA.write(':DISK:WAVeform:FFORmat TEXT')
    FlexDCA.write(':DISK:WAVeform:SAVE:FLAYout XYVALues')
    FlexDCA.write(':DISK:WAVeform:FNAMe ' + PatternTextFilename)
    handle_OPC_query(':DISK:WAVeform:SAVE','File save')
    s = FlexDCA.query(':DISK:WAVeform:FNAMe?')
    print('\nPattern Waveform file, csv, saved:\n%s' %s)

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()

FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text(MODULES):
    channel = module_installed(MODULES, '1A')
    default_setup(channel)
    define_limit_test_files(channel, SCREENFILE, PATTERNFILE)
    run_acquisition_limit_test(channel)
    save_pattern_waveform_file(channel, PATTERNTXTFILE)
    print('\nProgram Finished.')
    error_messages()
    print_error_messages()
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 1 (Python 2.7)
Demonstrates pattern acquisition in oscilloscope mode. Saves two pattern
waveform files, one in internal format and one in csv format. Also saves
a screen capture.

Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - 86100D with precision timebase option
    - Valid module in 86100D's left slot
    - Signal displayed on FlexDCA channel 1A
    - If modules are not installed, a simulated module will be
      automatically installed and used which does not require an 86100D.
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global constant that is located near top of script.

For more informaiton, search FlexDCA's help system for
"Programming Quick Start Guide.
_________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.
_________________________________________________________________________
"""

import sys
import visa # http://pyvisa.sourceforge.net

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
SCREENFILE = '"%USER_DATA_DIR%\\Screen Images\\screenimage.png"'
PATTERNFILE = '"%USER_DATA_DIR%\\Waveforms\\Pattern_Waveform_Internal.wfmx"'
PATTERNTXTFILE = '"%USER_DATA_DIR%\\Waveforms\\Pattern_Waveform_Text.csv"'

IOTIMEOUT = 20000
# modules supported in Flex-on-Flex setup configuration
MODULES = ('N1092A','N1092B','N1092D','N1090A','N1045A','86118A','86117A',
'86117B','86116C','86115D','86112A','86108A','86108B','86105D','86105C',
'83496A','83496B','83484A')
ErrorList = []

#________________________________________
# Functions

def introductory_text(valid_modules):
    """ Prints short description of script and its requirements.

    Input argument is a tuple of valid modules.
    """

    print('\nDemonstrates pattern acquisition in oscilloscope mode.\n' + \
        'Saves pattern waveform and screen capture files.\n' + \
        'If an 86100D is not connected or a module is not installed,' + \
        'a simulated module will be assigned to slot 5 and used.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - 86100D with Option PTB precision timebase.\n' + \
        '    - 86100D with module in left slot with a signal displayed\n' + \
        '      on channel 1A.\n' + \
        '    - If module is not installed, a simulated module will be\n' + \
        '      installed and used which does not require an 86100D.\n' + \
        '    - Enter FlexDCA\'s VISA address into the script\'s\n' + \
        '      FLEXDCA_ADDRESS global CONSTANT that is located near top of\n' + \
        '      script.')

    s = raw_input('When ready, press "Enter" key to continue, or\n' + \
                '"q" to exit, or\n' + '"h" to view valid modules: ')
    if (s == 'q'):
        return False
    elif (s == 'h'):
        print('Valid Modules for slot 1/2:')
        for i in range(len(valid_modules)):
            print('\t' + valid_modules[i])
        return False
    else:
        return True

def module_installed(valid_modules, channel):
    """ Checks if a valid module is installed in the 86100D's left slot.
    If not, installs a simulated dual-optical module. Input argument is a
    tuple of valid modules.
    """

    s = FlexDCA.query('*CLS;*IDN?')
    print('\nLAN Connection established to:\n\nFlexDCA: ' + s)
    LeftModule = FlexDCA.query(':SYSTem:MODel? SLOT1')
    if (LeftModule in valid_modules): # Module present
        print('\nInstalled module will be used.')
        return '1A'
    else: # Dual simulated optical module setup
        print('\nA supported module is not present.')
        print('A simulated module will be used.\n')
        FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
        FlexDCA.write(':SOURce5A:AMPLitude 90E-3') # 90 mV amplitude
        FlexDCA.write(':SOURce5A:NOISe:RN 3.0E-6') # Add 3 uV random noise
        FlexDCA.write(':SOURce5A:JITTer:RJ 4.0E-12') # Add 4 ps random jitter
        return '5A'

def default_setup(channel):
    print('Please wait ...')
    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    handle_OPC_query(':SYSTem:MODE OSCilloscope','Oscilloscope Mode')
    FlexDCA.write(':CHANnel' + channel + ':DISPlay ON')
    handle_OPC_query(':TRIGger:PLOCk ON','Pattern lock')
    handle_OPC_query(':SYSTem:AUToscale','Autoscale')
    FlexDCA.write(':ACQuire:EPATtern ON') # Acquire entire pattern
    FlexDCA.write(':ACQuire:SPBit:MODe MANual') # Select samples/bit
    FlexDCA.write(':ACQuire:SPBit 31.99212598') # 32 samples/bit
    FlexDCA.write(':ACQuire:SMOothing AVERage') # Average smoothing selected
    PatternLength = FlexDCA.query(':TRIGger:PLENgth?') # Get pattern length
    FlexDCA.write(':TIMebase:BRANge ' + str(PatternLength)) # View entire pattern

def define_limit_test_files(channel, ScreenFilename, PatternFilename):
    """ Configures the name and type of files saved upon completion of
    the acquisition limit test.
    """

    # Specifies pattern waveform file (.wfmx internal format)
    FlexDCA.write(':DISK:WAVeform:FFORmat INTernal')
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:RESet') # do not save waveforms
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:CHANnel'+channel+':STATe DISK')
    FlexDCA.write(':LTESt:ACQuire:SWAVeform:CHANnel'+channel+':FNAMe '+PatternFilename)

    # Specifies screen image file to save
    FlexDCA.write(':LTESt:ACQuire:SIMage:STATe ON')
    FlexDCA.write(':LTESt:ACQuire:SIMage:FNAMe '+ScreenFilename)
    FlexDCA.write(':LTESt:ACQuire:SIMage:INVert OFF')
    FlexDCA.write(':LTESt:ACQuire:SIMage:WINDow TIMe1')

def run_acquisition_limit_test(channel):
    """ Configures and runs acquisition limit test.

    32 patterns are acquired which results in a saved pattern waveform in
    internal format and a saved screen capture. For pattern smoothing,
    patterns acquired equal patterns smoothed.
    """

    PatternCount = '32'
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns ' + PatternCount)
    if int(PatternCount) > 1:
        FlexDCA.write(':ACQuire:ECOunt ' + PatternCount)
    FlexDCA.write('ACQuire:SINGle')
    FlexDCA.write(':ACQuire:CDISplay') # Clear acquired data
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition ready')

    # Acquire waveforms
    FlexDCA.timeout = 60000 # 60 seconds
    print('Acquiring '+PatternCount+' patterns. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query(':ACQuire:RUN', 'Acquisition')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT
    s = FlexDCA.query(':LTESt:ACQuire:SIMage:FNAMe?')
    print('\nScreen image file saved:\n%s' %s)
    s = FlexDCA.query(':LTESt:ACQuire:SWAVeform:CHANnel'+channel+':FNAMe?')
    print('\nPattern Waveform file, wfmx, saved:\n%s' % s)

def save_pattern_waveform_file(channel, PatternTextFilename):
    """ Saves a pattern waveform to a comma-separated-value text file.
    """

    FlexDCA.write(':DISK:WAVeform:SAVE:SOURce CHAN' + channel)
    FlexDCA.write(':DISK:WAVeform:FFORmat TEXT')
    FlexDCA.write(':DISK:WAVeform:SAVE:FLAYout XYVALues')
    FlexDCA.write(':DISK:WAVeform:FNAMe ' + PatternTextFilename)
    handle_OPC_query(':DISK:WAVeform:SAVE','File save')
    s = FlexDCA.query(':DISK:WAVeform:FNAMe?')
    print('\nPattern Waveform file, csv, saved:\n%s' %s)

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()

FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
if introductory_text(MODULES):
    channel = module_installed(MODULES, '1A')
    default_setup(channel)
    define_limit_test_files(channel, SCREENFILE, PATTERNFILE)
    run_acquisition_limit_test(channel)
    save_pattern_waveform_file(channel, PATTERNTXTFILE)
    print('\nProgram Finished.')
    error_messages()
    print_error_messages()
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
graph_remote_head_temperature.py (Python 3.X)

For an N1045A electrical or N1055A TDR module, graphs the temperature of a
remote head over time.

Start the script to see instructions.
Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Near the top of this script, modify the following constants with
address and name values that match your setup. The basic setup selected
determines which of these constants is used.

FLEXPC_ADDRESS. VISA address of FlexDCA on PC.
FLEXD_ADDRESS. VISA address of FlexDCA on 86100D.
THE_86100D_NAME. The computer name of an 86100D. Used to connect N1010A
FlexDCA on a PC to 86100D's FlexDCA (Flex-on-Flex).

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
from decimal import Decimal
import matplotlib.pyplot as plt
import os
import math
import sys
import time
import visa # import VISA library

""" Addresses for connecting to FlexDCA ______________________________
"""
FLEXPC_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
FLEXD_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
THE_86100D_NAME = 'K-86100D-20108'

"""______________________________________________________________________
"""

ABORT = 0
FLEX_ON_FLEX = 1
FLEX_OFFLINE = 2 # not connected to 86100D
SCRIPT_ON_PC = 3
SCRIPT_ON_86100D = 4

ErrorList = []
REQUIRED_MODULES = ['N1055A','N1045A']

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:\n' + \
        'Confirms that required modules are installed.\n' + \
        'Discovers available channel. Prompts for module to monitor.\n' + \
        'Reports temperature changes in remote head.')
    print('-' * 50)
    print('\nRequired setup:\n' + \
        '  86100D\n  Any number of N1055A and/or  N1045A modules.\n')
    print('-' * 50)
    print('Select basic setup:\n' + \
        ' 1. Flex-on-Flex\n' + \
        ' 2. FlexDCA offline (NOT ALLOWED)\n' + \
        ' 3. Script on PC controlling 86100D\n' + \
        ' 4. Script on 86100D')
    print('-' * 50)
    s = input('When ready, press:\n' + \
            ' 1, 2, 3, or 4 to select a setup.\n' + \
            ' or any other key to exit: ')
    if (s == '1'):
        return FLEX_ON_FLEX
    elif (s == '2'):
        return FLEX_OFFLINE
    elif (s == '3'):
        return SCRIPT_ON_PC
    elif (s == '4'):
        return SCRIPT_ON_86100D
    else:
        return ABORT

def basic_setup(mode, flexpc_address, flexd_address, the_86100D_name):
    """
    Opens a connecton to FlexDCA based on supplied addresses.

    """
    global FlexDCA
    if mode == ABORT:
        return ABORT
    elif mode == FLEX_OFFLINE:
        while True:
            if connect_to_FlexDCA(flexpc_address):
                if flex_on_PC():
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return FLEX_OFFLINE
                if flex_on_flex():
                    print('Disconnecting FlexDCA from 86100D.')
                    handle_OPC_query(':RDCA:DISConnect','Disconnecting 86100D')
                    continue
            else:
                return ABORT
    elif mode == SCRIPT_ON_PC: # script on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                print('Program is on PC and FlexDCA is on this 86100D:')
                print(FlexDCA.query('*IDN?') + '\n\n')
                return SCRIPT_ON_PC
        else:
            print('Incorrect address for FlexDCA. Aborting.')
            return ABORT
    elif mode == SCRIPT_ON_86100D: # Script and Flex running on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                computername = os.getenv('COMPUTERNAME')
                if ('localhost' in flexd_address) or (computername in flexd_address):
                    print('Program and FlexDCA are on this 86100D:')
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return SCRIPT_ON_86100D
        else:
            return ABORT
    elif mode == FLEX_ON_FLEX: # Flex on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexpc_address):
            if flex_on_PC():
                if flex_on_flex():
                    print('FlexDCA on PC is already connected to ' + \
                            '86100D\'s FlexDCA.')
                    return FLEX_ON_FLEX # already manually connected
                else:
                    if connect_flex_to_flex(the_86100D_name):
                        return FLEX_ON_FLEX
                    else:
                        return ABORT
        else:
            return ABORT
    else:
        return ABORT

def connect_to_FlexDCA(flex_address):
    """ Makes VISA connection to FlexDCA and initializes state. """

    global FlexDCA
    print('\nConnecting FlexDCA.\n' + \
            'Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    try:
        FlexDCA=rm.open_resource(flex_address)
        FlexDCA.timeout = 30000 # Set connection timeout to 30s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\nFlexDCA connection established to:\n\t' + s + '\n')
        return True
    except:
        s = '\nCan\'t connect to FlexDCA. Incorrect address string:\n\t'
        print(s + flexpc_address + '\n\tor FlexDCA not started.\n\tEnding program.')
        return False

def flex_on_flex():
    """ Checks if FlexDCA on PC is already connected to FlexDCA on 86100D.
    This state is known as Flex-on-Flex.
    """

    s = FlexDCA.query(':RDCA:CONNect:STATe?') # test for 86100D connection
    if 'CONN' in s:
        return True # Flex-on-Flex is connected
    else:
        return False

def flex_on_PC():
    """ Checks if FlexDCA is on PC versus 86100D and is not connected
    to an 86100D.
    """

    s = FlexDCA.query('*IDN?') # FlexDCA on PC or 86100D?
    if 'N1010A' in s:
        return True # FlexDCA on PC and not connected
    elif '86100D' in s:
        return False # FlexDCA on (or connected to) 86100D

def connect_flex_to_flex(the_86100D_name):
    """ Connects FlexDCA on PC to FlexDCA on 86100D. """

    global ErrorList
    print('\nConnecting FlexDCA on PC to FlexDCA on 86100D.\n' + \
            'Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "' + the_86100D_name + '"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    if error_messages():
        print('error_list: ' + str(ErrorList))
        if '108' in ErrorList[-1]: # Instrument Error;Unable to connect: Host not found
            print('\nCan\'t make Flex-on-Flex connection to 86100D.\n' + \
                'Setting program to control FlexDCA on PC')
            return False
    print('Program is controlling FlexDCA on PC which\n' + \
            'is connected to FlexDCA on this 86100D:')
    print(FlexDCA.query('*IDN?') + '\n\n')
    return True

def setup_correct(mode):
    if mode == ABORT: # Unable to connect to FlexDCA
        print('Aborting program.')
        return False
    elif mode == FLEX_OFFLINE:
        print('FlexDCA is on PC and not connected to 86100D.')
        print('No 86100D is available. An N1045A or N1055A' + \
                'is required. The program will end.')
        print('Aborting program.')
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        return False
    else:
        if mode == SCRIPT_ON_PC: # Use real or simulated modules. Not extended
            print('Script on PC controlling FlexDCA on 86100D.')
        elif mode == FLEX_ON_FLEX: # Use real, extended, or simulated modules
            print('FlexDCA on PC is controlling FlexDCA on 86100D.')
        elif mode == SCRIPT_ON_86100D: # Use real, extended, or simulated modules
            print('Script on 86100D is controlling 86100D\'s FlexDCA.')
        return True

def discover_modules():
    """ Locates each hardware, simulated, or extended module by slot.

    Creates a dictionary with slot-number keys and model number values. This
    dictionary is returned.
    Simulated module names returned by FlexDCA are non-intuitive, and are
    modified.
    """

    slots = {1:'',2:'',3:'',4:'',5:'',6:'',7:'',8:''}
    for slot in range(1,9): # slot numbers
        model = FlexDCA.query('SYST:MODel? SLOT' + str(slot))
        if model == 'Not Present':
            continue
        elif model == 'N1010A': # Simulated module on FlexDCA on PC
            model = FlexDCA.query('EMODules:SLOT' + str(slot) + ':SELection?')
            if (model == 'EMPT') or (model == 'DCA'):
                continue
            slots[slot] = model
        else: # standard module
            slots[slot] = model
    return(slots)

def show_found_modules(slots):
    """ Prints a list of all modules found.
    """

    simulated = {'DEM':'DEM (Simulated dual electrical)',
                 'DOM':'DOM (Simulated dual optical)',
                 'QEM':'QEM (Simulated quad electrical)',
                 'OEM':'OEM (Simulated electrical/optical)'}
    print('\nInstalled modules:')
    for slot in slots:
        model = slots[slot]
        if model in simulated: #eg. 'DEM' is a key
            print(' Slot '+ str(slot) +': '+ simulated[model[0:3]])
        elif model: # non-simulated module exists
            print(' Slot '+ str(slot) +': '+ model) # eg, N1090A
    return

def get_test_parameters(required_modules,slots):
    """
    required_modules argument is list of model numbers.
    slots argument (int) is any slot with a module.
    Returns channel (string eg. '1A'), minutes (float), and seconds (int)
    """
    channel = select_channel_to_monitor(required_modules,slots)
    if not channel:
        return '', 0, 0 # abort program
    minutes = get_total_test_time()
    if not minutes:
        return '', 0, 0 # abort program
    seconds = get_time_between_measurements()
    return channel, minutes, seconds

def select_channel_to_monitor(required_modules,slots):
    """
    User selects channel to monitor temperature.
    Identify any found required modules. If more than one module is
    found, have user select the module to use. Returns the slot number
    (integer) for the selected (or only) module to use.
    """

    confirmed = [] # list of slots (integers) with valid modules
    for i in range(1,9):
        if slots[i] in required_modules:
            confirmed.append(i)
    all_channels = ''
    if confirmed:
        print('\nValid channels for testing:')
        for n in confirmed:
            print(' Slot ' + str(n) + '. ' + slots[n] + ' channels: ', end='')
            s = get_channels_in_slot(n)
            print(s)
            all_channels = all_channels + s
        while(True):
            channel = input('Select a channel to monitor: ')
            channel = channel.strip('"\' ')
            channel = channel.upper()
            if channel in all_channels:
                return(channel)
            elif channel == 'q':
                return ''
    else:
        print('No required modules found.')
        return ''

def get_channels_in_slot(slot):
    """ Returns a string of valid channels for the slot."""

    available = ''
    s = str(slot)
    channels = ['A','B','C','D']
    for channel in channels:
        if 'AVA' in FlexDCA.query('CHAN'+s+channel+':STATus?'):
            available = available + ' ' + s+channel # eg, '1A'
    return available

def get_total_test_time():
    """ Asks user for total test time in minutes. """
    while(True):
        minutes = input('How many minutes must test run? ')
        minutes = minutes.strip('"\' ')
        try:
            if minutes == 'q':
                return 0
            minutes = float(minutes)
            return minutes
        except ValueError:
            return 0

def get_time_between_measurements():
    """
    Asks user for time between each measurement in seconds. The
    float conversion tests for a valid number string and if not throws an
    exception.
    """
    while(True):
        seconds = input('How many seconds between each measurement? ')
        seconds = seconds.strip('"\' ')
        try:
            if seconds == 'q':
                return 0
            float(seconds) # Conversion fails if not a proper number string
            return int(seconds)
        except ValueError:
            return 0

def monitor_temperature(channel, minutes, seconds):
    """ Monitors the temperature for required minutes by performing a
    measurement every seconds. channel is a string, minutes (float) and
    seconds (int).
    """

    print('Measuring remote head\'s temperature. Please wait.\n', flush=True)
    thermal_data = [] # list of Decimals
    start_temp = Decimal(FlexDCA.query(':CAL:CHAN'+channel+':STAT:DTEM?'))
    start = time.time()
    first_pass = True
    elapsed_time = 0
    while elapsed_time < (minutes * 60):
        current_temp = Decimal(FlexDCA.query(':CAL:CHAN'+channel+':STAT:DTEM?'))
        change = current_temp - start_temp
        thermal_data.append(change.quantize(Decimal('0.01')))
        s = str(thermal_data[-1])
        if s[0] == '-':
            print(' \u0394C: ' + s, flush=True) # delta symbol
        else:
            print(' \u0394C:  ' + s, flush=True)
        elapsed_time = time.time() - start
        if elapsed_time > 60.0 and first_pass:
            first_pass = False
            if math.fabs(thermal_data[-1]) > 0.5:
                print('\nThe remote head\'s temperature has changed more than\n' + \
                    '0.5C-per-minute. A module calibration is recommended.\n', flush=True)
        time.sleep(seconds)
    print(str(len(thermal_data)) + ' temperature readings were taken.', flush=True)
    return thermal_data

def create_time_data(number_of_data_points,minutes,time_sep):
    """
    Creates list of time data and scales it for seconds, minutes, or hours
    units. The units (xunits) is returned.
    number_of_data_points argument is an int.
    minutes argument is the test time (float).
    time_sep argument is the seconds (int) between data points.
    """
    xunits = ''
    time_data = [] # list of times for each data point
    if 0 < minutes < 5: # 5 minutes
        time_data = [(i*time_sep) for i in range(0,number_of_data_points)]
        xunits = 'seconds'
    elif 5 <= minutes < 180: # 5 to 180 minutes (3 hours)
        time_data = [(i*time_sep / 60) for i in range(0,number_of_data_points)]
        xunits = 'minutes'
    else: # >= 3 hours
        time_data = [(i*time_sep / 3600) for i in range(0,number_of_data_points)]
        xunits = 'hours'
    return time_data, xunits

def plot_thermal_data(y_data, x_data, xunits, channel):
    """
    y_data argument is a list of Decimals of temperature readings.
    x_data argument is corresponding time positions.
    xunits is 'seconds', 'minutes', or 'hours'.
    channel argument is a string. eg, '1A'.
    """

    max_y = float(max(y_data))
    min_y = float(min(y_data))
    if min_y == 0.0 and max_y == 0.0:
        max_y = 1.0
        min_y = -1.0
    else:
        yrange = max_y - min_y
        yspace = yrange * 0.1
        max_y = max_y + yspace
        min_y = min_y - yspace
    model = FlexDCA.query('SYST:MODel? SLOT' + channel[0])
    title = 'Graph of Remote Head Temperature\n'
    title = title + model + ' Channel '+channel+'\n'
    title = title + 'Test time: '+str(round(x_data[-1], 1))+' ' + xunits

    plt.figure(figsize=(8,6),dpi=80)
    plt.ylim(min_y, max_y)
    plt.grid(b=True, which='major', axis='both')
    plt.title(title)
    plt.xlabel(xunits.capitalize())
    plt.ylabel('Temperature (Delta C)')
    if len(y_data) < 20:
        plt.plot(x_data,y_data,'g.-') # data points shown
    else:
        plt.plot(x_data,y_data,'g-') # data points hidden. line only
    plt.savefig('remote_head_temperatures.png',dpi=300)
    plt.savefig('remote_head_temperatures.ps',dpi=300)

def error_messages():
    """ Check FlexDCA's message buffer and adds any error strings into to the
    global ErrorList variable.
    """

    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """

    global ErrorList
    if len(ErrorList) == 0:
        print('\nNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if int(FlexDCA.query(':SYSTEM:ERRor:COUNt?')):
            error_messages()
        print(feature + ' successful.')
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
mode = introductory_text()
mode = basic_setup(mode, FLEXPC_ADDRESS, FLEXD_ADDRESS, THE_86100D_NAME)
if setup_correct(mode):
    slots = discover_modules()
    show_found_modules(slots)
    channel, test_time, time_sep = get_test_parameters(REQUIRED_MODULES,slots)
    if channel and test_time and time_sep:
        y_data = monitor_temperature(channel, test_time, time_sep)
        x_data, xunits = create_time_data(len(y_data), test_time, time_sep)
        plot_thermal_data(y_data, x_data, xunits, channel)
        print('Program has successfully completed.')
    else:
        print('Aborting program.')
    error_messages()
    print_error_messages() # Check FlexDCA for any error messages
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


' + inst_mode + '

# -*- coding: utf-8 -*- """ EXAMPLE 12 With a waveform and measurements viewed on FlexDCA's screen, this script: 1. Uses :MEAS:RES? to return all measurements. 2. Creates an HTML topic that contains the results. 3. Places html topic in the script's folder. 4. You can open and view the HTML topic in a web browser or import the topic into Microsoft Excel. Requires: Python 3.X PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net' Before running this script, a waveform should be displayed on the screen in any of the four FlexDCA modes (Eye, Scope, Jitter, or TDR). Measurements results must be displayed on FlexDCA. For information on the basics of remotely controlling FlexDCA, search FlexDCA's help system for "Programming Quick Start Guide". _________________________________________________________________________ Copyright © 2015 Keysight Technologies Inc. All rights reserved. You have a royalty-free right to use, modify, reproduce and distribute this example files (and/or any modified version) in any way you find useful, provided that you agree that Keysight has no warranty, obligations or liability for any Sample Application Files. """ import visa # import VISA library import decimal as dc """ VISA address for connecting to FlexDCA ______________________________ """ FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR' #FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR' """______________________________________________________________________ """ IOTIMEOUT = 20000 def introductory_text(): """ Prints short description of script. """ print('\nThis script:,\n' + \ '1. Uses :MEAS:RES? to return all measurements.\n' + \ '2. Creates an HTML topic that contains the results.\n' + \ '3. Places html topic in the script\'s folder.\n' + \ '4. You can open and view the HTML topic in a web browser\n' + \ 'or import the topic into Microsoft Excel.') print('-' * 50) print('Required setup:\n' + \ ' - FlexDCA running scope, eye, jiter, or TDR modes\n' + \ ' - A waveform displayed on FlexDCA.\n' + \ ' - The measurement Results table displayed with measurements.\n' + \ ' - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \ ' correct VISA address.') s = input('When ready, press "Enter" key to continue...' + \ 'or "q" to exit: ') if (s == 'q'): return False else: return True def connect_to_FlexDCA(): """Opens a connecton to FlexDCA. """ global FlexDCA try: print('\nConnecting to FlexDCA. Please wait...') FlexDCA=rm.open_resource(FLEXDCA_ADDRESS) FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s FlexDCA.read_termination = '\n' FlexDCA.write(':ACQuire:STOP') s = FlexDCA.query('*IDN?') print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA return True except: s = '\n\tCan\'t connect to instrument. Incorrect address string.\ \n\tEnding program.' print(s) return False def get_FlexDCA_mode(): """ Identifies and returns the FlexDCA mode. Commands FlexDCA to display the results tables in grid view. """ mode = FlexDCA.query(':SYST:MODE?') if 'EYE' in mode: FlexDCA.write(':DISP:WIND:RESults:RVMode GRID') elif 'OSC' in mode: FlexDCA.write(':DISP:WIND:RESults:RVMode GRID') elif 'TDR' in mode: FlexDCA.write(':DISP:WIND:RESults:RVMode GRID') elif 'JITT' in mode: FlexDCA.write(':DISP:WIND:JITTer:RVMode GRID') FlexDCA.write(':DISP:WIND:AMPL:RVMode GRID') return mode def get_table_headings(mode): """ Returns the column headings that are in the returned table. """ headings = ['Measurement','Source','Current','Mean','StdDev', 'Minimum','Maximum','Count'] if 'EYE' in mode: headings = ['Measurement','Source','Current','Minimum', 'Maximum','Count'] elif 'JITT' in mode: headings = ['Measurement','Source','Current','Minimum', 'Maximum','Count'] return headings def get_filename(mode): if 'EYE' in mode: filename = 'Eye Mode Measurements.html' elif 'OSC' in mode: filename = 'Oscilloscope Mode Measurements.html' elif 'TDR' in mode: filename = 'TDR Mode Measurements.html' elif 'JITT' in mode: filename = 'Jitter Mode Measurements.html' return filename def replace_abbreviations(data): """ Returned results can contain abbreviations that will be replaced by more descriptive text. """ corrections = {'Name=':'Measurement=','Min=':'Minimum=','Max=':'Maximum=', '9.91E+37':'Invalid','NLIM':'Not Limited', 'delta - delta':'δ–δ','DELTA':'Δ'} for key,val in corrections.items(): data = data.replace(key,val) return data def create_list_of_meas_dictionaries(all_data): """ Converts the input data from one long string, eg. 'Measurement=Level 1,Source=1A,Current=2.496E-1,...' to a list of dictionaries. [{measurement},{measurement},{measurement},...] Each dictionary contains all values for a table row. """ # Mark the start ('\r') of each measurement all_data = all_data.replace(',Measurement=','\rMeasurement=') list_of_measurements = all_data.split('\r') processed_data = [] for measurement in list_of_measurements: list_of_meas_data = measurement.split(',') # eg. 'Source=1A' list_of_entries = [] for data_entry in list_of_meas_data: list_of_entries.append(data_entry.split('=')) processed_data.append(dict(list_of_entries)) return processed_data # list of dictionaries def convert_meas_values(processed_data, mode, table_headings): """ Convert number entries from scientific to engeneering notation strings and add the proper unit of measurements. The units are based on the measurement name string which are strings in a dictionary for each FlexDCA mode. """ eye_units = {'Pulse':'s','Time':'s','Jitter':'s','TJ':'s','DJ':'s','RJ':'s', 'J1':'s','J2':'s','J3':'s','J4':'s','J5':'s','J6':'s', 'J7':'s','J8':'s','J9':'s','Skew':'s','Period':'s', 'T[':'s','Ampl[':'s','Level':'V','Height':'V', 'Maximum':'V','Minimum':'V','Eye Ampl':'V', 'Ampl at Lower':'V','Ampl at Middle':'V', 'Ampl at Upper':'V','Average Power':'V', 'TI':'V','DI':'V','RN':'V', 'Peak':'V','RMS':'V','Avg':'V', 'Power':'W','OMA':'W','Top':'W','Base':'W','Ratio':'', 'SNR':'','Linearity':'','%':'%','Duty Cycle':'%', 'Overshoot':'%','Preshoot':'%','Bit Rate':'b/s', 'Hits':'hits','Ext. Ratio':'dB','TDEC':'dB'} jitter_units = {'TJ':'s','RJ':'s','DDJ':'s','PJ':'s','DJ':'s','DCD':'s', 'ISI-J':'s','J1':'s','J2':'s','J3':'s','J4':'s','J5':'s', 'J6':'s','J7':'s','J8':'s','J9':'s','DDPWS':'s', 'UJ':'s','Eye Opening':'V','TI':'V', 'RN':'V','DI':'V','ISI (':'V', 'PI':'V','Mod\'n':'V','TI':'V', 'RN':'V','UN':'V','BER Floor':'','Q':'', 'BER Limit':'V','RIN':'dB','Preshoot':'dB', 'De-Emphasis':'dB','Frequeny':'Hz','Phase':'°', 'F/2':'Hz'} scope_units = {'Time':'s','Jitter':'s','Period':'s','T[':'s','Pulse':'s', 'Frequency':'Hz','Duty Cycle':'%','Overshoot':'%', 'Preshoot':'%','Phase':'°','OMA':'W', 'Average Power':'dBm (or W)','Amplitude':'V', 'Peak-Peak':'V','RMS':'V','Avg':'V', 'Top':'V','Base':'V','Maximum':'V', 'Minimum':'V','Ampl[':'V', 'Amplitude at Upper':'V','Amplitude at Lower':'V', 'Amplitude at Middle':'V'} tdr_units = {'Excess C':'F','Excess L':'L','Time':'s','T[]':'s', 'Time at Max':'s','Time at Min':'s','Average':'V', 'Maximum':'V','Minimum':'V','Ampl[':'V'} if 'EYE' in mode: units = eye_units elif 'OSC' in mode: units = scope_units elif 'TDR' in mode: units = tdr_units elif 'JITT' in mode: units = jitter_units for meas in range(len(processed_data)): # number of measurements (rows) measName = processed_data[meas]['Measurement'] # measurement name UnitOfMeas = '' for key in units.keys(): # find units of measurement if key in measName: UnitOfMeas = units[key] # get unit of measurement break if UnitOfMeas == 'V': source = processed_data[meas]['Source'] if source[0] in '12345678': # not a differential channel yunits = ':CHANnel'+ source[:2] +':YUNits?' if FlexDCA.query(yunits) == 'WATT': UnitOfMeas = 'W' # for an optical input channel if source[0] in 'T': # trace not channel if 'Percent' in source: UnitOfMeas = '%' # for an optical input channel elif 'Ohms' in source: UnitOfMeas = 'Ω' # for an optical input channel for head in table_headings: if head == 'Measurement' or head == 'Source': continue if head == 'Count': s = processed_data[meas][head] newstr = convert_number(s, '1') if newstr != s: # entry was a number string processed_data[meas][head] = newstr else: s = processed_data[meas][head] newstr = convert_number(s, '1.00') if newstr != s: # entry was a number string processed_data[meas][head] = newstr + UnitOfMeas return processed_data def convert_number(number, resolution): inputstr = number try: float(number) return eng_notation(number, resolution) except ValueError: return inputstr def create_html_topic(mode): """ Creates head of HTML topic and opening tags for the measurement table. """ if 'EYE' in mode: inst_mode = 'Eye Mode Measurements' elif 'OSC' in mode: inst_mode = 'Oscilloscope Mode Measurements' elif 'TDR' in mode: inst_mode = 'TDR/TDT Mode Measurements' elif 'JITT' in mode: inst_mode = 'Jitter Mode Measurements' html_intro = '\n' + \ '\n' + \ '\n' + \ '\n' + \ '\n' + \ '' + inst_mode + '\n' + \ '\n\n' + \ '\n' + \ '\n' + \ '\n' return html_intro def create_html_table_heading(table_headings): """ Creates the HTML table's heading row. """ s = '' for item in table_headings: s = s + '' s = s + '\n' return s def create_html_table_entries(table_headings, meas_dicts): """ Creates HTML table rows with data. The background of every other row is colored for easier viewing. This is accomplished using a CSS class. """ s = '' row = 0 # row number used to color alternate rows for meas in meas_dicts: # each dictionary represents a measurement if row % 2: s = s + '' else: s = s + '' for heading in table_headings: s = s + '' s = s + '\n' row += 1 s = s + '
Results of ' + inst_mode + '
' + item + '
' + meas_dicts[row][heading] + '
\n\n\n' return s def eng_notation(numstring, resolution): """ Converts scientific notation to engineering notation. First argument is a number string for conversion. Second argument is a string that indicates number of decimal places in answer. Unit multiplier is appended to in final return string. """ dc.getcontext().prec = 10 # prevent limiting of decimal places multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'} numberReal = dc.Decimal(numstring) if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction) exponentMult = 0 while int(numberReal) != 0: numberReal = numberReal / 1000 exponentMult += 1 numberReal *= 1000 exponentMult -= 1 elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction exponentMult = 0 while int(numberReal) == 0: numberReal = numberReal * 1000 exponentMult += 1 exponentMult *= -1 elif numberReal == 0: # number must be zero exponentMult = 0 exponentMult *= 3 if exponentMult == -15: n = numberReal.quantize(dc.Decimal('1')) else: n = numberReal.quantize(dc.Decimal(resolution)) return str(n) + ' ' + multiplier[exponentMult] """________________________________________ Main script The returned FlexDCA table entries are placed in data which is a string of comma-separated column entries. """ rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager if introductory_text() and connect_to_FlexDCA(): mode = get_FlexDCA_mode() data = FlexDCA.query(':MEASure:RESults?;*OPC?') if data == '': print('\nNo measurements are available!') print('Perform a measurement on a waveform,') print('and then restart this script.') else: table_headings = get_table_headings(mode) data = replace_abbreviations(data) processed_data = create_list_of_meas_dictionaries(data) processed_data = convert_meas_values(processed_data, mode, table_headings) filename = get_filename(mode) fout = open(filename, 'wt') fout.write(create_html_topic(mode)) fout.write(create_html_table_heading(table_headings)) fout.write(create_html_table_entries(table_headings, processed_data)) fout.close() print('\n\nFile created in the script\'s folder:') print(' "' + filename + '"\n') print('Open the file in web browser. Or, import\ninto Microsoft Excel.') FlexDCA.write(':SYSTem:GTLocal') FlexDCA.close()


' + inst_mode + '

# -*- coding: utf-8 -*- """ EXAMPLE 12 (Python 2.7) With a waveform and measurements viewed on FlexDCA's screen, this script: 1. Uses :MEAS:RES? to return all measurements. 2. Creates an HTML topic that contains the results. 3. Places html topic in the script's folder. 4. You can open and view the HTML topic in a web browser or import the topic into Microsoft Excel. Requires: Python 2.7 PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net' Before running this script, a waveform should be displayed on the screen in any of the four FlexDCA modes (Eye, Scope, Jitter, or TDR). Measurements results must be displayed on FlexDCA. For information on the basics of remotely controlling FlexDCA, search FlexDCA's help system for "Programming Quick Start Guide". _________________________________________________________________________ Copyright © 2015 Keysight Technologies Inc. All rights reserved. You have a royalty-free right to use, modify, reproduce and distribute this example files (and/or any modified version) in any way you find useful, provided that you agree that Keysight has no warranty, obligations or liability for any Sample Application Files. """ import visa # import VISA library import decimal as dc """ VISA address for connecting to FlexDCA ______________________________ """ #FLEXDCA_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR' FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR' """______________________________________________________________________ """ IOTIMEOUT = 20000 def introductory_text(): """ Prints short description of script. """ print('\nThis script:,\n' + \ '1. Uses :MEAS:RES? to return all measurements.\n' + \ '2. Creates an HTML topic that contains the results.\n' + \ '3. Places html topic in the script\'s folder.\n' + \ '4. You can open and view the HTML topic in a web browser\n' + \ 'or import the topic into Microsoft Excel.') print('-' * 50) print('Required setup:\n' + \ ' - FlexDCA running scope, eye, jiter, or TDR modes\n' + \ ' - A waveform displayed on FlexDCA.\n' + \ ' - The measurement Results table displayed with measurements.\n' + \ ' - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \ ' correct VISA address.') s = raw_input('When ready, press "Enter" key to continue...' + \ 'or "q" to exit: ') if (s == 'q'): return False else: return True def connect_to_FlexDCA(): """Opens a connecton to FlexDCA. """ global FlexDCA try: print('\nConnecting to FlexDCA. Please wait...') FlexDCA=rm.open_resource(FLEXDCA_ADDRESS) FlexDCA.timeout = IOTIMEOUT # Set connection timeout to 20s FlexDCA.read_termination = '\n' FlexDCA.write(':ACQuire:STOP') s = FlexDCA.query('*IDN?') print('\n\tFlexDCA connection established to:\n\t' + s) # Identify FlexDCA return True except: s = '\n\tCan\'t connect to instrument. Incorrect address string.\ \n\tEnding program.' print(s) return False def get_FlexDCA_mode(): """ Identifies and returns the FlexDCA mode. Commands FlexDCA to display the results tables in grid view. """ mode = FlexDCA.query(':SYST:MODE?') if 'EYE' in mode: FlexDCA.write(':DISP:WIND:RESults:RVMode GRID') elif 'OSC' in mode: FlexDCA.write(':DISP:WIND:RESults:RVMode GRID') elif 'TDR' in mode: FlexDCA.write(':DISP:WIND:RESults:RVMode GRID') elif 'JITT' in mode: FlexDCA.write(':DISP:WIND:JITTer:RVMode GRID') FlexDCA.write(':DISP:WIND:AMPL:RVMode GRID') return mode def get_table_headings(mode): """ Returns the column headings that are in the returned table. """ headings = ['Measurement','Source','Current','Mean','StdDev', 'Minimum','Maximum','Count'] if 'EYE' in mode: headings = ['Measurement','Source','Current','Minimum', 'Maximum','Count'] elif 'JITT' in mode: headings = ['Measurement','Source','Current','Minimum', 'Maximum','Count'] return headings def get_filename(mode): if 'EYE' in mode: filename = 'Eye Mode Measurements.html' elif 'OSC' in mode: filename = 'Oscilloscope Mode Measurements.html' elif 'TDR' in mode: filename = 'TDR Mode Measurements.html' elif 'JITT' in mode: filename = 'Jitter Mode Measurements.html' return filename def replace_abbreviations(data): """ Returned results can contain abbreviations that will be replaced by more descriptive text. """ corrections = {'Name=':'Measurement=','Min=':'Minimum=','Max=':'Maximum=', '9.91E+37':'Invalid','NLIM':'Not Limited', 'delta - delta':'δ–δ','DELTA':'Δ'} for key,val in corrections.items(): data = data.replace(key,val) return data def create_list_of_meas_dictionaries(all_data): """ Converts the input data from one long string, eg. 'Measurement=Level 1,Source=1A,Current=2.496E-1,...' to a list of dictionaries. [{measurement},{measurement},{measurement},...] Each dictionary contains all values for a table row. """ # Mark the start ('\r') of each measurement all_data = all_data.replace(',Measurement=','\rMeasurement=') list_of_measurements = all_data.split('\r') processed_data = [] for measurement in list_of_measurements: list_of_meas_data = measurement.split(',') # eg. 'Source=1A' list_of_entries = [] for data_entry in list_of_meas_data: list_of_entries.append(data_entry.split('=')) processed_data.append(dict(list_of_entries)) return processed_data # list of dictionaries def convert_meas_values(processed_data, mode, table_headings): """ Convert number entries from scientific to engeneering notation strings and add the proper unit of measurements. The units are based on the measurement name string which are strings in a dictionary for each FlexDCA mode. """ eye_units = {'Pulse':'s','Time':'s','Jitter':'s','TJ':'s','DJ':'s','RJ':'s', 'J1':'s','J2':'s','J3':'s','J4':'s','J5':'s','J6':'s', 'J7':'s','J8':'s','J9':'s','Skew':'s','Period':'s', 'T[':'s','Ampl[':'s','Level':'V','Height':'V', 'Maximum':'V','Minimum':'V','Eye Ampl':'V', 'Ampl at Lower':'V','Ampl at Middle':'V', 'Ampl at Upper':'V','Average Power':'V', 'TI':'V','DI':'V','RN':'V', 'Peak':'V','RMS':'V','Avg':'V', 'Power':'W','OMA':'W','Top':'W','Base':'W','Ratio':'', 'SNR':'','Linearity':'','%':'%','Duty Cycle':'%', 'Overshoot':'%','Preshoot':'%','Bit Rate':'b/s', 'Hits':'hits','Ext. Ratio':'dB','TDEC':'dB'} jitter_units = {'TJ':'s','RJ':'s','DDJ':'s','PJ':'s','DJ':'s','DCD':'s', 'ISI-J':'s','J1':'s','J2':'s','J3':'s','J4':'s','J5':'s', 'J6':'s','J7':'s','J8':'s','J9':'s','DDPWS':'s', 'UJ':'s','Eye Opening':'V','TI':'V', 'RN':'V','DI':'V','ISI (':'V', 'PI':'V','Mod\'n':'V','TI':'V', 'RN':'V','UN':'V','BER Floor':'','Q':'', 'BER Limit':'V','RIN':'dB','Preshoot':'dB', 'De-Emphasis':'dB','Frequeny':'Hz','Phase':'°', 'F/2':'Hz'} scope_units = {'Time':'s','Jitter':'s','Period':'s','T[':'s','Pulse':'s', 'Frequency':'Hz','Duty Cycle':'%','Overshoot':'%', 'Preshoot':'%','Phase':'°','OMA':'W', 'Average Power':'dBm (or W)','Amplitude':'V', 'Peak-Peak':'V','RMS':'V','Avg':'V', 'Top':'V','Base':'V','Maximum':'V', 'Minimum':'V','Ampl[':'V', 'Amplitude at Upper':'V','Amplitude at Lower':'V', 'Amplitude at Middle':'V'} tdr_units = {'Excess C':'F','Excess L':'L','Time':'s','T[]':'s', 'Time at Max':'s','Time at Min':'s','Average':'V', 'Maximum':'V','Minimum':'V','Ampl[':'V'} if 'EYE' in mode: units = eye_units elif 'OSC' in mode: units = scope_units elif 'TDR' in mode: units = tdr_units elif 'JITT' in mode: units = jitter_units for meas in range(len(processed_data)): # number of measurements (rows) measName = processed_data[meas]['Measurement'] # measurement name UnitOfMeas = '' for key in units.keys(): # find units of measurement if key in measName: UnitOfMeas = units[key] # get unit of measurement break if UnitOfMeas == 'V': source = processed_data[meas]['Source'] if source[0] in '12345678': # not a differential channel yunits = ':CHANnel'+ source[:2] +':YUNits?' if FlexDCA.query(yunits) == 'WATT': UnitOfMeas = 'W' # for an optical input channel if source[0] in 'T': # trace not channel if 'Percent' in source: UnitOfMeas = '%' # for an optical input channel elif 'Ohms' in source: UnitOfMeas = 'Ω' # for an optical input channel for head in table_headings: if head == 'Measurement' or head == 'Source': continue if head == 'Count': s = processed_data[meas][head] newstr = convert_number(s, '1') if newstr != s: # entry was a number string processed_data[meas][head] = newstr else: s = processed_data[meas][head] newstr = convert_number(s, '1.00') if newstr != s: # entry was a number string processed_data[meas][head] = newstr + UnitOfMeas return processed_data def convert_number(number, resolution): inputstr = number try: float(number) return eng_notation(number, resolution) except ValueError: return inputstr def create_html_topic(mode): """ Creates head of HTML topic and opening tags for the measurement table. """ if 'EYE' in mode: inst_mode = 'Eye Mode Measurements' elif 'OSC' in mode: inst_mode = 'Oscilloscope Mode Measurements' elif 'TDR' in mode: inst_mode = 'TDR/TDT Mode Measurements' elif 'JITT' in mode: inst_mode = 'Jitter Mode Measurements' html_intro = '\n' + \ '\n' + \ '\n' + \ '\n' + \ '\n' + \ '' + inst_mode + '\n' + \ '\n\n' + \ '\n' + \ '\n' + \ '\n' return html_intro def create_html_table_heading(table_headings): """ Creates the HTML table's heading row. """ s = '' for item in table_headings: s = s + '' s = s + '\n' return s def create_html_table_entries(table_headings, meas_dicts): """ Creates HTML table rows with data. The background of every other row is colored for easier viewing. This is accomplished using a CSS class. """ s = '' row = 0 # row number used to color alternate rows for meas in meas_dicts: # each dictionary represents a measurement if row % 2: s = s + '' else: s = s + '' for heading in table_headings: s = s + '' s = s + '\n' row += 1 s = s + '
Results of ' + inst_mode + '
' + item + '
' + meas_dicts[row][heading] + '
\n\n\n' return s def eng_notation(numstring, resolution): """ Converts scientific notation to engineering notation. First argument is a number string for conversion. Second argument is a string that indicates number of decimal places in answer. Unit multiplier is appended to in final return string. """ dc.getcontext().prec = 10 # prevent limiting of decimal places multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'} numberReal = dc.Decimal(numstring) if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction) exponentMult = 0 while int(numberReal) != 0: numberReal = numberReal / 1000 exponentMult += 1 numberReal *= 1000 exponentMult -= 1 elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction exponentMult = 0 while int(numberReal) == 0: numberReal = numberReal * 1000 exponentMult += 1 exponentMult *= -1 elif numberReal == 0: # number must be zero exponentMult = 0 exponentMult *= 3 if exponentMult == -15: n = numberReal.quantize(dc.Decimal('1')) else: n = numberReal.quantize(dc.Decimal(resolution)) return str(n) + ' ' + multiplier[exponentMult] """________________________________________ Main script The returned FlexDCA table entries are placed in data which is a string of comma-separated column entries. """ rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager if introductory_text() and connect_to_FlexDCA(): mode = get_FlexDCA_mode() data = FlexDCA.query(':MEASure:RESults?;*OPC?') if data == '': print('\nNo measurements are available!') print('Perform a measurement on a waveform,') print('and then restart this script.') else: table_headings = get_table_headings(mode) data = replace_abbreviations(data) processed_data = create_list_of_meas_dictionaries(data) processed_data = convert_meas_values(processed_data, mode, table_headings) filename = get_filename(mode) fout = open(filename, 'wt') fout.write(create_html_topic(mode)) fout.write(create_html_table_heading(table_headings)) fout.write(create_html_table_entries(table_headings, processed_data)) fout.close() print('\n\nFile created in the script\'s folder:') print(' "' + filename + '"\n') print('Open the file in web browser. Or, import\ninto Microsoft Excel.') FlexDCA.write(':SYSTem:GTLocal') FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 11
In TDR mode, creates a 2-port single-ended DUT and creates a fixture
deembedding setup with two fixture components.
Start the script to see instructions.
Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Near the top of this script, modify the following constants with
address and name values that match your setup. The basic setup selected
determines which of these constants is used.

FLEXPC_ADDRESS. VISA address of FlexDCA on PC.
FLEXD_ADDRESS. VISA address of FlexDCA on 86100D.
THE_86100D_NAME. The computer name of an 86100D. Used to connect N1010A
FlexDCA on a PC to 86100D's FlexDCA (Flex-on-Flex).

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
import os
import sys
import visa # import VISA library

""" Addresses for connecting to FlexDCA ______________________________
"""
FLEXPC_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
FLEXD_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
THE_86100D_NAME = 'K-86100D-20108'

"""______________________________________________________________________
"""

SPARAMETER_FILE = '"%DEMO_DIR%\\S-Parameter Data\Demo\\TDRDemoBoard_ET55780' + \
                    '\\ET55780_Impedance_Profile.s2p"'

ABORT = 0
FLEX_ON_FLEX = 1
FLEX_OFFLINE = 2 # not connected to 86100D
SCRIPT_ON_PC = 3
SCRIPT_ON_86100D = 4

ErrorList = []
REQUIRED_MODULES = ['N1055A','54754A']
chA = '' # assigned in assign_module_channels() function. eg., '1A'
chB = ''
chC = ''
chD = ''

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:,\n' + \
        '1. Sets 86100D to TDR mode.\n' + \
        '2. Discovers what modules are installed.\n' + \
        '3. Confirms that required modules are installed.\n' + \
        '4. Finds if capacity exists to add a new TDR DUT setup. There\n' + \
        '   can be up to 16. If available, creates a 2-port single-ended\n' + \
        '   DUT in TDR setup.\n' + \
        '5. Finds if capacity exists to add 2 fixture deembedding\n' + \
        '   components. There can be up to 16. If available, creates\n' + \
        '   components from s2p file in DEMO folder.\n' + \
        '6. Creates DUT setup with fixture deembedded fixtures connected.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - N1055A TDR module, or\n' + \
        '    - 54754A TDR module.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address to FlexDCA.\n' + \
        '    - At top of script, edit THE_86100D_NAME constant for\n' + \
        '      correct 86100D\'s computer name or leave as empty\n' + \
        '      string if FLEXDCA_ADDRESS is FlexDCA on 86100D versus\n' + \
        '      FlexDCA on PC.')
    print('-' * 50)
    print('Select basic setup:\n' + \
        ' 1. Flex-on-Flex\n' + \
        ' 2. FlexDCA offline\n' + \
        ' 3. Script on PC controlling 86100D\n' + \
        ' 4. Script on 86100D')
    s = input('When ready, press:\n' + \
            ' 1, 2, 3, or 4 to select a setup.\n' + \
            ' or any other key to exit: ')
    if (s == '1'):
        return FLEX_ON_FLEX
    elif (s == '2'):
        return FLEX_OFFLINE
    elif (s == '3'):
        return SCRIPT_ON_PC
    elif (s == '4'):
        return SCRIPT_ON_86100D
    else:
        return ABORT

def basic_setup(mode, flexpc_address, flexd_address, the_86100D_name):
    """
    Opens a connecton to FlexDCA based on supplied addresses.

    """
    global FlexDCA
    if mode == ABORT:
        return ABORT
    elif mode == FLEX_OFFLINE:
        while True:
            if connect_to_FlexDCA(flexpc_address):
                if flex_on_PC():
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return FLEX_OFFLINE
                if flex_on_flex():
                    print('Disconnecting FlexDCA from 86100D.')
                    handle_OPC_query(':RDCA:DISConnect','Disconnecting 86100D')
                    continue
            else:
                return ABORT
    elif mode == SCRIPT_ON_PC: # script on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                print('Program is on PC and FlexDCA is on this 86100D:')
                print(FlexDCA.query('*IDN?') + '\n\n')
                return SCRIPT_ON_PC
        else:
            print('Incorrect address for FlexDCA. Aborting.')
            return ABORT
    elif mode == SCRIPT_ON_86100D: # Script and Flex running on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                computername = os.getenv('COMPUTERNAME')
                if ('localhost' in flexd_address) or (computername in flexd_address):
                    print('Program and FlexDCA are on this 86100D:')
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return SCRIPT_ON_86100D
        else:
            return ABORT
    elif mode == FLEX_ON_FLEX: # Flex on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexpc_address):
            if flex_on_PC():
                if flex_on_flex():
                    print('FlexDCA on PC is already connected to ' + \
                            '86100D\'s FlexDCA.')
                    return FLEX_ON_FLEX # already manually connected
                else:
                    if connect_flex_to_flex(the_86100D_name):
                        return FLEX_ON_FLEX
                    else:
                        return ABORT
        else:
            return ABORT
    else:
        return ABORT

def connect_to_FlexDCA(flex_address):
    """ Makes VISA connection to FlexDCA and initializes state. """

    global FlexDCA
    print('\nConnecting FlexDCA.\n' + \
            'Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    try:
        FlexDCA=rm.open_resource(flex_address)
        FlexDCA.timeout = 30000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\nFlexDCA connection established to:\n\t' + s + '\n')
        return True
    except:
        s = '\nCan\'t connect to FlexDCA. Incorrect address string:\n\t'
        print(s + flexpc_address + '\n\tor FlexDCA not started.\n\tEnding program.')
        return False

def flex_on_flex():
    """ Checks if FlexDCA on PC is already connected to FlexDCA on 86100D.
    This state is known as Flex-on-Flex.
    """

    s = FlexDCA.query(':RDCA:CONNect:STATe?') # test for 86100D connection
    if 'CONN' in s:
        return True # Flex-on-Flex is connected
    else:
        return False

def flex_on_PC():
    """ Checks if FlexDCA is on PC versus 86100D and is not connected
    to an 86100D.
    """

    s = FlexDCA.query('*IDN?') # FlexDCA on PC or 86100D?
    if 'N1010A' in s:
        return True # FlexDCA on PC and not connected
    elif '86100D' in s:
        return False # FlexDCA on (or connected to) 86100D

def connect_flex_to_flex(the_86100D_name):
    """ Connects FlexDCA on PC to FlexDCA on 86100D. """

    global ErrorList
    print('\nConnecting FlexDCA on PC to FlexDCA on 86100D.\n' + \
            'Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "' + the_86100D_name + '"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    if error_messages():
        print('error_list: ' + str(ErrorList))
        if '108' in ErrorList[-1]: # Instrument Error;Unable to connect: Host not found
            print('\nCan\'t make Flex-on-Flex connection to 86100D.\n' + \
                'Setting program to control FlexDCA on PC')
            return False
    print('Program is controlling FlexDCA on PC which\n' + \
            'is connected to FlexDCA on this 86100D:')
    print(FlexDCA.query('*IDN?') + '\n\n')
    return True

def setup_correct(mode):
    if mode == ABORT: # Unable to connect to FlexDCA
        print('Aborting program.')
        return False
    elif mode == FLEX_OFFLINE: # Use simulated or extended modules only
        print('FlexDCA is on PC and not connected to 86100D.')
        print('No 86100D is available. This script uses TDR mode and since ' + \
                'there are no simulated TDR modules, the program will end.')
        print('Aborting program.')
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        return False
    else:
        if mode == SCRIPT_ON_PC: # Use real or simulated modules. Not extended
            print('Script on PC controlling FlexDCA on 86100D.')
        elif mode == FLEX_ON_FLEX: # Use real, extended, or simulated modules
            print('FlexDCA on PC is controlling FlexDCA on 86100D.')
        elif mode == SCRIPT_ON_86100D: # Use real, extended, or simulated modules
            print('Script on 86100D is controlling 86100D\'s FlexDCA.')
        return True

def discover_modules():
    """ Locates each hardware, simulated, or extended module by slot.

    Creates a dictionary with slot-number keys and model number values. This
    dictionary is returned.
    Simulated module names returned by FlexDCA are non-intuitive, and are
    modified.
    """

    slots = {1:'',2:'',3:'',4:'',5:'',6:'',7:'',8:''}
    for slot in range(1,9): # slot numbers
        model = FlexDCA.query('SYST:MODel? SLOT' + str(slot))
        if model == 'Not Present':
            continue
        elif model == 'N1010A': # Simulated module on FlexDCA on PC
            model = FlexDCA.query('EMODules:SLOT' + str(slot) + ':SELection?')
            if (model == 'EMPT') or (model == 'DCA'):
                continue
            slots[slot] = model
        else: # standard module
            slots[slot] = model
    return(slots)

def show_found_modules(slots):
    """ Prints a list of all modules found.
    """

    simulated = {'DEM':'DEM (Simulated dual electrical)',
                 'DOM':'DOM (Simulated dual optical)',
                 'QEM':'QEM (Simulated quad electrical)',
                 'OEM':'OEM (Simulated electrical/optical)'}
    print('\nInstalled modules:')
    for slot in slots:
        model = slots[slot]
        if model in simulated: #eg. 'DEM' is a key
            print('Slot '+ str(slot) +': '+ simulated[model[0:3]])
        elif model: # non-simulated module exists
            print('Slot '+ str(slot) +': '+ model) # eg, N1090A
    return

def select_slot(required_modules,slots):
    """ Identify any found required modules. If more than one module is
    found, have user select the module to use. Returns the slot number
    (integer) for the selected (or only) module to use.
    """

    confirmed = [] # list of slots (integers) with valid modules
    for i in range(1,9):
        if slots[i] in required_modules:
            confirmed.append(i)
    if len(confirmed) == 1:
        n = confirmed[0]
        print('\nRequired module found: Slot ' + str(n) + '. ' + slots[n])
        return confirmed[0] # Only one required module found.
    if len(confirmed) > 1:
        print('\nRequired modules found:')
        for n in confirmed:
            print('Slot ' + str(n) + '. ' + slots[n])
        return int(input('Select the slot (module) to use: '))
    print('No required modules found.')
    return 0

def assign_module_channels(slot):
    """
    Assigns the channel global vars which are used in SCPI command
    strings. slot is an integer.
    """

    global chA
    global chB
    global chC
    global chD
    s = str(slot)
    model = FlexDCA.query('SYST:MODel? SLOT' + s)
    if 'N1055A' in model:
        chA = 'CHAN' + s + 'A' # eg. 1A
        chB = 'CHAN' + s + 'B' # eg. 1B
        chC = 'CHAN' + s + 'C'
        chD = 'CHAN' + s + 'D'
    elif '54754A' in model:
        chA = 'CHAN' + s + 'A' # eg. 1A
        s = str(slot + 1)
        chB = 'CHAN' + s + 'A' # eg. 2A

def find_available_dut():
    """ Up to 16 DUTs can be defined. Determines the next available DUT
    number and returns that DUT. So, if 3 DUTs exist, it returns "DUT4".
    """
    for number in range(1,17):
        s = 'DUT' + str(number)
        if FlexDCA.query(':TDR:'+s+':ENABle?') == '1':
            if number == 16: # all potential DUTs exist
                return s
            continue
        else:
            return s

def find_available_fixtures(*args):
    """ Up to 16 fixture components can be defined for the Fixture De-Embedding.
    Setup. Returns the number of requested fixture names and returns the names.
    So, if 3 fixtures exist (a,b, and c), it returns "FCOMD" and "FCOME'.
    If there are not enough available fixtures and empty tupple is returned.
    """
    letters = 'ABCDEFGHIJKLMNOP'
    fixture_count = len(args) # args is tupple of requestd fixtures
    fcom = ''
    available = []
    fixture_list = []
    for i in range(0,16): # find available fixtures
        fcom = 'FCOM' + letters[i]
        if FlexDCA.query(':TDR:DEEMbed:'+fcom+':STATus?') == 'INV':
            available.append(fcom) # make a list of available fixtures
    if len(available) < fixture_count:
        fixture_list = ['' for item in range(0,fixture_count)]
        return fixture_list # Fixtures not available, return empty list.
    i = 0
    while i < fixture_count:
        fixture_list.append(available[i])
        i += 1
    return fixture_list

def create_deembed_fixture(fixture, filename):
    """ Creates a new fixture component.
    The 5th character in the fixture argument (index number 4) identifies
    the new fixter. For example, "E" in "FCOME". Letters can range from
    "A" to "P". The filename argument is the s2p file.
    """

    FlexDCA.write(':TDR:DEEMbed:'+ fixture +':LOAD:FNAMe ' + filename)
    FlexDCA.write(':TDR:DEEMbed:'+ fixture +':LOAD')
    print('Created fixture: ' + fixture[4])

def create_TDR_setup(dut, fixture1, fixture2):
    """ Creates a new TDR DUT setup (2-port SE) using the dut argument. The
    dut argument is a string. For example, "DUT4".
    """

    global chA
    global chB
    FlexDCA.write(':TDR:AMODe SENDed')
    FlexDCA.write(':TDR:'+dut+':ENABle ON')
    FlexDCA.write(':TDR:'+dut+':DTYPe SEPorts2')
    print('Created ' + dut)
    FlexDCA.write(':TDR:'+chA+':DUT ' + dut)
    FlexDCA.write(':TDR:'+chA+':PORT PORT1')
    FlexDCA.write(':TDR:STIMulus:'+chA+':STEP ON')
    FlexDCA.write(':TDR:'+chB+':DUT ' + dut)
    FlexDCA.write(':TDR:'+chB+':PORT PORT2')
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT1:FIXTure ' + fixture1)
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT1:TPORt PORT1')
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT1:DPORt PORT2')
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT2:FIXTure ' + fixture2)
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT2:TPORt PORT2')
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT2:DPORt PORT1')
    FlexDCA.write(':TDR:STIMulus:'+chA+':STEP ON')
    print('Created TDR setup with deembedding.')
    sys.stdout.flush() # Flush print message in stdout

def save_instrument_state(dut):
    """ Save DUT and fixture deembeding settings in instrument state file. """

    print('Saving the instrument state....')
    FlexDCA.write(':DISK:SETup:SAVe "%USER_DATA_DIR%\\Setups\\' + dut + '.setx"')

def error_messages():
    """ Check FlexDCA's message buffer and adds any error strings into to the
    global ErrorList variable.
    """

    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """

    global ErrorList
    if len(ErrorList) == 0:
        print('\nNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if int(FlexDCA.query(':SYSTEM:ERRor:COUNt?')):
            error_messages()
        print(feature + ' successful.')
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
mode = introductory_text()
mode = basic_setup(mode, FLEXPC_ADDRESS, FLEXD_ADDRESS, THE_86100D_NAME)
if setup_correct(mode):
    slots = discover_modules()
    show_found_modules(slots)
    slot = select_slot(REQUIRED_MODULES,slots)
    if 1 <= slot <= 8:
        assign_module_channels(slot)
        handle_OPC_query(':SYSTem:MODE TDR', 'Change to TDR mode')
        dut = find_available_dut()
        fcom1 = ''
        fcom2 = ''
        fcom1, fcom2 = find_available_fixtures(fcom1, fcom2)
        if fcom1 == '':
            print('\nNot enough fixtures available. Limit is 16.' + \
                    '\nProgram has aborted.')
        else:
            create_deembed_fixture(fcom1, SPARAMETER_FILE)
            create_deembed_fixture(fcom2, SPARAMETER_FILE)
            create_TDR_setup(dut, fcom1, fcom2)
            if chC:
                FlexDCA.write(':' + chC + ':DISPlay OFF')
            if chD:
                FlexDCA.write(':' + chD + ':DISPlay OFF')
            save_instrument_state(dut)
            print('Program has successfully completed.')
    else:
        print('Aborting program.')
    error_messages()
    print_error_messages() # Check FlexDCA for any error messages
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 11 (Python 2.7)
In TDR mode, creates a 2-port single-ended DUT and creates a fixture
deembedding setup with two fixture components.
Start the script to see instructions.
Requires:
    - Python 2.7
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
________________________________________________________________________
Near the top of this script, modify the following constants with
address and name values that match your setup. The basic setup selected
determines which of these constants is used.

FLEXPC_ADDRESS. VISA address of FlexDCA on PC.
FLEXD_ADDRESS. VISA address of FlexDCA on 86100D.
THE_86100D_NAME. The computer name of an 86100D. Used to connect N1010A
FlexDCA on a PC to 86100D's FlexDCA (Flex-on-Flex).

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
________________________________________________________________________
Copyright © 2015 Keysight Technologies Inc. All rights reserved.
You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful,
provided that you agree that Keysight has no warranty, obligations or
liability for any Sample Application Files.
_________________________________________________________________________

"""
import os
import sys
import visa # import VISA library

""" Addresses for connecting to FlexDCA ______________________________
"""
FLEXPC_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
FLEXD_ADDRESS = 'TCPIP0::K-86100D-20108::hislip0,4880::INSTR'
THE_86100D_NAME = 'K-86100D-20108'

"""______________________________________________________________________
"""

SPARAMETER_FILE = '"%DEMO_DIR%\S-Parameter Data\Demo\TDRDemoBoard_ET55780' + \
                    '\ET55780_Impedance_Profile.s2p"'

ABORT = 0
FLEX_ON_FLEX = 1
FLEX_OFFLINE = 2 # not connected to 86100D
SCRIPT_ON_PC = 3
SCRIPT_ON_86100D = 4

ErrorList = []
REQUIRED_MODULES = ['N1055A','54754A']
chA = '' # assigned in assign_module_channels() function. eg., '1A'
chB = ''
chC = ''
chD = ''

def introductory_text():
    """ Prints short description of script.
    """
    print('\nThis script:,\n' + \
        '1. Sets 86100D to TDR mode.\n' + \
        '2. Discovers what modules are installed.\n' + \
        '3. Confirms that required modules are installed.\n' + \
        '4. Finds if capacity exists to add a new TDR DUT setup. There\n' + \
        '   can be up to 16. If available, creates a 2-port single-ended\n' + \
        '   DUT in TDR setup.\n' + \
        '5. Finds if capacity exists to add 2 fixture deembedding\n' + \
        '   components. There can be up to 16. If available, creates\n' + \
        '   components from s2p file in DEMO folder.\n' + \
        '6. Creates DUT setup with fixture deembedded fixtures connected.')
    print('-' * 50)
    print('Required setup:\n' + \
        '    - N1055A TDR module, or\n' + \
        '    - 54754A TDR module.\n' + \
        '    - At top of script, edit FLEXDCA_ADDRESS constant for\n' + \
        '      correct VISA address to FlexDCA.\n' + \
        '    - At top of script, edit THE_86100D_NAME constant for\n' + \
        '      correct 86100D\'s computer name or leave as empty\n' + \
        '      string if FLEXDCA_ADDRESS is FlexDCA on 86100D versus\n' + \
        '      FlexDCA on PC.')
    print('-' * 50)
    print('Select basic setup:\n' + \
        ' 1. Flex-on-Flex\n' + \
        ' 2. FlexDCA offline\n' + \
        ' 3. Script on PC controlling 86100D\n' + \
        ' 4. Script on 86100D')
    s = raw_input('When ready, press:\n' + \
            ' 1, 2, 3, or 4 to select a setup.\n' + \
            ' or any other key to exit: ')
    if (s == '1'):
        return FLEX_ON_FLEX
    elif (s == '2'):
        return FLEX_OFFLINE
    elif (s == '3'):
        return SCRIPT_ON_PC
    elif (s == '4'):
        return SCRIPT_ON_86100D
    else:
        return ABORT

def basic_setup(mode, flexpc_address, flexd_address, the_86100D_name):
    """
    Opens a connecton to FlexDCA based on supplied addresses.

    """
    global FlexDCA
    if mode == ABORT:
        return ABORT
    elif mode == FLEX_OFFLINE:
        while True:
            if connect_to_FlexDCA(flexpc_address):
                if flex_on_PC():
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return FLEX_OFFLINE
                if flex_on_flex():
                    print('Disconnecting FlexDCA from 86100D.')
                    handle_OPC_query(':RDCA:DISConnect','Disconnecting 86100D')
                    continue
            else:
                return ABORT
    elif mode == SCRIPT_ON_PC: # script on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                print('Program is on PC and FlexDCA is on this 86100D:')
                print(FlexDCA.query('*IDN?') + '\n\n')
                return SCRIPT_ON_PC
        else:
            print('Incorrect address for FlexDCA. Aborting.')
            return ABORT
    elif mode == SCRIPT_ON_86100D: # Script and Flex running on 86100D
        if connect_to_FlexDCA(flexd_address):
            if flex_on_PC():
                print('FlexDCA is on PC, not 86100D. Aborting.')
                return ABORT
            else:
                computername = os.getenv('COMPUTERNAME')
                if ('localhost' in flexd_address) or (computername in flexd_address):
                    print('Program and FlexDCA are on this 86100D:')
                    print(FlexDCA.query('*IDN?') + '\n\n')
                    return SCRIPT_ON_86100D
        else:
            return ABORT
    elif mode == FLEX_ON_FLEX: # Flex on PC controlling Flex on 86100D
        if connect_to_FlexDCA(flexpc_address):
            if flex_on_PC():
                if flex_on_flex():
                    print('FlexDCA on PC is already connected to ' + \
                            '86100D\'s FlexDCA.')
                    return FLEX_ON_FLEX # already manually connected
                else:
                    if connect_flex_to_flex(the_86100D_name):
                        return FLEX_ON_FLEX
                    else:
                        return ABORT
        else:
            return ABORT
    else:
        return ABORT

def connect_to_FlexDCA(flex_address):
    """ Makes VISA connection to FlexDCA and initializes state. """

    global FlexDCA
    print('\nConnecting FlexDCA.\n' + \
            'Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    try:
        FlexDCA=rm.open_resource(flex_address)
        FlexDCA.timeout = 30000 # Set connection timeout to 20s
        FlexDCA.read_termination = '\n'
        s = FlexDCA.query('*IDN?')
        print('\nFlexDCA connection established to:\n\t' + s + '\n')
        return True
    except:
        s = '\nCan\'t connect to FlexDCA. Incorrect address string:\n\t'
        print(s + flexpc_address + '\n\tor FlexDCA not started.\n\tEnding program.')
        return False

def flex_on_flex():
    """ Checks if FlexDCA on PC is already connected to FlexDCA on 86100D.
    This state is known as Flex-on-Flex.
    """

    s = FlexDCA.query(':RDCA:CONNect:STATe?') # test for 86100D connection
    if 'CONN' in s:
        return True # Flex-on-Flex is connected
    else:
        return False

def flex_on_PC():
    """ Checks if FlexDCA is on PC versus 86100D and is not connected
    to an 86100D.
    """

    s = FlexDCA.query('*IDN?') # FlexDCA on PC or 86100D?
    if 'N1010A' in s:
        return True # FlexDCA on PC and not connected
    elif '86100D' in s:
        return False # FlexDCA on (or connected to) 86100D

def connect_flex_to_flex(the_86100D_name):
    """ Connects FlexDCA on PC to FlexDCA on 86100D. """

    global ErrorList
    print('\nConnecting FlexDCA on PC to FlexDCA on 86100D.\n' + \
            'Please wait...')
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':RDCA:CONNect:METhod LAN')
    FlexDCA.write(':RDCA:CONNect:MODE STANdard')
    FlexDCA.write(':RDCA:CONNect:ACTion TBSettings')
    FlexDCA.write(':RDCA:CONNect:TSETtings ON') # Pull state upon connect
    FlexDCA.write(':RDCA:DISConnect:TSETtings ON') # Push state upon disconnect
    FlexDCA.write(':RDCA:CONNect:HOST "' + the_86100D_name + '"')
    FlexDCA.query(':RDCA:CONNect;*OPC?')
    if error_messages():
        print('error_list: ' + str(ErrorList))
        if '108' in ErrorList[-1]: # Instrument Error;Unable to connect: Host not found
            print('\nCan\'t make Flex-on-Flex connection to 86100D.\n' + \
                'Setting program to control FlexDCA on PC')
            return False
    print('Program is controlling FlexDCA on PC which\n' + \
            'is connected to FlexDCA on this 86100D:')
    print(FlexDCA.query('*IDN?') + '\n\n')
    return True

def setup_correct(mode):
    if mode == ABORT: # Unable to connect to FlexDCA
        print('Aborting program.')
        return False
    elif mode == FLEX_OFFLINE: # Use simulated or extended modules only
        print('FlexDCA is on PC and not connected to 86100D.')
        print('No 86100D is available. This script uses TDR mode and since ' + \
                'there are no simulated TDR modules, the program will end.')
        print('Aborting program.')
        FlexDCA.write(':SYSTem:GTLocal')
        FlexDCA.close()
        return False
    else:
        if mode == SCRIPT_ON_PC: # Use real or simulated modules. Not extended
            print('Script on PC controlling FlexDCA on 86100D.')
        elif mode == FLEX_ON_FLEX: # Use real, extended, or simulated modules
            print('FlexDCA on PC is controlling FlexDCA on 86100D.')
        elif mode == SCRIPT_ON_86100D: # Use real, extended, or simulated modules
            print('Script on 86100D is controlling 86100D\'s FlexDCA.')
        return True

def discover_modules():
    """ Locates each hardware, simulated, or extended module by slot.

    Creates a dictionary with slot-number keys and model number values. This
    dictionary is returned.
    Simulated module names returned by FlexDCA are non-intuitive, and are
    modified.
    """

    slots = {1:'',2:'',3:'',4:'',5:'',6:'',7:'',8:''}
    for slot in range(1,9): # slot numbers
        model = FlexDCA.query('SYST:MODel? SLOT' + str(slot))
        if model == 'Not Present':
            continue
        elif model == 'N1010A': # Simulated module on FlexDCA on PC
            model = FlexDCA.query('EMODules:SLOT' + str(slot) + ':SELection?')
            if (model == 'EMPT') or (model == 'DCA'):
                continue
            slots[slot] = model
        else: # standard module
            slots[slot] = model
    return(slots)

def show_found_modules(slots):
    """ Prints a list of all modules found.
    """

    simulated = {'DEM':'DEM (Simulated dual electrical)',
                 'DOM':'DOM (Simulated dual optical)',
                 'QEM':'QEM (Simulated quad electrical)',
                 'OEM':'OEM (Simulated electrical/optical)'}
    print('\nInstalled modules:')
    for slot in slots:
        model = slots[slot]
        if model in simulated: #eg. 'DEM' is a key
            print('Slot '+ str(slot) +': '+ simulated[model[0:3]])
        elif model: # non-simulated module exists
            print('Slot '+ str(slot) +': '+ model) # eg, N1090A
    return

def select_slot(required_modules,slots):
    """ Identify any found required modules. If more than one module is
    found, have user select the module to use. Returns the slot number
    (integer) for the selected (or only) module to use.
    """

    confirmed = [] # list of slots (integers) with valid modules
    for i in range(1,9):
        if slots[i] in required_modules:
            confirmed.append(i)
    if len(confirmed) == 1:
        n = confirmed[0]
        print('\nRequired module found: Slot ' + str(n) + '. ' + slots[n])
        return confirmed[0] # Only one required module found.
    if len(confirmed) > 1:
        print('\nRequired modules found:')
        for n in confirmed:
            print('Slot ' + str(n) + '. ' + slots[n])
        return int(input('Select the slot (module) to use: '))
    print('No required modules found.')
    return 0

def assign_module_channels(slot):
    """
    Assigns the channel global vars which are used in SCPI command
    strings. slot is an integer.
    """

    global chA
    global chB
    global chC
    global chD
    s = str(slot)
    model = FlexDCA.query('SYST:MODel? SLOT' + s)
    if 'N1055A' in model:
        chA = 'CHAN' + s + 'A' # eg. 1A
        chB = 'CHAN' + s + 'B' # eg. 1B
        chC = 'CHAN' + s + 'C'
        chD = 'CHAN' + s + 'D'
    elif '54754A' in model:
        chA = 'CHAN' + s + 'A' # eg. 1A
        s = str(slot + 1)
        chB = 'CHAN' + s + 'A' # eg. 2A

def find_available_dut():
    """ Up to 16 DUTs can be defined. Determines the next available DUT
    number and returns that DUT. So, if 3 DUTs exist, it returns "DUT4".
    """
    for number in range(1,17):
        s = 'DUT' + str(number)
        if FlexDCA.query(':TDR:'+s+':ENABle?') == '1':
            if number == 16: # all potential DUTs exist
                return s
            continue
        else:
            return s

def find_available_fixtures(*args):
    """ Up to 16 fixture components can be defined for the Fixture De-Embedding.
    Setup. Returns the number of requested fixture names and returns the names.
    So, if 3 fixtures exist (a,b, and c), it returns "FCOMD" and "FCOME'.
    If there are not enough available fixtures and empty tupple is returned.
    """
    letters = 'ABCDEFGHIJKLMNOP'
    fixture_count = len(args) # args is tupple of requestd fixtures
    fcom = ''
    available = []
    fixture_list = []
    for i in range(0,16): # find available fixtures
        fcom = 'FCOM' + letters[i]
        if FlexDCA.query(':TDR:DEEMbed:'+fcom+':STATus?') == 'INV':
            available.append(fcom) # make a list of available fixtures
    if len(available) < fixture_count:
        fixture_list = ['' for item in range(0,fixture_count)]
        return fixture_list # Fixtures not available, return empty list.
    i = 0
    while i < fixture_count:
        fixture_list.append(available[i])
        i += 1
    return fixture_list

def create_deembed_fixture(fixture, filename):
    """ Creates a new fixture component.
    The 5th character in the fixture argument (index number 4) identifies
    the new fixter. For example, "E" in "FCOME". Letters can range from
    "A" to "P". The filename argument is the s2p file.
    """

    FlexDCA.write(':TDR:DEEMbed:'+ fixture +':LOAD:FNAMe ' + filename)
    FlexDCA.write(':TDR:DEEMbed:'+ fixture +':LOAD')
    print('Created fixture: ' + fixture[4])

def create_TDR_setup(dut, fixture1, fixture2):
    """ Creates a new TDR DUT setup (2-port SE) using the dut argument. The
    dut argument is a string. For example, "DUT4".
    """

    global chA
    global chB
    FlexDCA.write(':TDR:AMODe SENDed')
    FlexDCA.write(':TDR:'+dut+':ENABle ON')
    FlexDCA.write(':TDR:'+dut+':DTYPe SEPorts2')
    print('Created ' + dut)
    FlexDCA.write(':TDR:'+chA+':DUT ' + dut)
    FlexDCA.write(':TDR:'+chA+':PORT PORT1')
    FlexDCA.write(':TDR:STIMulus:'+chA+':STEP ON')
    FlexDCA.write(':TDR:'+chB+':DUT ' + dut)
    FlexDCA.write(':TDR:'+chB+':PORT PORT2')
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT1:FIXTure ' + fixture1)
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT1:TPORt PORT1')
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT1:DPORt PORT2')
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT2:FIXTure ' + fixture2)
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT2:TPORt PORT2')
    FlexDCA.write(':TDR:DEEMbed:'+dut+':PORT2:DPORt PORT1')
    FlexDCA.write(':TDR:STIMulus:'+chA+':STEP ON')
    print('Created TDR setup with deembedding.')
    sys.stdout.flush() # Flush print message in stdout

def save_instrument_state(dut):
    """ Save DUT and fixture deembeding settings in instrument state file. """

    print('Saving the instrument state....')
    FlexDCA.write(':DISK:SETup:SAVe "%USER_DATA_DIR%\\Setups\\' + dut + '.setx"')

def error_messages():
    """ Check FlexDCA's message buffer and adds any error strings into to the
    global ErrorList variable.
    """

    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """

    global ErrorList
    if len(ErrorList) == 0:
        print('\nNo FlexDCA errors reported.')
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception fails if i/o timeout time is set too short. Failure of *OPC?
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if int(FlexDCA.query(':SYSTEM:ERRor:COUNt?')):
            error_messages()
        print(feature + ' successful.')
        sys.stdout.flush() # Flush print message in stdout
        return True
    except:
        print('ERROR: I/O timeout during ' + feature)
        return False

"""________________________________________
   Main script
"""

rm = visa.ResourceManager() # Create an instance of PyVISA's ResourceManager
mode = introductory_text()
mode = basic_setup(mode, FLEXPC_ADDRESS, FLEXD_ADDRESS, THE_86100D_NAME)
if setup_correct(mode):
    slots = discover_modules()
    show_found_modules(slots)
    slot = select_slot(REQUIRED_MODULES,slots)
    if 1 <= slot <= 8:
        assign_module_channels(slot)
        handle_OPC_query(':SYSTem:MODE TDR', 'Change to TDR mode')
        dut = find_available_dut()
        fcom1 = ''
        fcom2 = ''
        fcom1, fcom2 = find_available_fixtures(fcom1, fcom2)
        if fcom1 == '':
            print('\nNot enough fixtures available. Limit is 16.' + \
                    '\nProgram has aborted.')
        else:
            create_deembed_fixture(fcom1, SPARAMETER_FILE)
            create_deembed_fixture(fcom2, SPARAMETER_FILE)
            create_TDR_setup(dut, fcom1, fcom2)
            if chC:
                FlexDCA.write(':' + chC + ':DISPlay OFF')
            if chD:
                FlexDCA.write(':' + chD + ':DISPlay OFF')
            save_instrument_state(dut)
            print('Program has successfully completed.')
    else:
        print('Aborting program.')
    error_messages()
    print_error_messages() # Check FlexDCA for any error messages
    FlexDCA.write(':SYSTem:GTLocal')
    FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 3
Demonstrates using tracking markers on a simulated waveform.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
_________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.

"""

import sys
import visa # http://pyvisa.sourceforge.net
import decimal as dc

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
SPARAMETER_FILE = '"%DEMO_DIR%\\S-Parameter Data\Demo\\TDRDemoBoard_ET55780\\' + \
                'ET55780_Impedance_Profile.s2p"'

"""______________________________________________________________________
"""

IOTIMEOUT = 30000
ErrorList = []

#________________________________________
# Define Functions

def introductory_text():
    """ Prints short description of script and its requirements.
    """
    print('\nDemonstrates using tracking markers on two simulated. \n' + \
            'waveforms. FlexDCA offline is used. An 86100D is not used.')
    print('-' * 50)
    print('Required setup: FlexDCA running on a PC.')
    s = input('When ready, press "Enter" key to continue\n' + \
                'or "q" to exit.')
    if (s == 'q'):
        return False
    else:
        return True

def default_setup():
    """ Basic setup.
    """

    print('Please wait ...')
    handle_OPC_query(':SYSTem:DEFault', 'Default setup', verbose=True)
    slots = range(1,9)
    channels = ['A','B','C','D']
    for slot in slots: # turn all channels off
        for channel in channels:
            FlexDCA.write(':CHANnel'+str(slot)+channel+':DISPlay OFF')
    FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
    FlexDCA.write(':CHANnel5A:COLor TCOLor5')
    FlexDCA.write(':CHAN5A:DISPlay ON;')
    handle_OPC_query(':SYSTem:MODE OSCilloscope','Oscilloscope Mode', verbose=True)
    handle_OPC_query(':TRIGger:PLOCk ON','Pattern lock', verbose=True)
    handle_OPC_query(':SYSTem:AUToscale','Autoscale', verbose=False)
    FlexDCA.write(':ACQuire:EPATtern ON') # Acquire entire pattern
    FlexDCA.write(':ACQuire:SPBit:MODe MANual') # Select samples/bit
    FlexDCA.write(':ACQuire:SPBit 31.99212598') # 32 samples/bit

def create_math_operators(s2pfile): # Function Apply S2P
    """ Creates an "Apply s2p" waveform signal processing function.

    The required s2p file is selected from the demo folder as it is
    always available for this example. You can substitute your own file.
    The module argument is the '86108A', '86108B', or 'simulated', which
    identifies the channel to be used.
    """

    FlexDCA.write(':FUNCtion1:FOPerator BESSel')
    FlexDCA.write(':SPRocess1:BESSel:BANDwidth 4.000E+9')
    FlexDCA.write(':FUNCtion1:OPERand1 CHAN5A')
    FlexDCA.write(':FUNCtion2:FOPerator CONVolve')
    FlexDCA.write(':SPRocess2:CONVolve:FNAMe ' + s2pfile)
    s = FlexDCA.query(':SPRocess2:CONVolve:FNAMe?')
    print('Imported s2p file:\n' + s, flush=True)
    FlexDCA.write(':FUNCtion2:OPERand1 FUNCtion1')
    FlexDCA.write(':FUNCtion2:COLor TCOLor2') # Color for Function 1
    FlexDCA.write(':FUNCtion2:DISPlay ON') # Turn on Function 1
    handle_OPC_query(':SYSTem:AUToscale', 'Autoscale')

def run_acquisition_limit_test():
    """ Configures and runs acquisition limit test.

    Sixteen patterns are acquired. For pattern smoothing, patterns acquired
    equal patterns smoothed.
    """

    PatternCount = '16'
    FlexDCA.write(':ACQuire:SMOothing AVERage')
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns ' + PatternCount)
    FlexDCA.write(':ACQuire:ECOunt ' + PatternCount)
    FlexDCA.write('ACQuire:SINGle')
    FlexDCA.write(':ACQuire:CDISplay') # Clear acquired data
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition started')
    FlexDCA.timeout = 60000 # 60 seconds
    print('Acquiring '+PatternCount+' patterns. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query(':ACQuire:RUN', 'Acquisition')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def find_bit_sequence():
    FlexDCA.write(':ACQuire:STOP')
    handle_OPC_query(':ACQuire:SINGle','Single acquisition')
    FlexDCA.write(':TIMebase:UNITs BIT')
    FlexDCA.write(':TIMebase:FIND:SIGNal CHAN5A')
    FlexDCA.write(':TIMebase:FIND:SEQuence "0101"')
    i = float(FlexDCA.query(':TIMebase:BPOSition?'))
    pattern_start = int(i)
    FlexDCA.write(':TIMebase:FIND:NEXT') # find first bit sequence
    i = float(FlexDCA.query(':TIMebase:BPOSition?'))
    bit_offset = int(i)
    bit = bit_offset - pattern_start
    if bit == 0:
        print('The bit sequence was not found.')

def create_measurement_regions():

    FlexDCA.write(':MEASure:REGions:STATe ON')
    FlexDCA.write(':MEASure:REGions:COUNt 2')
    FlexDCA.write(':MEASure:REGions:ALIGn')

def create_markers():

    # Marker 1
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:SOURce1 CHAN5A')
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:REGion REGion1')
    s = FlexDCA.query(':MEASure:OSCilloscope:TMAXimum?')
    FlexDCA.write(':MARKer:Y1A:STATe TRACk')
    FlexDCA.write(':MARKer:X1:POSition ' + s)

    # Marker 2
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:SOURce1 FUNCtion2')
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:REGion REGion1')
    s = FlexDCA.query(':MEASure:OSCilloscope:TMAXimum?')
    FlexDCA.write(':MARKer:Y2A:STATe TRACk')
    FlexDCA.write(':MARKer:X2:SOURce FUNCtion2')
    FlexDCA.write(':MARKer:X2:POSition ' + s)

    # Marker 3
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:SOURce1 CHAN5A')
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:REGion REGion2')
    s = FlexDCA.query(':MEASure:OSCilloscope:TMAXimum?')
    FlexDCA.write(':MARKer:Y3A:STATe TRACk')
    FlexDCA.write(':MARKer:X3:POSition ' + s)

    # Marker 4
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:SOURce1 FUNCtion2')
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:REGion REGion2')
    s = FlexDCA.query(':MEASure:OSCilloscope:TMAXimum?')
    FlexDCA.write(':MARKer:Y4A:STATe TRACk')
    FlexDCA.write(':MARKer:X4:SOURce FUNCtion2')
    FlexDCA.write(':MARKer:X4:POSition ' + s)
    FlexDCA.write(':DISPlay:MARKER:DELTas ON')

def clean_display():

    FlexDCA.write(':MEASure:ANNotations:STATe OFF')
    FlexDCA.write(':MEASure:REGions:STATe OFF')

def get_marker_values(marker):
    s = str(marker)
    x= FlexDCA.query(':MARKer:X' + s + ':POSition?')
    y = FlexDCA.query(':MEASure:MARKer:Y' + s + 'A?')
    return (eng_notation(x, '1.000'), eng_notation(y, '1.000'))

def get_marker_deltas(marker):
    s = str(marker - 1)
    FlexDCA.write(':MARKer:REFerence X' + s)
    handle_OPC_query(':ACQuire:SINGle;*OPC?','Single acquisition')
    x = FlexDCA.query(':MEASure:MARKer:DX' + str(marker) + '?')
    y = FlexDCA.query(':MEASure:MARKer:DY' + str(marker) + 'A?')
    return (eng_notation(x, '1.000'), eng_notation(y, '1.000'))

def build_table_rows(name,values):
    x = values[0] + 's'
    x = x.ljust(12,' ')
    y = values[1] + 'V'
    return name.rjust(18,' ') + '  ' + x + y

def show_results():

    print('-' * 40)
    print('\nResults For "0101" Bit Sequence')
    print('-' * 40)
    print('For first high bit:')
    print(' '*19, 'Time'.ljust(11,' '), 'Amplitude')
    s = build_table_rows('input waveform:', get_marker_values(1))
    print(s)
    s = build_table_rows('output waveform:', get_marker_values(2))
    print(s)
    s = build_table_rows('\u0394:', get_marker_deltas(2))
    print(s)

    print('\nFor second high bit:')
    s = build_table_rows('input waveform:', get_marker_values(3))
    print(s)
    s = build_table_rows('output waveform:', get_marker_values(4))
    print(s)
    s = build_table_rows('\u0394:', get_marker_deltas(4))
    print(s)
    print('\n\n')

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.

    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command, feature, verbose=False):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short. A successful
    query will not be printed unless verbose is True.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            sys.stdout.flush() # Flush print message in stdout
            return False
        elif verbose:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR occured during ' + feature)
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.', flush=True)
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:', flush=True)
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
s = FlexDCA.query('*CLS;*IDN?')
print('\nLAN Connection established to FlexDCA:\n' + s, flush=True)
if introductory_text():
    default_setup()
    create_math_operators(SPARAMETER_FILE)
    run_acquisition_limit_test()
    find_bit_sequence()
    create_measurement_regions()
    create_markers()
    clean_display()
    show_results()
    error_messages()
    print_error_messages()
    print('Program Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()


# -*- coding: utf-8 -*-
"""
EXAMPLE 3
Demonstrates using tracking markers on two simulated.

Requires:
    - Python 3.X
    - PyVISA to use VISA in Python 'http://pyvisa.sourceforge.net'
    - Enter FlexDCA's VISA address into the script's FLEXDCA_ADDRESS
      global CONSTANT that is located near top of script.

For information on the basics of remotely controlling FlexDCA,
search FlexDCA's help system for "Programming Quick Start Guide".
_________________________________________________________________________
Copyright © 2016 Keysight Technologies Inc. All rights reserved.

You have a royalty-free right to use, modify, reproduce and distribute this
example files (and/or any modified version) in any way you find useful, provided
that you agree that Keysight has no warranty, obligations or liability for any
Sample Application Files.

"""

import sys
import visa # http://pyvisa.sourceforge.net
import decimal as dc

""" Editable Constants _________________________________________________
"""
FLEXDCA_ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR'
SPARAMETER_FILE = '"%DEMO_DIR%\\S-Parameter Data\Demo\\TDRDemoBoard_ET55780\\' + \
                'ET55780_Impedance_Profile.s2p"'

"""______________________________________________________________________
"""

IOTIMEOUT = 30000
ErrorList = []

#________________________________________
# Define Functions

def introductory_text():
    """ Prints short description of script and its requirements.
    """
    print('\nDemonstrates using tracking markers on two simulated. \n' + \
            'waveforms. FlexDCA offline is used. An 86100D is not used.')
    print('-' * 50)
    print('Required setup: FlexDCA running on a PC.')
    s = raw_input('When ready, press "Enter" key to continue\n' + \
                'or "q" to exit.')
    if (s == 'q'):
        return False
    else:
        return True

def default_setup():
    """ Basic setup.
    """

    print('Please wait ...')
    handle_OPC_query(':SYSTem:DEFault', 'Default setup')
    slots = range(1,9)
    channels = ['A','B','C','D']
    for slot in slots: # turn all channels off
        for channel in channels:
            FlexDCA.write(':CHANnel'+str(slot)+channel+':DISPlay OFF')
    FlexDCA.write(':EMODules:SLOT5:SELection DEMini')
    FlexDCA.write(':CHANnel5A:COLor TCOLor5')
    FlexDCA.write(':CHAN5A:DISPlay ON;')
    handle_OPC_query(':SYSTem:MODE OSCilloscope','Oscilloscope Mode')
    handle_OPC_query(':TRIGger:PLOCk ON','Pattern lock')
    handle_OPC_query(':SYSTem:AUToscale','Autoscale')
    FlexDCA.write(':ACQuire:EPATtern ON') # Acquire entire pattern
    FlexDCA.write(':ACQuire:SPBit:MODe MANual') # Select samples/bit
    FlexDCA.write(':ACQuire:SPBit 31.99212598') # 32 samples/bit

def create_math_operators(s2pfile): # Function Apply S2P
    """ Creates an "Apply s2p" waveform signal processing function.

    The required s2p file is selected from the demo folder as it is
    always available for this example. You can substitute your own file.
    The module argument is the '86108A', '86108B', or 'simulated', which
    identifies the channel to be used.
    """

    FlexDCA.write(':FUNCtion1:FOPerator BESSel')
    FlexDCA.write(':SPRocess1:BESSel:BANDwidth 4.000E+9')
    FlexDCA.write(':FUNCtion1:OPERand1 CHAN5A')
    FlexDCA.write(':FUNCtion2:FOPerator CONVolve')
    FlexDCA.write(':SPRocess2:CONVolve:FNAMe ' + s2pfile)
    s = FlexDCA.query(':SPRocess2:CONVolve:FNAMe?')
    print('Imported s2p file:\n' + s)
    sys.stdout.flush() # Flush print message in stdout
    FlexDCA.write(':FUNCtion2:OPERand1 FUNCtion1')
    FlexDCA.write(':FUNCtion2:COLor TCOLor2') # Color for Function 1
    FlexDCA.write(':FUNCtion2:DISPlay ON') # Turn on Function 1
    handle_OPC_query(':SYSTem:AUToscale', 'Autoscale')

def run_acquisition_limit_test():
    """ Configures and runs acquisition limit test.

    Sixteen patterns are acquired. For pattern smoothing, patterns acquired
    equal patterns smoothed.
    """

    PatternCount = '16'
    FlexDCA.write(':ACQuire:SMOothing AVERage')
    FlexDCA.write(':LTESt:ACQuire:CTYPe:PATTerns ' + PatternCount)
    FlexDCA.write(':ACQuire:ECOunt ' + PatternCount)
    FlexDCA.write('ACQuire:SINGle')
    FlexDCA.write(':ACQuire:CDISplay') # Clear acquired data
    handle_OPC_query(':LTESt:ACQuire:STATe ON','Acquisition ready')
    FlexDCA.timeout = 60000 # 60 seconds
    print('Acquiring '+PatternCount+' patterns. Times out after 60s.\nPlease wait...')
    sys.stdout.flush() # Flush print message in stdout
    handle_OPC_query(':ACQuire:RUN', 'Acquisition started')
    FlexDCA.write(':LTESt:ACQuire:STATe OFF')
    FlexDCA.timeout = IOTIMEOUT

def find_bit_sequence():
    FlexDCA.write(':ACQuire:STOP')
    handle_OPC_query(':ACQuire:SINGle','Single acquisition')
    FlexDCA.write(':TIMebase:UNITs BIT')
    FlexDCA.write(':TIMebase:FIND:SIGNal CHAN5A')
    FlexDCA.write(':TIMebase:FIND:SEQuence "0101"')
    i = float(FlexDCA.query(':TIMebase:BPOSition?'))
    pattern_start = int(i)
    FlexDCA.write(':TIMebase:FIND:NEXT') # find first bit sequence
    i = float(FlexDCA.query(':TIMebase:BPOSition?'))
    bit_offset = int(i)
    bit = bit_offset - pattern_start
    if bit == 0:
        print('The bit sequence was not found.')

def create_measurement_regions():

    FlexDCA.write(':MEASure:REGions:STATe ON')
    FlexDCA.write(':MEASure:REGions:COUNt 2')
    FlexDCA.write(':MEASure:REGions:ALIGn')

def create_markers():

    # Marker 1
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:SOURce1 CHAN5A')
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:REGion REGion1')
    s = FlexDCA.query(':MEASure:OSCilloscope:TMAXimum?')
    FlexDCA.write(':MARKer:Y1A:STATe TRACk')
    FlexDCA.write(':MARKer:X1:POSition ' + s)

    # Marker 2
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:SOURce1 FUNCtion2')
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:REGion REGion1')
    s = FlexDCA.query(':MEASure:OSCilloscope:TMAXimum?')
    FlexDCA.write(':MARKer:Y2A:STATe TRACk')
    FlexDCA.write(':MARKer:X2:SOURce FUNCtion2')
    FlexDCA.write(':MARKer:X2:POSition ' + s)

    # Marker 3
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:SOURce1 CHAN5A')
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:REGion REGion2')
    s = FlexDCA.query(':MEASure:OSCilloscope:TMAXimum?')
    FlexDCA.write(':MARKer:Y3A:STATe TRACk')
    FlexDCA.write(':MARKer:X3:POSition ' + s)

    # Marker 4
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:SOURce1 FUNCtion2')
    FlexDCA.write(':MEASure:OSCilloscope:TMAXimum:REGion REGion2')
    s = FlexDCA.query(':MEASure:OSCilloscope:TMAXimum?')
    FlexDCA.write(':MARKer:Y4A:STATe TRACk')
    FlexDCA.write(':MARKer:X4:SOURce FUNCtion2')
    FlexDCA.write(':MARKer:X4:POSition ' + s)
    FlexDCA.write(':DISPlay:MARKER:DELTas ON')

def clean_display():

    FlexDCA.write(':MEASure:ANNotations:STATe OFF')
    FlexDCA.write(':MEASure:REGions:STATe OFF')

def get_marker_values(marker):
    s = str(marker)
    x= FlexDCA.query(':MARKer:X' + s + ':POSition?')
    y = FlexDCA.query(':MEASure:MARKer:Y' + s + 'A?')
    return (eng_notation(x, '1.000'), eng_notation(y, '1.000'))

def get_marker_deltas(marker):
    s = str(marker - 1)
    handle_OPC_query(':ACQuire:SINGle;*OPC?','Single acquisition')
    x = FlexDCA.query(':MEASure:MARKer:DX' + str(marker) + '?')
    y = FlexDCA.query(':MEASure:MARKer:DY' + str(marker) + 'A?')
    return (eng_notation(x, '1.000'), eng_notation(y, '1.000'))

def build_table_rows(name,values):
    x = values[0] + 's'
    x = x.ljust(12,' ')
    y = values[1] + 'V'
    return name.rjust(18,' ') + '  ' + x + y

def show_results():

    print('-' * 40)
    print('\nResults For "0101" Bit Sequence')
    print('-' * 40)
    print('For first high bit:')
    print('                    Time        Amplitude')
    s = build_table_rows('input waveform:', get_marker_values(1))
    print(s)
    s = build_table_rows('output waveform:', get_marker_values(2))
    print(s)
    s = build_table_rows('delta:', get_marker_deltas(2))
    print(s)

    print('\nFor second high bit:')
    s = build_table_rows('input waveform:', get_marker_values(3))
    print(s)
    s = build_table_rows('output waveform:', get_marker_values(4))
    print(s)

    s = build_table_rows('delta:', get_marker_deltas(4))
    print(s)
    print('\n\n')

def eng_notation(numstring, resolution):
    """
    Converts scientific notation to engineering notation.

    First argument is a number string for conversion.
    Second argument is a string that indicates number of decimal places in
    answer. Unit multiplier is appended to in final return string.
    """
    dc.getcontext().prec = 10 # prevent limiting of decimal places
    multiplier={12:'T',9:'G',6:'M',3:'k',0:'',-3:'m',-6:'u',-9:'n',-12:'p',-15:'f'}
    numberReal = dc.Decimal(numstring)
    if abs(numberReal) >= 1: # absolute value is not between 0 and 1 (fraction)
        exponentMult = 0
        while int(numberReal) != 0:
            numberReal = numberReal / 1000
            exponentMult += 1
        numberReal *= 1000
        exponentMult -= 1
    elif (abs(numberReal) > 0) and (abs(numberReal) < 1): # fraction
        exponentMult = 0
        while int(numberReal) == 0:
            numberReal = numberReal * 1000
            exponentMult += 1
        exponentMult *= -1
    elif numberReal == 0: # number must be zero
        exponentMult = 0
    exponentMult *= 3
    if exponentMult == -15:
        n = numberReal.quantize(dc.Decimal('1'))
    else:
        n = numberReal.quantize(dc.Decimal(resolution))
    return str(n) + ' ' + multiplier[exponentMult]

def handle_OPC_query(command,feature):
    """ Pauses script to wait for FlexDCA command execution to complete.
    Exception can occur if i/o timeout time is set too short.
    """
    global FlexDCA
    try:
        FlexDCA.query(command + ';*OPC?')
        if error_messages(): # check for error messages from FlexDCA
            print(feature + ' unsuccessful.')
            sys.stdout.flush() # Flush print message in stdout
            return False
        elif feature:
            print(feature + ' successful.')
            sys.stdout.flush() # Flush print message in stdout
            return True
        else:
            return True
    except:
        print('ERROR occured during ' + feature)
        sys.stdout.flush() # Flush print message in stdout
        return False

def error_messages():
    """ Check FlexDCA's message buffer and print all existing errors. """
    global FlexDCA
    global ErrorList
    error_cnt = int(FlexDCA.query(':SYSTem:ERRor:COUNt?'))
    if error_cnt == 0: # no error message
        return False
    else:
        for i in range(0,error_cnt):
            error = FlexDCA.query(':SYSTem:ERRor:NEXT?')
            ErrorList.append(error)
        return True

def print_error_messages():
    """ Prints all error strings contained in ErrorList. """
    global ErrorList
    if len(ErrorList) == 0:
        print('No FlexDCA errors reported.')
        sys.stdout.flush() # Flush print message in stdout
    else:
        total = str(len(ErrorList))
        print('\n  ' + total + ' FlexDCA error messages reported:')
        sys.stdout.flush() # Flush print message in stdout
        for error in ErrorList:
            print('ERROR: ' + error)
        ErrorList = []

"""________________________________________
   Main script
"""

rm = visa.ResourceManager()
FlexDCA = rm.open_resource(FLEXDCA_ADDRESS)
FlexDCA.timeout = IOTIMEOUT
FlexDCA.read_termination = '\n' # Set termination characters
s = FlexDCA.query('*CLS;*IDN?')
print('\nLAN Connection established to FlexDCA:\n')
sys.stdout.flush() # Flush print message in stdout
if introductory_text():
    default_setup()
    create_math_operators(SPARAMETER_FILE)
    run_acquisition_limit_test()
    find_bit_sequence()
    create_measurement_regions()
    create_markers()
    clean_display()
    show_results()
    error_messages()
    print_error_messages()
    print('Program Finished.')
FlexDCA.write(':SYSTem:GTLocal') # Close Visa Connection
FlexDCA.close()